From 821397b01a004f8560c987ef83146614a9356ecb Mon Sep 17 00:00:00 2001
From: wankeda <Administrator@DESKTOP-HAU3ST3>
Date: 星期六, 03 一月 2026 17:18:36 +0800
Subject: [PATCH] 1
---
WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_FL.cs | 241 ++
吉安PDA/pages/stash/FLraworderboxing.vue | 609 ++++++
WMS/WIDESEA_WMSServer/.vs/ProjectEvaluation/widesea_wmsserver.strings.v9.bin | 0
WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/NewOutboundOrderController.cs | 21
WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutStockLockInfoService.cs | 6
WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2 | 0
吉安PDA/pages/stash/FLinboundorder.vue | 216 ++
WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5b36fd38-46f6-4e8b-a9e4-f642a8363e78.vsidx | 0
WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/a3962f8b-f362-4486-8c2d-b964b5889a5a.vsidx | 0
WMS/WIDESEA_WMSClient/src/views/outbound/newoutboundOrder.vue | 374 +++
WMS/WIDESEA_WMSServer/WIDESEA_Common/InventoryAllocate.cs | 4
WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs | 10
WMS/WIDESEA_WMSClient/src/views/outbound/newoutboundOrderDetail.vue | 195 ++
WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs | 161 +
WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutStockLockInfoService.cs | 2
WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs | 6
WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/0ef058ae-c319-46a4-8f85-8d624cb5a8ab.vsidx | 0
WMS/WIDESEA_WMSClient/src/router/viewGird.js | 8
WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json | 472 ++++
WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs | 5
WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/DesignTimeBuild/.dtbcache.v2 | 0
吉安PDA/pages/stash/YSinboundorder.vue | 216 ++
WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_CP.cs | 8
WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs | 479 +++-
WMS/WIDESEA_WMSClient/src/extension/outbound/newoutboundOrderDetail.js | 89
WMS/WIDESEA_WMSClient/src/extension/outbound/newoutboundOrder.js | 81
WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs | 468 ++++
WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs | 4
WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5a2dba86-478b-4ce5-8597-3dae38896b09.vsidx | 0
WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_NewOutboundOrder.cs | 4
WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_YS.cs | 241 ++
/dev/null | 0
WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/NewOutboundOrderDetailController.cs | 20
WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json | 498 ++++
WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs | 2
吉安PDA/pages/stash/YSraworderboxing.vue | 609 ++++++
WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/NewPartialTaskService_Outbound.cs | 9
吉安PDA/pages.json | 28
WMS/WIDESEA_WMSClient/src/extension/outbound/extend/newoutOrderDetail.vue | 558 +++++
WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo | 0
WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs | 6
41 files changed, 5,354 insertions(+), 296 deletions(-)
diff --git a/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/newoutOrderDetail.vue b/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/newoutOrderDetail.vue
new file mode 100644
index 0000000..5cf7588
--- /dev/null
+++ b/WMS/WIDESEA_WMSClient/src/extension/outbound/extend/newoutOrderDetail.vue
@@ -0,0 +1,558 @@
+<template>
+ <div>
+ <vol-box
+ v-model="showDetialBox"
+ :lazy="true"
+ width="75%"
+ :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: left; height: 20px;"
+ @click="cancelOutFeedbackERP"
+ >鍑哄簱鏄庣粏鍙栨秷鎺ㄩ�丒RP</el-link
+ >
+ <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="box-table" style="margin-top: 1%">
+ <el-table
+ ref="singleTable"
+ :data="tableData"
+ :summary-method="getSummaries"
+ show-summary
+ style="width: 100%; height: 100%"
+ 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>
+
+ <!-- 鏅�氭枃鏈垪 - 甯︽孩鍑洪殣钘忓拰Tooltip -->
+ <div v-else>
+ <el-tooltip
+ class="item"
+ effect="dark"
+ :content="formatCellContent(scoped.row[item.prop])"
+ placement="top"
+ :disabled="!shouldShowTooltip(scoped.row[item.prop], item)"
+ >
+ <span
+ class="ellipsis-cell"
+ :style="{ width: calculateCellWidth(item) }"
+ >
+ {{ formatCellContent(scoped.row[item.prop]) }}
+ </span>
+ </el-tooltip>
+ </div>
+ </template>
+ </el-table-column>
+ </el-table>
+ </div>
+ </vol-box>
+ <stock-select ref="child" @parentCall="parentCall"></stock-select>
+ <selected-stock
+ ref="selectedStock"
+ @parentCall="parentCall"
+ ></selected-stock>
+ </div>
+</template>
+<script>
+import VolBox from "@/components/basic/VolBox.vue";
+import VolForm from "@/components/basic/VolForm.vue";
+import StockSelect from "./StockSelect.vue";
+import SelectedStock from "./SelectedStock.vue";
+export default {
+ components: { VolBox, VolForm, StockSelect, SelectedStock },
+ data() {
+ return {
+ row: null,
+ showDetialBox: false,
+ flag: false,
+ 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: "viewDetail",
+ title: "鍑哄簱璇︾粏",
+ type: "icon",
+ width: 90,
+ icon: "el-icon-s-operation",
+ },
+ {
+ prop: "materielCode",
+ title: "鐗╂枡缂栧彿",
+ type: "string",
+ width: 150,
+ },
+ {
+ prop: "batchNo",
+ title: "鎵规鍙�",
+ type: "string",
+ width: 180,
+ },
+ {
+ prop: "supplierBatch",
+ title: "渚涘簲鍟嗘壒娆″彿",
+ type: "string",
+ width: 180,
+ },
+ {
+ prop: "orderQuantity",
+ title: "鍗曟嵁鏁伴噺",
+ type: "string",
+ width: 90,
+ },
+ {
+ prop: "overOutQuantity",
+ title: "宸插嚭鏁伴噺",
+ type: "string",
+ width: 90,
+ },
+ {
+ prop: "remark",
+ title: "澶囨敞",
+ type: "string",
+ width: 180,
+ },
+ {
+ prop: "orderDetailStatus",
+ title: "璁㈠崟鏄庣粏鐘舵��",
+ type: "tag",
+ width: 180,
+ bindKey: "orderDetailStatusEnum",
+ },
+ {
+ prop: "materielName",
+ title: "鐗╂枡鍚嶇О",
+ type: "string",
+ width: 150,
+ },
+ {
+ prop: "locationName",
+ title: "鍑哄簱璐т綅",
+ type: "string",
+ width: 200,
+ },
+ {
+ 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: "lockQuantity",
+ title: "閿佸畾鏁伴噺",
+ type: "int",
+ width: 90,
+ },
+ ],
+ paginations: {
+ sort: "id",
+ order: "desc",
+ Foots: "",
+ total: 0,
+ sizes: [60, 100, 120],
+ size: 60,
+ Wheres: [],
+ page: 1,
+ rows: 60,
+ },
+ 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();
+ },
+ getSummaries(param) {
+ const { columns, data } = param
+ const sums = []
+
+ columns.forEach((column, index) => {
+ if (index === 0) {
+ sums[index] = '鍚堣'
+ return
+ }
+
+ // 浠呭鎸囧畾鏁板�煎垪姹傚拰骞朵繚鐣欎袱浣嶅皬鏁�
+ if (['lockQuantity', 'overOutQuantity', 'orderQuantity'].includes(column.property)) {
+ const values = data.map(item => Number(item[column.property]))
+
+ if (!values.every(value => isNaN(value))) {
+ // 璁$畻鎬诲拰
+ const total = values.reduce((prev, curr) => {
+ return prev + (isNaN(curr) ? 0 : curr)
+ }, 0)
+
+ // 淇濈暀涓や綅灏忔暟
+ sums[index] = total.toFixed(2)
+ } else {
+ sums[index] = '-'
+ }
+ } else {
+ sums[index] = ''
+ }
+ })
+
+ return sums
+ },
+ getData() {
+ var wheres = [{ name: "orderId", value: this.row.id }];
+ var param = {
+ page: this.paginations.page,
+ rows: this.paginations.rows,
+ sort: this.paginations.sort,
+ order: this.paginations.order,
+ wheres: JSON.stringify(wheres),
+ };
+ this.http
+ .post("api/NewOutboundOrderDetail/GetPageData", param, "鏌ヨ涓�")
+ .then((x) => {
+ this.tableData = x.rows;
+ });
+ },
+ tableButtonClick(row, column) {
+ if (column.prop == "assignStock") {
+ this.$refs.child.open(row);
+ } else {
+ this.$refs.selectedStock.open(row);
+ }
+ },
+ lockstocks() {
+ if (this.selection.length === 0) {
+ return this.$message.error("璇烽�夋嫨鍗曟嵁鏄庣粏");
+ }
+ var keys = this.selection.map((item) => item.id);
+ this.http
+ .post("api/NewOutboundOrderDetail/LockOutboundStocks", keys, "鏁版嵁澶勭悊涓�")
+ .then((x) => {
+ if (!x.status) return this.$message.error(x.message);
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.showDetialBox = false;
+ this.$emit("parentCall", ($vue) => {
+ $vue.getData();
+ });
+ });
+ },
+ outbound() {
+ if (this.selection.length === 0) {
+ return this.$message.error("璇烽�夋嫨鍗曟嵁鏄庣粏");
+ }
+ var keys = this.selection.map((item) => item.id);
+ this.http
+ .post("api/Task/WMSGenerateNewOutboundTask", keys, "鏁版嵁澶勭悊涓�")
+ .then((x) => {
+ if (!x.status) return this.$message.error(x.message);
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.showDetialBox = false;
+ this.$emit("parentCall", ($vue) => {
+ $vue.getData();
+ });
+ });
+ },
+
+ cancelOutFeedbackERP() {
+ if (this.selection.length === 0) {
+ return this.$message.error("璇烽�夋嫨鍗曟嵁鏄庣粏");
+ }
+ var keys = this.selection.map((item) => item.id);
+ this.$confirm("鏄惁鍙栨秷璇ュ嚭搴撳崟鏄庣粏","鍗曟嵁鍙栨秷璀﹀憡",{
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ center: true,
+ }).then(() => {
+ this.http
+ .post("api/OutboundOrderDetail/CancelOutFeedbackERP", keys, "鏁版嵁澶勭悊涓�")
+ .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 &&
+ row.orderDetailStatus !== 80
+ ) {
+ 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];
+ }
+ }
+ },
+ // 鏍煎紡鍖栧崟鍏冩牸鍐呭锛屽鐞唍ull/undefined
+ formatCellContent(content) {
+ if (content === null || content === undefined) {
+ return "鏃犳暟鎹�";
+ }
+ // 瀵规棩鏈熺被鍨嬭繘琛岀壒娈婂鐞嗭紙濡傛灉闇�瑕侊級
+ return content.toString();
+ },
+ // 璁$畻鍗曞厓鏍煎搴︼紝棰勭暀杈硅窛
+ calculateCellWidth(column) {
+ // 濡傛灉鍒楀畾涔変簡瀹藉害锛屽噺鍘�20px浣滀负鍐呰竟璺�
+ if (column.width) {
+ return `${column.width - 20}px`;
+ }
+ // 鏈畾涔夊搴﹀垯浣跨敤100%
+ return "100%";
+ },
+ // 鍒ゆ柇鏄惁闇�瑕佹樉绀篢ooltip
+ shouldShowTooltip(content, column) {
+ // 鏍囪涓轰笉闇�瑕佹孩鍑哄鐞嗙殑鍒椾笉鏄剧ずTooltip
+ if (column.noEllipsis) {
+ return false;
+ }
+
+ // 绌哄唴瀹逛笉鏄剧ずTooltip
+ const cellContent = this.formatCellContent(content);
+ if (cellContent === "鏃犳暟鎹�") {
+ return false;
+ }
+
+ // 鍐呭杈冪煭鏃朵篃涓嶆樉绀篢ooltip锛堟牴鎹疄闄呴渶姹傝皟鏁撮暱搴﹂槇鍊硷級
+ return cellContent.length > 8;
+ }
+ },
+};
+</script>
+<style scoped>
+.text-button {
+ border: 0px;
+}
+
+/* 鏂囨湰婧㈠嚭闅愯棌鏍峰紡 */
+.ellipsis-cell {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ position: relative;
+ z-index: 1;
+ display: inline-block;
+ max-width: 100%;
+}
+</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;
+}
+
+.box-table .el-table tbody tr.current-row > td {
+ background-color: #f0f9eb !important;
+}
+
+.el-table .success-row {
+ background: #f0f9eb;
+}
+
+.box-table .el-table {
+ border: 1px solid #ebeef5;
+}
+
+/* 鍚堣琛屾枃鏈孩鍑哄鐞� */
+.el-table__footer-wrapper .el-table__cell {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ position: relative;
+ z-index: 1;
+}
+</style>
diff --git a/WMS/WIDESEA_WMSClient/src/extension/outbound/newoutboundOrder.js b/WMS/WIDESEA_WMSClient/src/extension/outbound/newoutboundOrder.js
new file mode 100644
index 0000000..58748eb
--- /dev/null
+++ b/WMS/WIDESEA_WMSClient/src/extension/outbound/newoutboundOrder.js
@@ -0,0 +1,81 @@
+
+//姝s鏂囦欢鏄敤鏉ヨ嚜瀹氫箟鎵╁睍涓氬姟浠g爜锛屽彲浠ユ墿灞曚竴浜涜嚜瀹氫箟椤甸潰鎴栬�呴噸鏂伴厤缃敓鎴愮殑浠g爜
+import gridBody from './extend/newoutOrderDetail.vue'
+import gridHeader from './extend/AddOutboundOrder.vue'
+let extension = {
+ components: {
+ //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+ gridHeader: gridHeader,
+ gridBody: gridBody,
+ gridFooter: '',
+ //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+ modelHeader: '',
+ modelBody: '',
+ modelFooter: ''
+ },
+ tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+ buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+ methods: {
+ //涓嬮潰杩欎簺鏂规硶鍙互淇濈暀涔熷彲浠ュ垹闄�
+ onInit() {
+ let addBtn = this.buttons.find(x => x.value == 'Add');
+ if (addBtn) {
+ addBtn.onClick = function () {
+ this.$refs.gridHeader.open();
+ }
+ };
+ //鎵╁睍椤甸潰鍒濆鍖栨搷浣�
+ this.columns.push({
+ field: '鎿嶄綔',
+ title: '鎿嶄綔',
+ width: 90,
+ fixed: 'right',
+ align: 'center',
+ formatter: (row) => {
+ return (
+ '<i style="cursor: pointer;color: #2d8cf0;"class="el-icon-view">鏌ョ湅鏄庣粏</i>'
+ );
+ },
+ click: (row) => {
+ this.$refs.gridBody.open(row);
+ }
+ });
+ },
+ onInited() {
+ //妗嗘灦鍒濆鍖栭厤缃悗
+ //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+ //this.detailOptions.columns.forEach(column=>{ });
+ },
+ searchBefore(param) {
+ //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+ //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+ return true;
+ },
+ searchAfter(result) {
+ //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
+ return true;
+ },
+ addBefore(formData) {
+ //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+ return true;
+ },
+ updateBefore(formData) {
+ //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+ return true;
+ },
+ rowClick({ row, column, event }) {
+ //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+ this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+ },
+ modelOpenAfter(row) {
+ //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+ //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+ //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+ //(3)this.editFormFields.瀛楁='xxx';
+ //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+ //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+ }
+ }
+ };
+ export default extension;
+
\ No newline at end of file
diff --git a/WMS/WIDESEA_WMSClient/src/extension/outbound/newoutboundOrderDetail.js b/WMS/WIDESEA_WMSClient/src/extension/outbound/newoutboundOrderDetail.js
new file mode 100644
index 0000000..7319ffd
--- /dev/null
+++ b/WMS/WIDESEA_WMSClient/src/extension/outbound/newoutboundOrderDetail.js
@@ -0,0 +1,89 @@
+let extension = {
+ components: {
+ //鏌ヨ鐣岄潰鎵╁睍缁勪欢
+ gridHeader: '',
+ gridBody: '',
+ gridFooter: '',
+ //鏂板缓銆佺紪杈戝脊鍑烘鎵╁睍缁勪欢
+ modelHeader: '',
+ modelBody: '',
+ modelFooter: ''
+ },
+ tableAction: '', //鎸囧畾鏌愬紶琛ㄧ殑鏉冮檺(杩欓噷濉啓琛ㄥ悕,榛樿涓嶇敤濉啓)
+ buttons: { view: [], box: [], detail: [] }, //鎵╁睍鐨勬寜閽�
+ methods: {
+ onInit() {
+ this.columns.push({
+ field: '鎿嶄綔',
+ title: '鎿嶄綔',
+ width: 90,
+ fixed: 'right',
+ align: 'center',
+ formatter: (row) => {
+ return (
+ '<i style="cursor: pointer;color: #2d8cf0;"class="el-icon-view">鐩存帴鍑哄簱</i>'
+ );
+ },
+ click: (row) => {
+ this.$confirm("鏄惁纭鍑哄簱","鍑哄簱鎿嶄綔纭",{
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ center: true,
+ }).then(() => {
+ let rows = this.$refs.table.getSelected();
+ if (rows.length == 0) return this.$error("璇烽�夋嫨鏁版嵁!");
+ if (rows.length > 1) return this.$error("璇烽�夋嫨涓�鏉℃暟鎹�!");
+ const keys = rows.map(row => row.id);
+ // 鍙戦�丳OST璇锋眰锛屽皢ID鏁扮粍浣滀负璇锋眰浣撳彂閫�
+ this.http
+ .post("api/Task/WMSGenerateNewOutboundTask", keys, "鏁版嵁澶勭悊涓�...")
+ .then((x) => {
+ if (x.status) {
+ this.$Message.success('鎿嶄綔鎴愬姛');
+ this.refresh();
+ } else {
+ return this.$error(x.message);
+ }
+ });
+ });
+ }
+ });
+ },
+ onInited() {
+ //妗嗘灦鍒濆鍖栭厤缃悗
+ //濡傛灉瑕侀厤缃槑缁嗚〃,鍦ㄦ鏂规硶鎿嶄綔
+ //this.detailOptions.columns.forEach(column=>{ });
+ },
+ searchBefore(param) {
+ //鐣岄潰鏌ヨ鍓�,鍙互缁檖aram.wheres娣诲姞鏌ヨ鍙傛暟
+ //杩斿洖false锛屽垯涓嶄細鎵ц鏌ヨ
+ return true;
+ },
+ searchAfter(result) {
+ //鏌ヨ鍚庯紝result杩斿洖鐨勬煡璇㈡暟鎹�,鍙互鍦ㄦ樉绀哄埌琛ㄦ牸鍓嶅鐞嗚〃鏍肩殑鍊�
+ return true;
+ },
+ addBefore(formData) {
+ //鏂板缓淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛紝鍙互缁欑粰琛ㄥ崟璁剧疆鍊硷紝鑷繁杈撳嚭鐪媐ormData鐨勫��
+ return true;
+ },
+ updateBefore(formData) {
+ //缂栬緫淇濆瓨鍓峟ormData涓哄璞★紝鍖呮嫭鏄庣粏琛ㄣ�佸垹闄よ鐨処d
+ return true;
+ },
+ rowClick({ row, column, event }) {
+ //鏌ヨ鐣岄潰鐐瑰嚮琛屼簨浠�
+ this.$refs.table.$refs.table.toggleRowSelection(row); //鍗曞嚮琛屾椂閫変腑褰撳墠琛�;
+ },
+ modelOpenAfter(row) {
+ //鐐瑰嚮缂栬緫銆佹柊寤烘寜閽脊鍑烘鍚庯紝鍙互鍦ㄦ澶勫啓閫昏緫锛屽锛屼粠鍚庡彴鑾峰彇鏁版嵁
+ //(1)鍒ゆ柇鏄紪杈戣繕鏄柊寤烘搷浣滐細 this.currentAction=='Add';
+ //(2)缁欏脊鍑烘璁剧疆榛樿鍊�
+ //(3)this.editFormFields.瀛楁='xxx';
+ //濡傛灉闇�瑕佺粰涓嬫媺妗嗚缃粯璁ゅ�硷紝璇烽亶鍘唗his.editFormOptions鎵惧埌瀛楁閰嶇疆瀵瑰簲data灞炴�х殑key鍊�
+ //鐪嬩笉鎳傚氨鎶婅緭鍑虹湅锛歝onsole.log(this.editFormOptions)
+ }
+ }
+ };
+ export default extension;
diff --git a/WMS/WIDESEA_WMSClient/src/router/viewGird.js b/WMS/WIDESEA_WMSClient/src/router/viewGird.js
index 0d66c41..050984f 100644
--- a/WMS/WIDESEA_WMSClient/src/router/viewGird.js
+++ b/WMS/WIDESEA_WMSClient/src/router/viewGird.js
@@ -80,6 +80,14 @@
name: 'outboundOrderDetail',
component: () => import('@/views/outbound/outboundOrderDetail.vue')
}, {
+ path: '/newoutboundOrder',
+ name: 'newoutboundOrder',
+ component: () => import('@/views/outbound/newoutboundOrder.vue')
+ }, {
+ path: '/newoutboundOrderDetail',
+ name: 'newoutboundOrderDetail',
+ component: () => import('@/views/outbound/newoutboundOrderDetail.vue')
+ }, {
path: '/stockInfo',
name: 'stockInfo',
component: () => import('@/views/stock/stockInfo.vue')
diff --git a/WMS/WIDESEA_WMSClient/src/views/outbound/newoutboundOrder.vue b/WMS/WIDESEA_WMSClient/src/views/outbound/newoutboundOrder.vue
new file mode 100644
index 0000000..278f385
--- /dev/null
+++ b/WMS/WIDESEA_WMSClient/src/views/outbound/newoutboundOrder.vue
@@ -0,0 +1,374 @@
+
+<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/outbound/newoutboundOrder.js";
+import { ref, defineComponent } from "vue";
+export default defineComponent({
+ setup() {
+ const table = ref({
+ key: "id",
+ footer: "Foots",
+ cnName: "鍑哄簱鍗�",
+ name: "newoutboundOrder",
+ url: "/newoutboundOrder/",
+ sortName: "id",
+ });
+ const editFormFields = ref({
+ orderType: "",
+ orderNo:"",
+ upperOrderNo: "",
+ orderStatus: "",
+ remark: "",
+ });
+ const editFormOptions = ref([
+ [
+ {
+ title: "鍗曟嵁绫诲瀷",
+ required: true,
+ field: "orderType",
+ type: "select",
+ dataKey: "inOrderType",
+ data: [],
+ },
+ {
+ field: "orderNo",
+ title: "鍗曟嵁缂栧彿",
+ type: "string",
+ },
+ {
+ field: "outWareHouse",
+ title: "浠撳簱缂栫爜",
+ type: "string",
+ },
+ {
+ title: "涓婃父鍗曟嵁缂栧彿",
+ field: "upperOrderNo",
+ type: "string",
+ },
+ {
+ title: "鍗曟嵁鐘舵��",
+ field: "orderStatus",
+ type: "select",
+ dataKey: "inboundState",
+ data: [],
+ readonly: true,
+ },
+ {
+ title: "澶囨敞",
+ field: "remark",
+ type: "textarea",
+ },
+ ],
+ ]);
+ const searchFormFields = ref({
+ orderNo: "",
+ upperOrderNo: "",
+ orderType: "",
+ orderStatus: "",
+ createType: "",
+ creater: "",
+ createDate: "",
+ });
+ const searchFormOptions = ref([
+ [
+ { title: "鍗曟嵁缂栧彿", field: "orderNo", type: "like" },
+ { title: "涓婃父鍗曟嵁缂栧彿", field: "upperOrderNo", type: "like" },
+ {
+ title: "鍗曟嵁澶х被",
+ field: "orderType",
+ type: "select",
+ dataKey: "inOrderType",
+ data: [],
+ },
+ {
+ title: "鍗曟嵁鐘舵��",
+ field: "orderStatus",
+ type: "select",
+ dataKey: "inboundState",
+ data: [],
+ },
+ ],
+ [
+ {
+ field: "outWareHouse",
+ title: "鍑哄簱浠撳簱",
+ type: "select",
+ width: 120,
+ align: "left",
+ datakey:"",data:[{key:"SC01_BC", value:"鏉挎潗浠�"},{key:"SC02_BC", value:"鏉挎潗浠�(2)"}]
+ },
+ {
+ title: "鍒涘缓鏂瑰紡",
+ field: "createType",
+ type: "select",
+ dataKey: "createType",
+ data: [],
+ },
+ { title: "鍒涘缓鑰�", field: "creater", type: "like" },
+ { title: "鍒涘缓鏃堕棿", field: "createDate", type: "datatime" },
+ ],
+ ]);
+ const columns = ref([
+ {
+ field: "id",
+ title: "Id",
+ type: "int",
+ width: 90,
+ hidden: true,
+ readonly: true,
+ require: true,
+ align: "left",
+ },
+ {
+ field: "id",
+ title: "涓婚敭",
+ type: "int",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "outWareHouse",
+ title: "浠撳簱",
+ type: "string",
+ width: 120,
+ align: "left",
+ bind:{key:"",data:[{key:"SC01_BC", value:"鏉挎潗浠�"},{key:"SC02_BC", value:"鏉挎潗浠�(2)"}]}
+ },
+ {
+ field: "orderNo",
+ title: "鍗曟嵁缂栧彿",
+ type: "string",
+ width: 170,
+ align: "left",
+ link: true,
+ },
+ {
+ field: "upperOrderNo",
+ title: "涓婃父鍗曟嵁缂栧彿",
+ type: "string",
+ width: 150,
+ align: "left",
+ },
+ {
+ field: "orderType",
+ title: "鍗曟嵁澶х被",
+ type: "string",
+ width: 150,
+ align: "left",
+ bind: { key: "inOrderType", data: [] },
+ },
+ {
+ field: "inoutType",
+ title: "鍑哄叆搴撶被鍨�",
+ type: "string",
+ width: 90,
+ align: "left",
+ bind: { key: "inoutTypeEnum", data: [] },
+ },
+ {
+ field: "orderStatus",
+ title: "鍗曟嵁鐘舵��",
+ type: "decimal",
+ width: 90,
+ align: "left",
+ bind: { key: "outboundStatusEnum", data: [] },
+ },
+ {
+ field: "createType",
+ title: "鍒涘缓鏂瑰紡",
+ type: "string",
+ width: 90,
+ align: "left",
+ bind: { key: "createType", 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",
+ },
+ {
+ field: "modifyDate",
+ title: "淇敼鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ },
+ {
+ field: "remark",
+ title: "澶囨敞",
+ type: "string",
+ width: 100,
+ align: "left",
+ },
+ ]);
+ const detail = ref({
+ cnName: "鍑哄簱鏄庣粏鍗�",
+ table: "OnboundOrderDetail",
+ 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" },
+ required: true,
+ },
+ {
+ field: "materielName",
+ title: "鐗╂枡鍚嶇О",
+ type: "string",
+ width: 150,
+ align: "left",
+ edit: { type: "string" },
+ required: true,
+ },
+ {
+ field: "batchNo",
+ title: "鎵规鍙�",
+ type: "decimal",
+ width: 150,
+ align: "left",
+ edit: { type: "string" },
+ required: true,
+ },
+ {
+ field: "supplierBatch",
+ title: "渚涘簲鍟嗘壒娆″彿",
+ type: "decimal",
+ width: 180,
+ align: "left",
+ edit: { type: "string" },
+ required: true,
+ },
+ {
+ field: "orderQuantity",
+ title: "鍗曟嵁鏁伴噺",
+ type: "string",
+ width: 90,
+ align: "left",
+ edit: { type: "number" },
+ required: true,
+ },
+ {
+ field: "lockQuantity",
+ title: "閿佸畾鏁伴噺",
+ type: "int",
+ width: 120,
+ align: "left",
+ },
+ {
+ field: "overOutQuantity",
+ title: "宸插嚭鏁伴噺",
+ type: "string",
+ width: 200,
+ align: "left",
+ },
+ {
+ field: "orderDetailStatus",
+ title: "璁㈠崟鏄庣粏鐘舵��",
+ type: "string",
+ width: 180,
+ align: "left",
+ bind: { key: "orderDetailStatusEnum", 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",
+ },
+ {
+ field: "modifyDate",
+ title: "淇敼鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ },
+ {
+ field: "remark",
+ title: "澶囨敞",
+ type: "string",
+ width: 100,
+ align: "left",
+ },
+ ],
+ sortName: "id",
+ key: "id",
+ });
+ return {
+ table,
+ extend,
+ editFormFields,
+ editFormOptions,
+ searchFormFields,
+ searchFormOptions,
+ columns,
+ detail,
+ };
+ },
+});
+</script>
+
\ No newline at end of file
diff --git a/WMS/WIDESEA_WMSClient/src/views/outbound/newoutboundOrderDetail.vue b/WMS/WIDESEA_WMSClient/src/views/outbound/newoutboundOrderDetail.vue
new file mode 100644
index 0000000..c4492fd
--- /dev/null
+++ b/WMS/WIDESEA_WMSClient/src/views/outbound/newoutboundOrderDetail.vue
@@ -0,0 +1,195 @@
+
+<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/outbound/newoutboundOrderDetail.js";
+ import { ref, defineComponent } from "vue";
+ export default defineComponent({
+ setup() {
+ const table = ref({
+ key: "id",
+ footer: "Foots",
+ cnName: "鍑哄簱鍗曟槑缁�",
+ name: "newoutboundOrderDetail",
+ url: "/newoutboundOrderDetail/",
+ sortName: "id",
+ });
+ const editFormFields = ref({
+ deviceCode: "",
+ deviceName: "",
+ deviceType: "",
+ deviceStatus: "",
+ deviceIp: "",
+ devicePort: "",
+ devicePlcType: "",
+ deviceRemark: "",
+ });
+ const editFormOptions = ref([
+ [
+
+ ],
+ ]);
+ const searchFormFields = ref({
+ deviceCode: "",
+ deviceType: "",
+ deviceStatus: "",
+ });
+ const searchFormOptions = ref([
+ [
+ { title: "鐗╂枡缂栧彿", field: "materielCode", type: "like" },
+ { title: "鐗╂枡鍚嶇О", field: "materielName", type: "like" },
+ { title: "鍑哄簱鍗曚富閿�", field: "orderId", type: "int" },
+ { title: "鎵规鍙�", field: "batchNo", type: "like" },
+ ],
+ [
+ {
+ field: "orderDetailStatus",title: "璁㈠崟鏄庣粏鐘舵��",type: "select",dataKey:"orderDetailStatusEnum", data: []
+ },
+ { title: "鍒涘缓鑰�", field: "creater", type: "like" },
+ { title: "鍒涘缓鏃堕棿", field: "createDate", type: "datetime" },
+ ],
+ ]);
+ const columns = ref([
+ {
+ field: "id",
+ title: "Id",
+ type: "int",
+ width: 90,
+ hidden: true,
+ readonly: true,
+ align: "left",
+ },
+ {
+ field: "orderId",
+ title: "鍑哄簱鍗曚富閿�",
+ type: "string",
+ width: 90,
+ align: "left",
+ },
+ {
+ field: "materielCode",
+ title: "鐗╂枡缂栧彿",
+ type: "string",
+ width: 150,
+ align: "left",
+ },
+
+
+ {
+ field: "batchNo",
+ title: "鎵规鍙�",
+ type: "decimal",
+ width: 150,
+ align: "left",
+ },
+ {
+ field: "orderQuantity",
+ title: "鍗曟嵁鏁伴噺",
+ type: "string",
+ width: 90,
+ align: "left",
+ },
+
+ {
+ field: "overOutQuantity",
+ title: "宸插嚭鏁伴噺",
+ type: "string",
+ width: 80,
+ align: "left",
+ },
+ {
+ field: "orderDetailStatus",
+ title: "璁㈠崟鏄庣粏鐘舵��",
+ type: "string",
+ width: 90,
+ bind: { key: "orderDetailStatusEnum", data: [] },
+ },
+ {
+ field: "locationName",
+ title: "鎸囧畾鍑哄簱璐т綅",
+ type: "string",
+ width: 200,
+ },
+ {
+ field: "remark",
+ title: "澶囨敞",
+ type: "string",
+ width: 150,
+ align: "left",
+ color:"red"
+ },
+ {
+ 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",
+ },
+ {
+ field: "modifyDate",
+ title: "淇敼鏃堕棿",
+ type: "datetime",
+ width: 160,
+ align: "left",
+ },
+ {
+ field: "materielName",
+ title: "鐗╂枡鍚嶇О",
+ type: "string",
+ width: 150,
+ align: "left",
+ },
+ {
+ field: "lockQuantity",
+ title: "閿佸畾鏁伴噺",
+ type: "int",
+ width: 120,
+ align: "left",
+ },
+
+ ]);
+ const detail = ref({
+ cnName: "#detailCnName",
+ table: "",
+ columns: [],
+ sortName: "",
+ });
+ return {
+ table,
+ extend,
+ editFormFields,
+ editFormOptions,
+ searchFormFields,
+ searchFormOptions,
+ columns,
+ detail,
+ };
+ },
+ });
+ </script>
diff --git a/WMS/WIDESEA_WMSServer/.vs/ProjectEvaluation/widesea_wmsserver.strings.v9.bin b/WMS/WIDESEA_WMSServer/.vs/ProjectEvaluation/widesea_wmsserver.strings.v9.bin
index baee015..2971258 100644
--- a/WMS/WIDESEA_WMSServer/.vs/ProjectEvaluation/widesea_wmsserver.strings.v9.bin
+++ b/WMS/WIDESEA_WMSServer/.vs/ProjectEvaluation/widesea_wmsserver.strings.v9.bin
Binary files differ
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/DesignTimeBuild/.dtbcache.v2 b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/DesignTimeBuild/.dtbcache.v2
index 014144d..ffc6c52 100644
--- a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/DesignTimeBuild/.dtbcache.v2
+++ b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/DesignTimeBuild/.dtbcache.v2
Binary files differ
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/0ef058ae-c319-46a4-8f85-8d624cb5a8ab.vsidx b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/0ef058ae-c319-46a4-8f85-8d624cb5a8ab.vsidx
new file mode 100644
index 0000000..c84d1c9
--- /dev/null
+++ b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/0ef058ae-c319-46a4-8f85-8d624cb5a8ab.vsidx
Binary files differ
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/13c6b113-1345-4876-866e-6cc96d92decf.vsidx b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/13c6b113-1345-4876-866e-6cc96d92decf.vsidx
deleted file mode 100644
index 08b5e73..0000000
--- a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/13c6b113-1345-4876-866e-6cc96d92decf.vsidx
+++ /dev/null
Binary files differ
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/41d0345b-0011-4845-b5c5-ca0de3bd57c8.vsidx b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/41d0345b-0011-4845-b5c5-ca0de3bd57c8.vsidx
deleted file mode 100644
index 8bfb47f..0000000
--- a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/41d0345b-0011-4845-b5c5-ca0de3bd57c8.vsidx
+++ /dev/null
Binary files differ
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/58855021-a9b7-463d-b84b-0e8d9f9e221a.vsidx b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/58855021-a9b7-463d-b84b-0e8d9f9e221a.vsidx
deleted file mode 100644
index d153384..0000000
--- a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/58855021-a9b7-463d-b84b-0e8d9f9e221a.vsidx
+++ /dev/null
Binary files differ
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5a2dba86-478b-4ce5-8597-3dae38896b09.vsidx b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5a2dba86-478b-4ce5-8597-3dae38896b09.vsidx
new file mode 100644
index 0000000..cc14523
--- /dev/null
+++ b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5a2dba86-478b-4ce5-8597-3dae38896b09.vsidx
Binary files differ
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5b36fd38-46f6-4e8b-a9e4-f642a8363e78.vsidx b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5b36fd38-46f6-4e8b-a9e4-f642a8363e78.vsidx
new file mode 100644
index 0000000..b5fca89
--- /dev/null
+++ b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/5b36fd38-46f6-4e8b-a9e4-f642a8363e78.vsidx
Binary files differ
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/69ffc742-0c8d-4790-90eb-1a1592090460.vsidx b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/69ffc742-0c8d-4790-90eb-1a1592090460.vsidx
deleted file mode 100644
index b18b0df..0000000
--- a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/69ffc742-0c8d-4790-90eb-1a1592090460.vsidx
+++ /dev/null
Binary files differ
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/a3962f8b-f362-4486-8c2d-b964b5889a5a.vsidx b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/a3962f8b-f362-4486-8c2d-b964b5889a5a.vsidx
new file mode 100644
index 0000000..78c1b87
--- /dev/null
+++ b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/FileContentIndex/a3962f8b-f362-4486-8c2d-b964b5889a5a.vsidx
Binary files differ
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2 b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2
index f839148..11c30cb 100644
--- a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2
+++ b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.futdcache.v2
Binary files differ
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo
index c9cd016..e81e5db 100644
--- a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo
+++ b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/.suo
Binary files differ
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json
index 0cc4a5d..0820ae1 100644
--- a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json
+++ b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.backup.json
@@ -11,12 +11,116 @@
"RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
+ "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_core\\enums\\taskenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\enums\\taskenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|solutionrelative:widesea_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\service\\assignlocation\\locationinfoservice_fl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\assignlocation\\locationinfoservice_fl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\service\\locationinfoservice_common.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\locationinfoservice_common.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
"AbsoluteMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_inboundservice\\base\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|solutionrelative:widesea_inboundservice\\base\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
+ "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_outboundservice\\service\\outboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|solutionrelative:widesea_outboundservice\\service\\outboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{B9E62A73-1270-4FFC-B23C-F75C075D8460}|WIDESEA_StockRepository\\WIDESEA_StockRepository.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_stockrepository\\stockinforepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{B9E62A73-1270-4FFC-B23C-F75C075D8460}|WIDESEA_StockRepository\\WIDESEA_StockRepository.csproj|solutionrelative:widesea_stockrepository\\stockinforepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{9144117D-3D55-4250-9CF5-C6A8D8A07062}|WIDESEA_BasicRepository\\WIDESEA_BasicRepository.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_basicrepository\\locationinforepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{9144117D-3D55-4250-9CF5-C6A8D8A07062}|WIDESEA_BasicRepository\\WIDESEA_BasicRepository.csproj|solutionrelative:widesea_basicrepository\\locationinforepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\service\\assignlocation\\locationinfoservice_ys.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\assignlocation\\locationinfoservice_ys.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\service\\assignlocation\\locationinfoservice_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\assignlocation\\locationinfoservice_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_core\\helper\\codeanalysishelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\helper\\codeanalysishelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\newpartialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\newpartialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
"AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\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\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|solutionrelative:widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\outbound\\newoutboundorderdetailcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\outbound\\newoutboundorderdetailcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\service\\assignlocation\\locationinfoservice_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\assignlocation\\locationinfoservice_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\filter\\customprofile.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\filter\\customprofile.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{69C05DDB-1AA6-4090-9916-029CD0E95B10}|WIDESEA_IOutboundService\\WIDESEA_IOutboundService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_ioutboundservice\\ioutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{69C05DDB-1AA6-4090-9916-029CD0E95B10}|WIDESEA_IOutboundService\\WIDESEA_IOutboundService.csproj|solutionrelative:widesea_ioutboundservice\\ioutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_outboundservice\\service\\outstocklockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|solutionrelative:widesea_outboundservice\\service\\outstocklockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_outboundservice\\base\\outboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|solutionrelative:widesea_outboundservice\\base\\outboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\outbound\\outboundorderdetailcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\outbound\\outboundorderdetailcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{69C05DDB-1AA6-4090-9916-029CD0E95B10}|WIDESEA_IOutboundService\\WIDESEA_IOutboundService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_ioutboundservice\\ioutstocklockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{69C05DDB-1AA6-4090-9916-029CD0E95B10}|WIDESEA_IOutboundService\\WIDESEA_IOutboundService.csproj|solutionrelative:widesea_ioutboundservice\\ioutstocklockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\outbound\\newoutboundordercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\outbound\\newoutboundordercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_model\\models\\outbound\\dt_newoutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\outbound\\dt_newoutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_model\\models\\stock\\dt_stockinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\stock\\dt_stockinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\outbound\\outboundordercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\outbound\\outboundordercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_common\\inventoryallocate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|solutionrelative:widesea_common\\inventoryallocate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
@@ -26,7 +130,7 @@
"DocumentGroups": [
{
"DockedWidth": 200,
- "SelectedChildIndex": 4,
+ "SelectedChildIndex": 14,
"Children": [
{
"$type": "Bookmark",
@@ -34,41 +138,169 @@
},
{
"$type": "Document",
- "DocumentIndex": 1,
- "Title": "PartialTaskService_Inbound.cs",
- "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
- "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
- "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
- "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
- "ViewState": "AgIAAJsAAAAAAAAAAAAgwLMAAAAgAAAAAAAAAA==",
+ "DocumentIndex": 2,
+ "Title": "TaskEnum.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\TaskEnum.cs",
+ "RelativeDocumentMoniker": "WIDESEA_Core\\Enums\\TaskEnum.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\TaskEnum.cs",
+ "RelativeToolTip": "WIDESEA_Core\\Enums\\TaskEnum.cs",
+ "ViewState": "AgIAAFYAAAAAAAAAAAAAAGgAAAAVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-12-28T07:07:34.552Z",
+ "WhenOpened": "2026-01-03T07:04:27.255Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 3,
+ "DocumentIndex": 10,
+ "Title": "LocationInfoRepository.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicRepository\\LocationInfoRepository.cs",
+ "RelativeDocumentMoniker": "WIDESEA_BasicRepository\\LocationInfoRepository.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicRepository\\LocationInfoRepository.cs",
+ "RelativeToolTip": "WIDESEA_BasicRepository\\LocationInfoRepository.cs",
+ "ViewState": "AgIAACUAAAAAAAAAAAA7wDoAAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-03T03:01:58.451Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 9,
+ "Title": "StockInfoRepository.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockRepository\\StockInfoRepository.cs",
+ "RelativeDocumentMoniker": "WIDESEA_StockRepository\\StockInfoRepository.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockRepository\\StockInfoRepository.cs",
+ "RelativeToolTip": "WIDESEA_StockRepository\\StockInfoRepository.cs",
+ "ViewState": "AgIAAEEAAAAAAAAAAAAkwE8AAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-03T03:01:58.472Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 4,
+ "Title": "LocationInfoService_FL.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_FL.cs",
+ "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_FL.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_FL.cs",
+ "RelativeToolTip": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_FL.cs",
+ "ViewState": "AgIAAIMAAAAAAAAAAAAowJsAAAAYAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-03T02:25:38.725Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 11,
+ "Title": "LocationInfoService_YS.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_YS.cs",
+ "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_YS.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_YS.cs",
+ "RelativeToolTip": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_YS.cs",
+ "ViewState": "AgIAAIoAAAAAAAAAAAAowJsAAAAYAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-03T02:25:30.112Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 13,
+ "Title": "CodeAnalysisHelper.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Helper\\CodeAnalysisHelper.cs",
+ "RelativeDocumentMoniker": "WIDESEA_Core\\Helper\\CodeAnalysisHelper.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Helper\\CodeAnalysisHelper.cs",
+ "RelativeToolTip": "WIDESEA_Core\\Helper\\CodeAnalysisHelper.cs",
+ "ViewState": "AgIAAA0AAAAAAAAAAAAAABwAAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-03T01:44:24.181Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 19,
+ "Title": "CustomProfile.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Filter\\CustomProfile.cs",
+ "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Filter\\CustomProfile.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Filter\\CustomProfile.cs",
+ "RelativeToolTip": "WIDESEA_WMSServer\\Filter\\CustomProfile.cs",
+ "ViewState": "AgIAAAYAAAAAAAAAAAAAAB8AAAAMAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-31T03:08:49.347Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 12,
+ "Title": "LocationInfoService_CP.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_CP.cs",
+ "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_CP.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_CP.cs",
+ "RelativeToolTip": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_CP.cs",
+ "ViewState": "AgIAAMoAAAAAAAAAAAAkwPEAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-30T07:33:26.365Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 5,
+ "Title": "LocationInfoService_Common.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
+ "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
+ "RelativeToolTip": "WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
+ "ViewState": "AgIAABUAAAAAAAAAAAA2wBkAAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-30T07:33:26.455Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 18,
+ "Title": "LocationInfoService_BC.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
+ "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
+ "RelativeToolTip": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
+ "ViewState": "AgIAAAYAAAAAAAAAAAAkwBkAAACnAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-30T07:33:26.479Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 14,
+ "Title": "NewPartialTaskService_Outbound.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\NewPartialTaskService_Outbound.cs",
+ "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\NewPartialTaskService_Outbound.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\NewPartialTaskService_Outbound.cs",
+ "RelativeToolTip": "WIDESEA_TaskInfoService\\NewPartialTaskService_Outbound.cs",
+ "ViewState": "AgIAABAAAAAAAAAAAAAAwBEAAAAMAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T12:50:49.961Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 15,
"Title": "TaskController.cs",
"DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
"RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
"ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
"RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "ViewState": "AgIAADEAAAAAwIGgiMXlv0kAAAAoAAAAAAAAAA==",
+ "ViewState": "AgIAADcAAAAAAAAAAADwv0gAAACOAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-12-28T06:56:56.873Z",
- "EditorCaption": ""
+ "WhenOpened": "2025-12-28T06:56:56.873Z"
},
{
"$type": "Document",
- "DocumentIndex": 2,
- "Title": "InboundOrderService.cs",
- "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Base\\InboundOrderService.cs",
- "RelativeDocumentMoniker": "WIDESEA_InboundService\\Base\\InboundOrderService.cs",
- "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Base\\InboundOrderService.cs",
- "RelativeToolTip": "WIDESEA_InboundService\\Base\\InboundOrderService.cs",
- "ViewState": "AgIAADMBAAAAAAAAAAAmwEsBAAAIAAAAAAAAAA==",
+ "DocumentIndex": 7,
+ "Title": "PartialTaskService_Outbound.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
+ "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
+ "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
+ "ViewState": "AgIAADEDAAAAAAAAAAAowEEDAAAoAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-12-28T06:29:01.1Z",
+ "WhenOpened": "2025-12-28T07:43:45.41Z",
"EditorCaption": ""
},
{
@@ -79,10 +311,206 @@
"RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService.cs",
"ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
"RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService.cs",
- "ViewState": "AgIAAJoAAAAAAAAAAAAvwLYAAAANAAAAAAAAAA==",
+ "ViewState": "AgIAALEBAAAAAAAAAAAcwMUBAAAIAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-12-28T06:28:46.582Z",
"EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 6,
+ "Title": "InboundOrderService.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Base\\InboundOrderService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_InboundService\\Base\\InboundOrderService.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Base\\InboundOrderService.cs",
+ "RelativeToolTip": "WIDESEA_InboundService\\Base\\InboundOrderService.cs",
+ "ViewState": "AgIAAEMAAAAAAAAAAAAmwFgAAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-28T06:29:01.1Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 1,
+ "Title": "PartialTaskService_Inbound.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
+ "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
+ "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
+ "ViewState": "AgIAAKgAAAAAAAAAAAAgwPIAAABMAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-28T07:07:34.552Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 26,
+ "Title": "Dt_NewOutboundOrder.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Outbound\\Dt_NewOutboundOrder.cs",
+ "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Outbound\\Dt_NewOutboundOrder.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Outbound\\Dt_NewOutboundOrder.cs",
+ "RelativeToolTip": "WIDESEA_Model\\Models\\Outbound\\Dt_NewOutboundOrder.cs",
+ "ViewState": "AgIAAAMAAAAAAAAAAAAowBwAAAATAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T14:37:04.942Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 3,
+ "Title": "TaskTypeEnum.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs",
+ "RelativeDocumentMoniker": "WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs",
+ "RelativeToolTip": "WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs",
+ "ViewState": "AgIAABEAAAAAAAAAAAAowCoAAAAVAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-30T02:03:06.718Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 20,
+ "Title": "IOutboundOrderService.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IOutboundService\\IOutboundOrderService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_IOutboundService\\IOutboundOrderService.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IOutboundService\\IOutboundOrderService.cs",
+ "RelativeToolTip": "WIDESEA_IOutboundService\\IOutboundOrderService.cs",
+ "ViewState": "AgIAAAIAAAAAAAAAAAAqwBIAAAArAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-30T02:01:25.531Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 21,
+ "Title": "OutStockLockInfoService.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
+ "RelativeToolTip": "WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
+ "ViewState": "AgIAACEAAAAAAAAAAAAIwDgAAAAqAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T13:46:21.865Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 22,
+ "Title": "OutboundOrderService.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
+ "RelativeToolTip": "WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
+ "ViewState": "AgIAAEwAAAAAAAAAAAAEwGIAAAAyAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T09:12:17.093Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 16,
+ "Title": "ITaskService.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_ITaskInfoService\\ITaskService.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
+ "RelativeToolTip": "WIDESEA_ITaskInfoService\\ITaskService.cs",
+ "ViewState": "AgIAABYAAAAAAAAAAAD4vykAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T01:38:40.735Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 23,
+ "Title": "OutboundOrderDetailController.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Outbound\\OutboundOrderDetailController.cs",
+ "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Outbound\\OutboundOrderDetailController.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Outbound\\OutboundOrderDetailController.cs",
+ "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Outbound\\OutboundOrderDetailController.cs",
+ "ViewState": "AgIAAAMAAAAAAAAAAAAAACcAAAAJAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T13:07:44.429Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 8,
+ "Title": "OutboundOrderDetailService.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
+ "RelativeToolTip": "WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
+ "ViewState": "AgIAACUBAAAAAAAAAAAmwDgBAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T13:47:44.557Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 24,
+ "Title": "IOutStockLockInfoService.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IOutboundService\\IOutStockLockInfoService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_IOutboundService\\IOutStockLockInfoService.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IOutboundService\\IOutStockLockInfoService.cs",
+ "RelativeToolTip": "WIDESEA_IOutboundService\\IOutStockLockInfoService.cs",
+ "ViewState": "AgIAAA0AAAAAAAAAAAAMwCAAAAAcAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T13:47:26.387Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 28,
+ "Title": "OutboundOrderController.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Outbound\\OutboundOrderController.cs",
+ "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Outbound\\OutboundOrderController.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Outbound\\OutboundOrderController.cs",
+ "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Outbound\\OutboundOrderController.cs",
+ "ViewState": "AgIAABoAAAAAAAAAAAAQwEQAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T13:06:47.708Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 17,
+ "Title": "NewOutboundOrderDetailController.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Outbound\\NewOutboundOrderDetailController.cs",
+ "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Outbound\\NewOutboundOrderDetailController.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Outbound\\NewOutboundOrderDetailController.cs",
+ "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Outbound\\NewOutboundOrderDetailController.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAmAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T13:06:43.184Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 25,
+ "Title": "NewOutboundOrderController.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Outbound\\NewOutboundOrderController.cs",
+ "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Outbound\\NewOutboundOrderController.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Outbound\\NewOutboundOrderController.cs",
+ "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Outbound\\NewOutboundOrderController.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAwAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T13:06:26.437Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 27,
+ "Title": "Dt_StockInfo.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Stock\\Dt_StockInfo.cs",
+ "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Stock\\Dt_StockInfo.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Stock\\Dt_StockInfo.cs",
+ "RelativeToolTip": "WIDESEA_Model\\Models\\Stock\\Dt_StockInfo.cs",
+ "ViewState": "AgIAABwAAAAAAAAAAIAzwDAAAAATAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T07:51:35.44Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 29,
+ "Title": "InventoryAllocate.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Common\\InventoryAllocate.cs",
+ "RelativeDocumentMoniker": "WIDESEA_Common\\InventoryAllocate.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Common\\InventoryAllocate.cs",
+ "RelativeToolTip": "WIDESEA_Common\\InventoryAllocate.cs",
+ "ViewState": "AgIAAC0AAAAAAAAAAADgvzwAAAAYAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T07:27:22.539Z"
}
]
}
diff --git a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json
index abb4019..62fee74 100644
--- a/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json
+++ b/WMS/WIDESEA_WMSServer/.vs/WIDESEA_WMSServer/v17/DocumentLayout.json
@@ -3,28 +3,124 @@
"WorkspaceRootPath": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\",
"Documents": [
{
- "AbsoluteMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_inboundservice\\base\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|solutionrelative:widesea_inboundservice\\base\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
+ "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_model\\models\\outbound\\dt_newoutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\outbound\\dt_newoutboundorder.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_outboundservice\\base\\outboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|solutionrelative:widesea_outboundservice\\base\\outboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
"AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\partialtaskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\partialtaskservice_inbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
- "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\taskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_outboundservice\\service\\outboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|solutionrelative:widesea_outboundservice\\service\\outboundorderdetailservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{9144117D-3D55-4250-9CF5-C6A8D8A07062}|WIDESEA_BasicRepository\\WIDESEA_BasicRepository.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_basicrepository\\locationinforepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{9144117D-3D55-4250-9CF5-C6A8D8A07062}|WIDESEA_BasicRepository\\WIDESEA_BasicRepository.csproj|solutionrelative:widesea_basicrepository\\locationinforepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_core\\enums\\taskenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\enums\\taskenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|solutionrelative:widesea_common\\taskenum\\tasktypeenum.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\service\\assignlocation\\locationinfoservice_fl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\assignlocation\\locationinfoservice_fl.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\service\\locationinfoservice_common.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\locationinfoservice_common.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_inboundservice\\base\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{9619D9B0-7E5B-42F0-BA2C-B840B3E1C258}|WIDESEA_InboundService\\WIDESEA_InboundService.csproj|solutionrelative:widesea_inboundservice\\base\\inboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{B9E62A73-1270-4FFC-B23C-F75C075D8460}|WIDESEA_StockRepository\\WIDESEA_StockRepository.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_stockrepository\\stockinforepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{B9E62A73-1270-4FFC-B23C-F75C075D8460}|WIDESEA_StockRepository\\WIDESEA_StockRepository.csproj|solutionrelative:widesea_stockrepository\\stockinforepository.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\service\\assignlocation\\locationinfoservice_ys.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\assignlocation\\locationinfoservice_ys.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\service\\assignlocation\\locationinfoservice_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\assignlocation\\locationinfoservice_cp.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_core\\helper\\codeanalysishelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{111BD7AA-9749-4506-9772-79F9EF14754C}|WIDESEA_Core\\WIDESEA_Core.csproj|solutionrelative:widesea_core\\helper\\codeanalysishelper.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_taskinfoservice\\newpartialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{7D7534D4-51D9-46DC-A6B7-6430042F4E12}|WIDESEA_TaskInfoService\\WIDESEA_TaskInfoService.csproj|solutionrelative:widesea_taskinfoservice\\newpartialtaskservice_outbound.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\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\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
"AbsoluteMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
"RelativeMoniker": "D:0:0:{CE0DB91F-5A68-448E-A419-4C26B5039F51}|WIDESEA_ITaskInfoService\\WIDESEA_ITaskInfoService.csproj|solutionrelative:widesea_itaskinfoservice\\itaskservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
},
{
- "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\taskinfo\\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\\taskinfo\\taskcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\outbound\\newoutboundorderdetailcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\outbound\\newoutboundorderdetailcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_basicservice\\service\\assignlocation\\locationinfoservice_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D11C804C-2FF4-4C18-A3EE-2F0574427BB3}|WIDESEA_BasicService\\WIDESEA_BasicService.csproj|solutionrelative:widesea_basicservice\\service\\assignlocation\\locationinfoservice_bc.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\filter\\customprofile.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\filter\\customprofile.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{69C05DDB-1AA6-4090-9916-029CD0E95B10}|WIDESEA_IOutboundService\\WIDESEA_IOutboundService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_ioutboundservice\\ioutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{69C05DDB-1AA6-4090-9916-029CD0E95B10}|WIDESEA_IOutboundService\\WIDESEA_IOutboundService.csproj|solutionrelative:widesea_ioutboundservice\\ioutboundorderservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_outboundservice\\service\\outstocklockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{1B884AD3-7E67-44CD-B182-DEECDD671DD2}|WIDESEA_OutboundService\\WIDESEA_OutboundService.csproj|solutionrelative:widesea_outboundservice\\service\\outstocklockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\outbound\\outboundorderdetailcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\outbound\\outboundorderdetailcontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{69C05DDB-1AA6-4090-9916-029CD0E95B10}|WIDESEA_IOutboundService\\WIDESEA_IOutboundService.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_ioutboundservice\\ioutstocklockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{69C05DDB-1AA6-4090-9916-029CD0E95B10}|WIDESEA_IOutboundService\\WIDESEA_IOutboundService.csproj|solutionrelative:widesea_ioutboundservice\\ioutstocklockinfoservice.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\outbound\\newoutboundordercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\outbound\\newoutboundordercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_model\\models\\stock\\dt_stockinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{00CE9885-9F24-4B6C-A7E8-0DE8C9ED7128}|WIDESEA_Model\\WIDESEA_Model.csproj|solutionrelative:widesea_model\\models\\stock\\dt_stockinfo.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_wmsserver\\controllers\\outbound\\outboundordercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{D81A65B5-47D1-40C1-8FDE-7D24FF003F51}|WIDESEA_WMSServer\\WIDESEA_WMSServer.csproj|solutionrelative:widesea_wmsserver\\controllers\\outbound\\outboundordercontroller.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
+ },
+ {
+ "AbsoluteMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|e:\\khgithub\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\jianliku\\wms\\widesea_wmsserver\\widesea_common\\inventoryallocate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}",
+ "RelativeMoniker": "D:0:0:{AF8F3D65-1D75-4B8F-AFD9-4150E591C44D}|WIDESEA_Common\\WIDESEA_Common.csproj|solutionrelative:widesea_common\\inventoryallocate.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}"
}
],
"DocumentGroupContainers": [
@@ -34,7 +130,7 @@
"DocumentGroups": [
{
"DockedWidth": 200,
- "SelectedChildIndex": 5,
+ "SelectedChildIndex": 14,
"Children": [
{
"$type": "Bookmark",
@@ -42,16 +138,157 @@
},
{
"$type": "Document",
- "DocumentIndex": 4,
- "Title": "ITaskService.cs",
- "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
- "RelativeDocumentMoniker": "WIDESEA_ITaskInfoService\\ITaskService.cs",
- "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
- "RelativeToolTip": "WIDESEA_ITaskInfoService\\ITaskService.cs",
- "ViewState": "AgIAABoAAAAAAAAAAAAQwDMAAAAbAAAAAAAAAA==",
+ "DocumentIndex": 7,
+ "Title": "TaskEnum.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\TaskEnum.cs",
+ "RelativeDocumentMoniker": "WIDESEA_Core\\Enums\\TaskEnum.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Enums\\TaskEnum.cs",
+ "RelativeToolTip": "WIDESEA_Core\\Enums\\TaskEnum.cs",
+ "ViewState": "AgIAAFYAAAAAAAAAAAAAAGgAAAAVAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-12-29T01:38:40.735Z",
+ "WhenOpened": "2026-01-03T07:04:27.255Z",
"EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 6,
+ "Title": "LocationInfoRepository.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicRepository\\LocationInfoRepository.cs",
+ "RelativeDocumentMoniker": "WIDESEA_BasicRepository\\LocationInfoRepository.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicRepository\\LocationInfoRepository.cs",
+ "RelativeToolTip": "WIDESEA_BasicRepository\\LocationInfoRepository.cs",
+ "ViewState": "AgIAACcAAAAAAAAAAAAYwDoAAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-03T03:01:58.451Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 12,
+ "Title": "StockInfoRepository.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockRepository\\StockInfoRepository.cs",
+ "RelativeDocumentMoniker": "WIDESEA_StockRepository\\StockInfoRepository.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_StockRepository\\StockInfoRepository.cs",
+ "RelativeToolTip": "WIDESEA_StockRepository\\StockInfoRepository.cs",
+ "ViewState": "AgIAAEEAAAAAAAAAAAAkwE8AAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-03T03:01:58.472Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 9,
+ "Title": "LocationInfoService_FL.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_FL.cs",
+ "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_FL.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_FL.cs",
+ "RelativeToolTip": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_FL.cs",
+ "ViewState": "AgIAAIMAAAAAAAAAAAAowJsAAAAYAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-03T02:25:38.725Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 13,
+ "Title": "LocationInfoService_YS.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_YS.cs",
+ "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_YS.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_YS.cs",
+ "RelativeToolTip": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_YS.cs",
+ "ViewState": "AgIAAIoAAAAAAAAAAAAowJsAAAAYAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-03T02:25:30.112Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 15,
+ "Title": "CodeAnalysisHelper.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Helper\\CodeAnalysisHelper.cs",
+ "RelativeDocumentMoniker": "WIDESEA_Core\\Helper\\CodeAnalysisHelper.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Core\\Helper\\CodeAnalysisHelper.cs",
+ "RelativeToolTip": "WIDESEA_Core\\Helper\\CodeAnalysisHelper.cs",
+ "ViewState": "AgIAAA0AAAAAAAAAAAAAABwAAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2026-01-03T01:44:24.181Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 21,
+ "Title": "CustomProfile.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Filter\\CustomProfile.cs",
+ "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Filter\\CustomProfile.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Filter\\CustomProfile.cs",
+ "RelativeToolTip": "WIDESEA_WMSServer\\Filter\\CustomProfile.cs",
+ "ViewState": "AgIAAAYAAAAAAAAAAAAAAB8AAAAMAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-31T03:08:49.347Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 14,
+ "Title": "LocationInfoService_CP.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_CP.cs",
+ "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_CP.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_CP.cs",
+ "RelativeToolTip": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_CP.cs",
+ "ViewState": "AgIAAMoAAAAAAAAAAAAkwPEAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-30T07:33:26.365Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 10,
+ "Title": "LocationInfoService_Common.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
+ "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
+ "RelativeToolTip": "WIDESEA_BasicService\\Service\\LocationInfoService_Common.cs",
+ "ViewState": "AgIAABUAAAAAAAAAAAA2wBkAAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-30T07:33:26.455Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 20,
+ "Title": "LocationInfoService_BC.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
+ "RelativeDocumentMoniker": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
+ "RelativeToolTip": "WIDESEA_BasicService\\Service\\AssignLocation\\LocationInfoService_BC.cs",
+ "ViewState": "AgIAAAYAAAAAAAAAAAAkwBkAAACnAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-30T07:33:26.479Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 16,
+ "Title": "NewPartialTaskService_Outbound.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\NewPartialTaskService_Outbound.cs",
+ "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\NewPartialTaskService_Outbound.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\NewPartialTaskService_Outbound.cs",
+ "RelativeToolTip": "WIDESEA_TaskInfoService\\NewPartialTaskService_Outbound.cs",
+ "ViewState": "AgIAABAAAAAAAAAAAAAAwBEAAAAMAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T12:50:49.961Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 17,
+ "Title": "TaskController.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+ "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+ "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
+ "ViewState": "AgIAADcAAAAAAAAAAADwv0gAAACOAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-28T06:56:56.873Z"
},
{
"$type": "Document",
@@ -61,62 +298,221 @@
"RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
"ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
"RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Outbound.cs",
- "ViewState": "AgIAAKwAAAAAAAAAAAAmwM8AAAAwAAAAAAAAAA==",
+ "ViewState": "AgIAAM8DAAAAAAAAAAAcwO8DAAAxAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-12-28T07:43:45.41Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 2,
- "Title": "PartialTaskService_Inbound.cs",
- "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
- "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
- "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
- "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
- "ViewState": "AgIAAJsAAAAAAAAAAAAgwLMAAAAgAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-12-28T07:07:34.552Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
- "DocumentIndex": 5,
- "Title": "TaskController.cs",
- "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\TaskInfo\\TaskController.cs",
- "ViewState": "AgIAABAAAAAAAAAAAAA4wCkAAAAyAAAAAAAAAA==",
- "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-12-28T06:56:56.873Z",
- "EditorCaption": ""
- },
- {
- "$type": "Document",
"DocumentIndex": 0,
+ "Title": "TaskService.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
+ "RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService.cs",
+ "ViewState": "AgIAAAUGAAAAAAAAAAAmwBwGAAAhAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-28T06:28:46.582Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 11,
"Title": "InboundOrderService.cs",
"DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Base\\InboundOrderService.cs",
"RelativeDocumentMoniker": "WIDESEA_InboundService\\Base\\InboundOrderService.cs",
"ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_InboundService\\Base\\InboundOrderService.cs",
"RelativeToolTip": "WIDESEA_InboundService\\Base\\InboundOrderService.cs",
- "ViewState": "AgIAACIFAAAAAAAAAAAAAFQFAABPAAAAAAAAAA==",
+ "ViewState": "AgIAAEMAAAAAAAAAAAAmwFgAAAAIAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
"WhenOpened": "2025-12-28T06:29:01.1Z",
"EditorCaption": ""
},
{
"$type": "Document",
- "DocumentIndex": 3,
- "Title": "TaskService.cs",
- "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
- "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\TaskService.cs",
- "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\TaskService.cs",
- "RelativeToolTip": "WIDESEA_TaskInfoService\\TaskService.cs",
- "ViewState": "AgIAADADAAAAAAAAAAAmwEUDAAAaAAAAAAAAAA==",
+ "DocumentIndex": 4,
+ "Title": "PartialTaskService_Inbound.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
+ "RelativeDocumentMoniker": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
+ "RelativeToolTip": "WIDESEA_TaskInfoService\\PartialTaskService_Inbound.cs",
+ "ViewState": "AgIAACYBAAAAAAAAAAAgwDoBAAAXAAAAAAAAAA==",
"Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
- "WhenOpened": "2025-12-28T06:28:46.582Z",
+ "WhenOpened": "2025-12-28T07:07:34.552Z",
"EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 2,
+ "Title": "Dt_NewOutboundOrder.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Outbound\\Dt_NewOutboundOrder.cs",
+ "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Outbound\\Dt_NewOutboundOrder.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Outbound\\Dt_NewOutboundOrder.cs",
+ "RelativeToolTip": "WIDESEA_Model\\Models\\Outbound\\Dt_NewOutboundOrder.cs",
+ "ViewState": "AgIAAAMAAAAAAAAAAAAowBwAAAATAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T14:37:04.942Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 8,
+ "Title": "TaskTypeEnum.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs",
+ "RelativeDocumentMoniker": "WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs",
+ "RelativeToolTip": "WIDESEA_Common\\TaskEnum\\TaskTypeEnum.cs",
+ "ViewState": "AgIAABEAAAAAAAAAAAAowCoAAAAVAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-30T02:03:06.718Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 22,
+ "Title": "IOutboundOrderService.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IOutboundService\\IOutboundOrderService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_IOutboundService\\IOutboundOrderService.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IOutboundService\\IOutboundOrderService.cs",
+ "RelativeToolTip": "WIDESEA_IOutboundService\\IOutboundOrderService.cs",
+ "ViewState": "AgIAAAIAAAAAAAAAAAAqwBIAAAArAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-30T02:01:25.531Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 23,
+ "Title": "OutStockLockInfoService.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
+ "RelativeToolTip": "WIDESEA_OutboundService\\Service\\OutStockLockInfoService.cs",
+ "ViewState": "AgIAACEAAAAAAAAAAAAIwDgAAAAqAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T13:46:21.865Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 3,
+ "Title": "OutboundOrderService.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
+ "RelativeToolTip": "WIDESEA_OutboundService\\Base\\OutboundOrderService.cs",
+ "ViewState": "AgIAAJoBAAAAAAAAAAAlwGIAAAAyAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T09:12:17.093Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 18,
+ "Title": "ITaskService.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_ITaskInfoService\\ITaskService.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_ITaskInfoService\\ITaskService.cs",
+ "RelativeToolTip": "WIDESEA_ITaskInfoService\\ITaskService.cs",
+ "ViewState": "AgIAABYAAAAAAAAAAAD4vykAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T01:38:40.735Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 24,
+ "Title": "OutboundOrderDetailController.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Outbound\\OutboundOrderDetailController.cs",
+ "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Outbound\\OutboundOrderDetailController.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Outbound\\OutboundOrderDetailController.cs",
+ "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Outbound\\OutboundOrderDetailController.cs",
+ "ViewState": "AgIAAAMAAAAAAAAAAAAAACcAAAAJAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T13:07:44.429Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 5,
+ "Title": "OutboundOrderDetailService.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
+ "RelativeToolTip": "WIDESEA_OutboundService\\Service\\OutboundOrderDetailService.cs",
+ "ViewState": "AgIAACYBAAAAAAAAAAAcwDgBAAAIAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T13:47:44.557Z",
+ "EditorCaption": ""
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 25,
+ "Title": "IOutStockLockInfoService.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IOutboundService\\IOutStockLockInfoService.cs",
+ "RelativeDocumentMoniker": "WIDESEA_IOutboundService\\IOutStockLockInfoService.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_IOutboundService\\IOutStockLockInfoService.cs",
+ "RelativeToolTip": "WIDESEA_IOutboundService\\IOutStockLockInfoService.cs",
+ "ViewState": "AgIAAA0AAAAAAAAAAAAMwCAAAAAcAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T13:47:26.387Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 28,
+ "Title": "OutboundOrderController.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Outbound\\OutboundOrderController.cs",
+ "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Outbound\\OutboundOrderController.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Outbound\\OutboundOrderController.cs",
+ "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Outbound\\OutboundOrderController.cs",
+ "ViewState": "AgIAABoAAAAAAAAAAAAQwEQAAAAAAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T13:06:47.708Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 19,
+ "Title": "NewOutboundOrderDetailController.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Outbound\\NewOutboundOrderDetailController.cs",
+ "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Outbound\\NewOutboundOrderDetailController.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Outbound\\NewOutboundOrderDetailController.cs",
+ "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Outbound\\NewOutboundOrderDetailController.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAsAAAAmAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T13:06:43.184Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 26,
+ "Title": "NewOutboundOrderController.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Outbound\\NewOutboundOrderController.cs",
+ "RelativeDocumentMoniker": "WIDESEA_WMSServer\\Controllers\\Outbound\\NewOutboundOrderController.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_WMSServer\\Controllers\\Outbound\\NewOutboundOrderController.cs",
+ "RelativeToolTip": "WIDESEA_WMSServer\\Controllers\\Outbound\\NewOutboundOrderController.cs",
+ "ViewState": "AgIAAAAAAAAAAAAAAAAAAAoAAAAwAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T13:06:26.437Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 27,
+ "Title": "Dt_StockInfo.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Stock\\Dt_StockInfo.cs",
+ "RelativeDocumentMoniker": "WIDESEA_Model\\Models\\Stock\\Dt_StockInfo.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Model\\Models\\Stock\\Dt_StockInfo.cs",
+ "RelativeToolTip": "WIDESEA_Model\\Models\\Stock\\Dt_StockInfo.cs",
+ "ViewState": "AgIAABwAAAAAAAAAAIAzwDAAAAATAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T07:51:35.44Z"
+ },
+ {
+ "$type": "Document",
+ "DocumentIndex": 29,
+ "Title": "InventoryAllocate.cs",
+ "DocumentMoniker": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Common\\InventoryAllocate.cs",
+ "RelativeDocumentMoniker": "WIDESEA_Common\\InventoryAllocate.cs",
+ "ToolTip": "E:\\KHGITHUB\\\u5409\u5B89\u7ACB\u5E93\u73B0\u7528\u7248\u672C\\JiAnLiKu\\WMS\\WIDESEA_WMSServer\\WIDESEA_Common\\InventoryAllocate.cs",
+ "RelativeToolTip": "WIDESEA_Common\\InventoryAllocate.cs",
+ "ViewState": "AgIAAC0AAAAAAAAAAADgvzwAAAAYAAAAAAAAAA==",
+ "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|",
+ "WhenOpened": "2025-12-29T07:27:22.539Z"
}
]
}
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_CP.cs b/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_CP.cs
index c6b1de1..4b27262 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_CP.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_CP.cs
@@ -90,7 +90,7 @@
if (palletTypeInfo.LocaitonCount == 2)
{
- if (roadwayNo != "TestJCLK")
+ if (roadwayNo != "SC01_CP")
definedTypeEmptyLocations = definedTypeEmptyLocations.Where(x => x.Column % 2 == 1).ToList();
else
definedTypeEmptyLocations = definedTypeEmptyLocations.Where(x => x.Column % 2 == 0).ToList();
@@ -122,7 +122,7 @@
{
if (palletTypeInfo.LocaitonCount == 2)
{
- if (roadwayNo != "TestJCLK")
+ if (roadwayNo != "SC01_CP")
undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => x.Column % 2 == 1).ToList();
else
undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => x.Column % 2 == 0).ToList();
@@ -176,9 +176,9 @@
if (palletTypeInfo.LocaitonCount == 2)
{
Dt_LocationInfo? nearLocation = null;
- if (emptyLocation.RoadwayNo != "TestJCLK" && emptyLocation.Column % 2 == 1)
+ if (emptyLocation.RoadwayNo != "SC01_CP" && emptyLocation.Column % 2 == 1)
nearLocation = locationInfos.FirstOrDefault(x => x.Row == emptyLocation.Row && x.Layer == emptyLocation.Layer && x.Depth == emptyLocation.Depth && x.Column == emptyLocation.Column - 1);
- else if (emptyLocation.RoadwayNo == "TestJCLK" && emptyLocation.Column % 2 == 0)
+ else if (emptyLocation.RoadwayNo == "SC01_CP" && emptyLocation.Column % 2 == 0)
nearLocation = locationInfos.FirstOrDefault(x => x.Row == emptyLocation.Row && x.Layer == emptyLocation.Layer && x.Depth == emptyLocation.Depth && x.Column == emptyLocation.Column + 1);
if (nearLocation != null && DepthLocationIsEmpty_CP(locationInfos, nearLocation) != null)
{
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_FL.cs b/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_FL.cs
new file mode 100644
index 0000000..6f3578c
--- /dev/null
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_FL.cs
@@ -0,0 +1,241 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using SqlSugar.Extensions;
+using WIDESEA_Core.Enums;
+using WIDESEA_Model.Models;
+
+namespace WIDESEA_BasicService
+{
+ public partial class LocationInfoService
+ {
+
+
+ private readonly static object _locker_FL = new object();
+ static List<LocationCache> locationCaches_FL= new List<LocationCache>();
+ /// <summary>
+ /// 鏉挎潗浠撹揣浣嶅垎閰�
+ /// </summary>
+ /// <param name="roadwayNo">宸烽亾鍙�</param>
+ /// <param name="palletType">
+ /// 鎵樼洏绫诲瀷
+ /// </param>
+ /// <returns></returns>
+ public Dt_LocationInfo? AssignLocation_FL(string roadwayNo, int palletType, Dt_PalletTypeInfo palletTypeInfo, string beRelocationCode = "", int heightType = 0)
+ {
+ lock (_locker_FL)
+ {
+ List<LocationCache> removeItems = locationCaches_FL.Where(x => (DateTime.Now - x.DateTime).TotalMinutes > 5).ToList();
+ int count = removeItems.Count;
+ for (int i = 0; i < count; i++)
+ {
+ locationCaches_FL.Remove(removeItems[i]);
+ }
+
+ List<string> lockLocationCodes = locationCaches_FL.Select(x => x.LocationCode).ToList();
+
+ List<Dt_LocationInfo> locationInfos = Repository.QueryData(x => x.RoadwayNo == roadwayNo);
+ if (locationInfos == null || locationInfos.Count == 0)
+ {
+ throw new Exception($"鏈壘鍒拌宸烽亾鐨勮揣浣嶄俊鎭�,宸烽亾鍙�:{roadwayNo}");
+ }
+
+ if (!string.IsNullOrEmpty(beRelocationCode))
+ {
+ Dt_LocationInfo? beRelocation = locationInfos.FirstOrDefault(x => x.LocationCode == beRelocationCode);
+ if (beRelocation == null)
+ {
+ throw new Exception($"鏈壘鍒拌揣浣嶄俊鎭�");
+ }
+ int maxDepth = locationInfos.Max(x => x.Depth);
+ int mathCurrentRow = beRelocation.Row - Convert.ToInt32(Math.Ceiling(beRelocation.Row / maxDepth / 2.0)) * maxDepth * 2;
+ if (mathCurrentRow <= maxDepth)
+ {
+ locationInfos = locationInfos.Where(x => x.Row - Convert.ToInt32(Math.Ceiling(x.Row / maxDepth / 2.0)) * maxDepth * 2 <= maxDepth).ToList();
+ }
+ else
+ {
+ locationInfos = locationInfos.Where(x => x.Row - Convert.ToInt32(Math.Ceiling(x.Row / maxDepth / 2.0)) * maxDepth * 2 > maxDepth).ToList();
+ }
+ }
+
+
+ //鏈畾涔夌被鍨嬬殑绌鸿揣浣�
+ List<Dt_LocationInfo> undefinedTypeEmptyLocations = locationInfos.Where(x => (x.EnableStatus == EnableStatusEnum.Normal.ObjToInt() || x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt()) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && x.LocationType == LocationTypeEnum.Undefined.ObjToInt() && !lockLocationCodes.Contains(x.LocationCode)).OrderByDescending(x => x.Depth).ThenBy(x => x.Layer).ThenBy(x => x.Column).ThenBy(x => x.Row).ToList();
+
+ List<Dt_LocationInfo> definedTypeEmptyLocations = locationInfos.Where(x => (x.EnableStatus == EnableStatusEnum.Normal.ObjToInt() || x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt()) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && x.LocationType == palletType.ObjToInt() && !lockLocationCodes.Contains(x.LocationCode)).OrderByDescending(x => x.Depth).ThenBy(x => x.Layer).ThenBy(x => x.Column).ThenBy(x => x.Row).ToList();
+
+ if (heightType == 1)
+ {
+ undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => x.Layer >= 14).ToList();
+ definedTypeEmptyLocations = definedTypeEmptyLocations.Where(x => x.Layer >= 14).ToList();
+ }
+ else if (heightType == 2)
+ {
+ undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => x.Layer <= 13).ToList();
+ definedTypeEmptyLocations = definedTypeEmptyLocations.Where(x => x.Layer <= 13).ToList();
+ }
+ else if (heightType == 3)
+ {
+ undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => x.Layer <= 4).ToList();
+ definedTypeEmptyLocations = definedTypeEmptyLocations.Where(x => x.Layer <= 4).ToList();
+ }
+ //else
+ //{
+ // undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => false).ToList();
+ // definedTypeEmptyLocations = definedTypeEmptyLocations.Where(x => false).ToList();
+ //}
+
+ if (palletTypeInfo.LocaitonCount == 2)
+ {
+ if (roadwayNo != "SC01_FL")
+ definedTypeEmptyLocations = definedTypeEmptyLocations.Where(x => x.Column % 2 == 1).ToList();
+ else
+ definedTypeEmptyLocations = definedTypeEmptyLocations.Where(x => x.Column % 2 == 0).ToList();
+ }
+
+ if (definedTypeEmptyLocations.Any())
+ {
+ for (int i = 0; i < definedTypeEmptyLocations.Count; i++)
+ {
+ Dt_LocationInfo definedTypeEmptyLocation = definedTypeEmptyLocations[i];
+ Dt_LocationInfo? locationInfo = GetUsableLocation_FL(locationInfos, definedTypeEmptyLocation, palletType, palletTypeInfo);
+ //鍒ゆ柇璐т綅涓ゆ繁鍙婁互涓婃槸鍚﹀瓨鍦ㄥ嚭搴撻攣瀹氳揣浣�
+ //if (locationInfo?.Depth == 1)
+ //{
+ // Dt_LocationInfo? IsBebusyLocation = locationInfos.Where(x => x.Row == (locationInfo?.Row == 2 ? locationInfo?.Row - 1 : locationInfo?.Row + 1) && x.Column == locationInfo?.Column && x.Layer == locationInfo?.Layer).FirstOrDefault();
+ // if (IsBebusyLocation != null && (IsBebusyLocation.LocationStatus < LocationStatusEnum.InStock.ObjToInt()))
+ // {
+ // continue;
+ // }
+ //}
+ if (locationInfo != null)
+ {
+ locationCaches_FL.Add(new LocationCache { LocationCode = locationInfo.LocationCode, DateTime = DateTime.Now });
+ return locationInfo;
+ }
+ }
+ }
+ if ((/*locationInfos.Count * weightValue_BC >= definedTypeLocations.Count &&*/ undefinedTypeEmptyLocations.Any()))//濡傛灉宸插畾涔夌被鍨嬭揣浣嶆湭瓒呰繃姣斾緥锛屼笖鏈夋湭瀹氫箟绫诲瀷鐨勮揣浣�
+ {
+ if (palletTypeInfo.LocaitonCount == 2)
+ {
+ if (roadwayNo != "SC01_FL")
+ undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => x.Column % 2 == 1).ToList();
+ else
+ undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => x.Column % 2 == 0).ToList();
+
+ for (int i = 0; i < undefinedTypeEmptyLocations.Count; i++)
+ {
+ Dt_LocationInfo undefinedTypeEmptyLocation = undefinedTypeEmptyLocations[i];
+ Dt_LocationInfo? locationInfo = GetUsableLocation_FL(locationInfos, undefinedTypeEmptyLocation, palletType, palletTypeInfo);
+ //鍒ゆ柇璐т綅涓ゆ繁鍙婁互涓婃槸鍚﹀瓨鍦ㄥ嚭搴撻攣瀹氳揣浣�
+ //if (locationInfo?.Depth == 1)
+ //{
+ // Dt_LocationInfo? IsBebusyLocation = locationInfos.Where(x => x.Row == (locationInfo?.Row == 2 ? locationInfo?.Row - 1 : locationInfo?.Row + 1) && x.Column == locationInfo?.Column && x.Layer == locationInfo?.Layer).FirstOrDefault();
+ // if (IsBebusyLocation != null && (IsBebusyLocation.LocationStatus < LocationStatusEnum.InStock.ObjToInt()))
+ // {
+ // continue;
+ // }
+ //}
+ if (locationInfo != null)
+ {
+ //UpdateLocationStatus(locationInfo, palletType, LocationStatusEnum.Lock, locationInfo.WarehouseId);
+ locationCaches_FL.Add(new LocationCache { LocationCode = locationInfo.LocationCode, DateTime = DateTime.Now });
+ return locationInfo;
+ }
+ }
+ }
+ else
+ {
+ Dt_LocationInfo undefinedTypeEmptyLocation = undefinedTypeEmptyLocations.FirstOrDefault();
+ Dt_LocationInfo? locationInfo = GetUsableLocation_FL(locationInfos, undefinedTypeEmptyLocation, palletType, palletTypeInfo);
+ locationCaches_FL.Add(new LocationCache { LocationCode = locationInfo.LocationCode, DateTime = DateTime.Now });
+ return locationInfo;
+ }
+
+ }
+ return null;
+ }
+ }
+
+
+
+ /// <summary>
+ /// 鑾峰彇鍙敤璐т綅(娴嬭瘯鏋朵粨)
+ /// </summary>
+ /// <param name="locationInfos"></param>
+ /// <param name="emptyLocation"></param>
+ /// <param name="palletType"></param>
+ /// <returns></returns>
+ private Dt_LocationInfo? GetUsableLocation_FL(List<Dt_LocationInfo> locationInfos, Dt_LocationInfo emptyLocation, int palletType, Dt_PalletTypeInfo palletTypeInfo)
+ {
+
+ if (palletTypeInfo.LocaitonCount == 2)
+ {
+ Dt_LocationInfo? nearLocation = null;
+ if (emptyLocation.RoadwayNo != "SC01_FL" && emptyLocation.Column % 2 == 1)
+ nearLocation = locationInfos.FirstOrDefault(x => x.Row == emptyLocation.Row && x.Layer == emptyLocation.Layer && x.Depth == emptyLocation.Depth && x.Column == emptyLocation.Column - 1);
+ else if (emptyLocation.RoadwayNo == "SC01_FL" && emptyLocation.Column % 2 == 0)
+ nearLocation = locationInfos.FirstOrDefault(x => x.Row == emptyLocation.Row && x.Layer == emptyLocation.Layer && x.Depth == emptyLocation.Depth && x.Column == emptyLocation.Column + 1);
+ if (nearLocation != null && DepthLocationIsEmpty_FL(locationInfos, nearLocation) != null)
+ {
+ Dt_LocationInfo? locationInfo = DepthLocationIsEmpty_FL(locationInfos, emptyLocation);
+ if (locationInfo != null)
+ {
+ return locationInfo;
+ }
+ }
+ }
+ else
+ {
+ Dt_LocationInfo? locationInfo = DepthLocationIsEmpty_FL(locationInfos, emptyLocation);
+ if (locationInfo != null)
+ {
+ return locationInfo;
+ }
+ }
+ return null;
+ }
+
+
+ /// <summary>
+ /// 鍒ゆ柇涓嶅悓娣卞害鐨勫悓缁勮揣浣嶇姸鎬佹槸鍚︿负绌洪棽绌轰綅(娴嬭瘯鏋朵粨)
+ /// </summary>
+ /// <param name="locationInfos"></param>
+ /// <param name="emptyLocation"></param>
+ /// <returns></returns>
+ private Dt_LocationInfo? DepthLocationIsEmpty_FL(List<Dt_LocationInfo> locationInfos, Dt_LocationInfo emptyLocation)
+ {
+ List<Dt_LocationInfo> locations = GetGroupLocations(locationInfos, emptyLocation);
+
+ bool moreDepthFlag = false;
+ bool littleDepthFlag = false;
+
+ if (emptyLocation.LocationType == 0)
+ {
+ List<Dt_LocationInfo> moreDepth = locations.Where(x => x.Depth > emptyLocation.Depth).ToList();
+ moreDepthFlag = moreDepth.FirstOrDefault(x => x.LocationStatus != LocationStatusEnum.InStock.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && x.LocationType != 0) == null;//鏌ヨ澶т簬褰撳墠璐т綅娣卞害鐨勯泦鍚堥噷鏄惁鏈夌姸鎬佷笉涓烘湁璐х殑璐т綅锛屽鏋滄槸true锛屽垯琛ㄧず娣辫揣浣嶆湁鏈浣跨敤鐨勬儏鍐�
+
+ List<Dt_LocationInfo> littleDepth = locations.Where(x => x.Depth <= emptyLocation.Depth).ToList();
+ littleDepthFlag = littleDepth.FirstOrDefault(x => x.LocationStatus != LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && x.LocationType != 0) == null; //鏌ヨ灏忎簬褰撳墠璐т綅娣卞害鐨勯泦鍚堥噷鏄惁鏈夌姸鎬佷笉涓虹┖锛屼笖绂佺敤鐘舵�佷笉涓虹鐢ㄤ互鍙婂彧鍏ョ殑璐т綅锛屽鏋滄槸true锛屽垯琛ㄧず娴呰揣浣嶈浣跨敤鎴栬�呰绂佺敤鐨勬儏鍐�
+ }
+ else
+ {
+ List<Dt_LocationInfo> moreDepth = locations.Where(x => x.Depth > emptyLocation.Depth).ToList();
+ moreDepthFlag = moreDepth.FirstOrDefault(x => x.LocationStatus != LocationStatusEnum.InStock.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && x.LocationType != emptyLocation.LocationType) == null;//鏌ヨ澶т簬褰撳墠璐т綅娣卞害鐨勯泦鍚堥噷鏄惁鏈夌姸鎬佷笉涓烘湁璐х殑璐т綅锛屽鏋滄槸true锛屽垯琛ㄧず娣辫揣浣嶆湁鏈浣跨敤鐨勬儏鍐�
+
+ List<Dt_LocationInfo> littleDepth = locations.Where(x => x.Depth <= emptyLocation.Depth).ToList();
+ littleDepthFlag = littleDepth.FirstOrDefault(x => x.LocationStatus != LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && x.LocationType != emptyLocation.LocationType) == null; //鏌ヨ灏忎簬褰撳墠璐т綅娣卞害鐨勯泦鍚堥噷鏄惁鏈夌姸鎬佷笉涓虹┖锛屼笖绂佺敤鐘舵�佷笉涓虹鐢ㄤ互鍙婂彧鍏ョ殑璐т綅锛屽鏋滄槸true锛屽垯琛ㄧず娴呰揣浣嶈浣跨敤鎴栬�呰绂佺敤鐨勬儏鍐�
+ }
+ if (moreDepthFlag && littleDepthFlag)
+ {
+ return emptyLocation;
+ }
+
+ return null;
+ }
+ }
+}
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_YS.cs b/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_YS.cs
new file mode 100644
index 0000000..87532fd
--- /dev/null
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/AssignLocation/LocationInfoService_YS.cs
@@ -0,0 +1,241 @@
+锘縰sing System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using SqlSugar.Extensions;
+using WIDESEA_Core.Enums;
+using WIDESEA_Model.Models;
+
+namespace WIDESEA_BasicService
+{
+ public partial class LocationInfoService
+ {
+
+
+ private readonly static object _locker_YS = new object();
+ static List<LocationCache> locationCaches_YS = new List<LocationCache>();
+ /// <summary>
+ /// 鏉挎潗浠撹揣浣嶅垎閰�
+ /// </summary>
+ /// <param name="roadwayNo">宸烽亾鍙�</param>
+ /// <param name="palletType">
+ /// 鎵樼洏绫诲瀷
+ /// </param>
+ /// <returns></returns>
+ public Dt_LocationInfo? AssignLocation_YS(string roadwayNo, int palletType, Dt_PalletTypeInfo palletTypeInfo, string beRelocationCode = "", int heightType = 0)
+ {
+ lock (_locker_YS)
+ {
+ List<LocationCache> removeItems = locationCaches_YS.Where(x => (DateTime.Now - x.DateTime).TotalMinutes > 5).ToList();
+ int count = removeItems.Count;
+ for (int i = 0; i < count; i++)
+ {
+ locationCaches_YS.Remove(removeItems[i]);
+ }
+
+ List<string> lockLocationCodes = locationCaches_YS.Select(x => x.LocationCode).ToList();
+
+ List<Dt_LocationInfo> locationInfos = Repository.QueryData(x => x.RoadwayNo == roadwayNo);
+ if (locationInfos == null || locationInfos.Count == 0)
+ {
+ throw new Exception($"鏈壘鍒拌宸烽亾鐨勮揣浣嶄俊鎭�,宸烽亾鍙�:{roadwayNo}");
+ }
+
+ if (!string.IsNullOrEmpty(beRelocationCode))
+ {
+ Dt_LocationInfo? beRelocation = locationInfos.FirstOrDefault(x => x.LocationCode == beRelocationCode);
+ if (beRelocation == null)
+ {
+ throw new Exception($"鏈壘鍒拌揣浣嶄俊鎭�");
+ }
+ int maxDepth = locationInfos.Max(x => x.Depth);
+ int mathCurrentRow = beRelocation.Row - Convert.ToInt32(Math.Ceiling(beRelocation.Row / maxDepth / 2.0)) * maxDepth * 2;
+ if (mathCurrentRow <= maxDepth)
+ {
+ locationInfos = locationInfos.Where(x => x.Row - Convert.ToInt32(Math.Ceiling(x.Row / maxDepth / 2.0)) * maxDepth * 2 <= maxDepth).ToList();
+ }
+ else
+ {
+ locationInfos = locationInfos.Where(x => x.Row - Convert.ToInt32(Math.Ceiling(x.Row / maxDepth / 2.0)) * maxDepth * 2 > maxDepth).ToList();
+ }
+ }
+
+
+ //鏈畾涔夌被鍨嬬殑绌鸿揣浣�
+ List<Dt_LocationInfo> undefinedTypeEmptyLocations = locationInfos.Where(x => (x.EnableStatus == EnableStatusEnum.Normal.ObjToInt() || x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt()) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && x.LocationType == LocationTypeEnum.Undefined.ObjToInt() && !lockLocationCodes.Contains(x.LocationCode)).OrderByDescending(x => x.Depth).ThenBy(x => x.Layer).ThenBy(x => x.Column).ThenBy(x => x.Row).ToList();
+
+ List<Dt_LocationInfo> definedTypeEmptyLocations = locationInfos.Where(x => (x.EnableStatus == EnableStatusEnum.Normal.ObjToInt() || x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt()) && x.LocationStatus == LocationStatusEnum.Free.ObjToInt() && x.LocationType == palletType.ObjToInt() && !lockLocationCodes.Contains(x.LocationCode)).OrderByDescending(x => x.Depth).ThenBy(x => x.Layer).ThenBy(x => x.Column).ThenBy(x => x.Row).ToList();
+
+ if (heightType == 1)
+ {
+ undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => x.Layer >= 14).ToList();
+ definedTypeEmptyLocations = definedTypeEmptyLocations.Where(x => x.Layer >= 14).ToList();
+ }
+ else if (heightType == 2)
+ {
+ undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => x.Layer <= 13).ToList();
+ definedTypeEmptyLocations = definedTypeEmptyLocations.Where(x => x.Layer <= 13).ToList();
+ }
+ else if (heightType == 3)
+ {
+ undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => x.Layer <= 4).ToList();
+ definedTypeEmptyLocations = definedTypeEmptyLocations.Where(x => x.Layer <= 4).ToList();
+ }
+ //else
+ //{
+ // undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => false).ToList();
+ // definedTypeEmptyLocations = definedTypeEmptyLocations.Where(x => false).ToList();
+ //}
+
+ if (palletTypeInfo.LocaitonCount == 2)
+ {
+ if (roadwayNo != "SC01_YS")
+ definedTypeEmptyLocations = definedTypeEmptyLocations.Where(x => x.Column % 2 == 1).ToList();
+ else
+ definedTypeEmptyLocations = definedTypeEmptyLocations.Where(x => x.Column % 2 == 0).ToList();
+ }
+
+ if (definedTypeEmptyLocations.Any())
+ {
+ for (int i = 0; i < definedTypeEmptyLocations.Count; i++)
+ {
+ Dt_LocationInfo definedTypeEmptyLocation = definedTypeEmptyLocations[i];
+ Dt_LocationInfo? locationInfo = GetUsableLocation_CP(locationInfos, definedTypeEmptyLocation, palletType, palletTypeInfo);
+ //鍒ゆ柇璐т綅涓ゆ繁鍙婁互涓婃槸鍚﹀瓨鍦ㄥ嚭搴撻攣瀹氳揣浣�
+ //if (locationInfo?.Depth == 1)
+ //{
+ // Dt_LocationInfo? IsBebusyLocation = locationInfos.Where(x => x.Row == (locationInfo?.Row == 2 ? locationInfo?.Row - 1 : locationInfo?.Row + 1) && x.Column == locationInfo?.Column && x.Layer == locationInfo?.Layer).FirstOrDefault();
+ // if (IsBebusyLocation != null && (IsBebusyLocation.LocationStatus < LocationStatusEnum.InStock.ObjToInt()))
+ // {
+ // continue;
+ // }
+ //}
+ if (locationInfo != null)
+ {
+ locationCaches_YS.Add(new LocationCache { LocationCode = locationInfo.LocationCode, DateTime = DateTime.Now });
+ return locationInfo;
+ }
+ }
+ }
+ if ((/*locationInfos.Count * weightValue_BC >= definedTypeLocations.Count &&*/ undefinedTypeEmptyLocations.Any()))//濡傛灉宸插畾涔夌被鍨嬭揣浣嶆湭瓒呰繃姣斾緥锛屼笖鏈夋湭瀹氫箟绫诲瀷鐨勮揣浣�
+ {
+ if (palletTypeInfo.LocaitonCount == 2)
+ {
+ if (roadwayNo != "SC01_YS")
+ undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => x.Column % 2 == 1).ToList();
+ else
+ undefinedTypeEmptyLocations = undefinedTypeEmptyLocations.Where(x => x.Column % 2 == 0).ToList();
+
+ for (int i = 0; i < undefinedTypeEmptyLocations.Count; i++)
+ {
+ Dt_LocationInfo undefinedTypeEmptyLocation = undefinedTypeEmptyLocations[i];
+ Dt_LocationInfo? locationInfo = GetUsableLocation_CP(locationInfos, undefinedTypeEmptyLocation, palletType, palletTypeInfo);
+ //鍒ゆ柇璐т綅涓ゆ繁鍙婁互涓婃槸鍚﹀瓨鍦ㄥ嚭搴撻攣瀹氳揣浣�
+ //if (locationInfo?.Depth == 1)
+ //{
+ // Dt_LocationInfo? IsBebusyLocation = locationInfos.Where(x => x.Row == (locationInfo?.Row == 2 ? locationInfo?.Row - 1 : locationInfo?.Row + 1) && x.Column == locationInfo?.Column && x.Layer == locationInfo?.Layer).FirstOrDefault();
+ // if (IsBebusyLocation != null && (IsBebusyLocation.LocationStatus < LocationStatusEnum.InStock.ObjToInt()))
+ // {
+ // continue;
+ // }
+ //}
+ if (locationInfo != null)
+ {
+ //UpdateLocationStatus(locationInfo, palletType, LocationStatusEnum.Lock, locationInfo.WarehouseId);
+ locationCaches_YS.Add(new LocationCache { LocationCode = locationInfo.LocationCode, DateTime = DateTime.Now });
+ return locationInfo;
+ }
+ }
+ }
+ else
+ {
+ Dt_LocationInfo undefinedTypeEmptyLocation = undefinedTypeEmptyLocations.FirstOrDefault();
+ Dt_LocationInfo? locationInfo = GetUsableLocation_YS(locationInfos, undefinedTypeEmptyLocation, palletType, palletTypeInfo);
+ locationCaches_YS.Add(new LocationCache { LocationCode = locationInfo.LocationCode, DateTime = DateTime.Now });
+ return locationInfo;
+ }
+
+ }
+ return null;
+ }
+ }
+
+
+
+ /// <summary>
+ /// 鑾峰彇鍙敤璐т綅(娴嬭瘯鏋朵粨)
+ /// </summary>
+ /// <param name="locationInfos"></param>
+ /// <param name="emptyLocation"></param>
+ /// <param name="palletType"></param>
+ /// <returns></returns>
+ private Dt_LocationInfo? GetUsableLocation_YS(List<Dt_LocationInfo> locationInfos, Dt_LocationInfo emptyLocation, int palletType, Dt_PalletTypeInfo palletTypeInfo)
+ {
+
+ if (palletTypeInfo.LocaitonCount == 2)
+ {
+ Dt_LocationInfo? nearLocation = null;
+ if (emptyLocation.RoadwayNo != "SC01_YS" && emptyLocation.Column % 2 == 1)
+ nearLocation = locationInfos.FirstOrDefault(x => x.Row == emptyLocation.Row && x.Layer == emptyLocation.Layer && x.Depth == emptyLocation.Depth && x.Column == emptyLocation.Column - 1);
+ else if (emptyLocation.RoadwayNo == "SC01_YS" && emptyLocation.Column % 2 == 0)
+ nearLocation = locationInfos.FirstOrDefault(x => x.Row == emptyLocation.Row && x.Layer == emptyLocation.Layer && x.Depth == emptyLocation.Depth && x.Column == emptyLocation.Column + 1);
+ if (nearLocation != null && DepthLocationIsEmpty_YS(locationInfos, nearLocation) != null)
+ {
+ Dt_LocationInfo? locationInfo = DepthLocationIsEmpty_YS(locationInfos, emptyLocation);
+ if (locationInfo != null)
+ {
+ return locationInfo;
+ }
+ }
+ }
+ else
+ {
+ Dt_LocationInfo? locationInfo = DepthLocationIsEmpty_YS(locationInfos, emptyLocation);
+ if (locationInfo != null)
+ {
+ return locationInfo;
+ }
+ }
+ return null;
+ }
+
+
+ /// <summary>
+ /// 鍒ゆ柇涓嶅悓娣卞害鐨勫悓缁勮揣浣嶇姸鎬佹槸鍚︿负绌洪棽绌轰綅(娴嬭瘯鏋朵粨)
+ /// </summary>
+ /// <param name="locationInfos"></param>
+ /// <param name="emptyLocation"></param>
+ /// <returns></returns>
+ private Dt_LocationInfo? DepthLocationIsEmpty_YS(List<Dt_LocationInfo> locationInfos, Dt_LocationInfo emptyLocation)
+ {
+ List<Dt_LocationInfo> locations = GetGroupLocations(locationInfos, emptyLocation);
+
+ bool moreDepthFlag = false;
+ bool littleDepthFlag = false;
+
+ if (emptyLocation.LocationType == 0)
+ {
+ List<Dt_LocationInfo> moreDepth = locations.Where(x => x.Depth > emptyLocation.Depth).ToList();
+ moreDepthFlag = moreDepth.FirstOrDefault(x => x.LocationStatus != LocationStatusEnum.InStock.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && x.LocationType != 0) == null;//鏌ヨ澶т簬褰撳墠璐т綅娣卞害鐨勯泦鍚堥噷鏄惁鏈夌姸鎬佷笉涓烘湁璐х殑璐т綅锛屽鏋滄槸true锛屽垯琛ㄧず娣辫揣浣嶆湁鏈浣跨敤鐨勬儏鍐�
+
+ List<Dt_LocationInfo> littleDepth = locations.Where(x => x.Depth <= emptyLocation.Depth).ToList();
+ littleDepthFlag = littleDepth.FirstOrDefault(x => x.LocationStatus != LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && x.LocationType != 0) == null; //鏌ヨ灏忎簬褰撳墠璐т綅娣卞害鐨勯泦鍚堥噷鏄惁鏈夌姸鎬佷笉涓虹┖锛屼笖绂佺敤鐘舵�佷笉涓虹鐢ㄤ互鍙婂彧鍏ョ殑璐т綅锛屽鏋滄槸true锛屽垯琛ㄧず娴呰揣浣嶈浣跨敤鎴栬�呰绂佺敤鐨勬儏鍐�
+ }
+ else
+ {
+ List<Dt_LocationInfo> moreDepth = locations.Where(x => x.Depth > emptyLocation.Depth).ToList();
+ moreDepthFlag = moreDepth.FirstOrDefault(x => x.LocationStatus != LocationStatusEnum.InStock.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && x.LocationType != emptyLocation.LocationType) == null;//鏌ヨ澶т簬褰撳墠璐т綅娣卞害鐨勯泦鍚堥噷鏄惁鏈夌姸鎬佷笉涓烘湁璐х殑璐т綅锛屽鏋滄槸true锛屽垯琛ㄧず娣辫揣浣嶆湁鏈浣跨敤鐨勬儏鍐�
+
+ List<Dt_LocationInfo> littleDepth = locations.Where(x => x.Depth <= emptyLocation.Depth).ToList();
+ littleDepthFlag = littleDepth.FirstOrDefault(x => x.LocationStatus != LocationStatusEnum.Free.ObjToInt() && (x.EnableStatus == EnableStatusEnum.OnlyIn.ObjToInt() || x.EnableStatus == EnableStatusEnum.Normal.ObjToInt()) && x.LocationType != emptyLocation.LocationType) == null; //鏌ヨ灏忎簬褰撳墠璐т綅娣卞害鐨勯泦鍚堥噷鏄惁鏈夌姸鎬佷笉涓虹┖锛屼笖绂佺敤鐘舵�佷笉涓虹鐢ㄤ互鍙婂彧鍏ョ殑璐т綅锛屽鏋滄槸true锛屽垯琛ㄧず娴呰揣浣嶈浣跨敤鎴栬�呰绂佺敤鐨勬儏鍐�
+ }
+ if (moreDepthFlag && littleDepthFlag)
+ {
+ return emptyLocation;
+ }
+
+ return null;
+ }
+ }
+}
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs b/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs
index 5e15212..6379ac6 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_BasicService/Service/LocationInfoService_Common.cs
@@ -49,7 +49,10 @@
{
"SC01_BC" => AssignLocation_BC(roadwayNo, palletType, palletTypeInfo, beRelocationCode, heightType),
"SC02_BC" => AssignLocation_BC(roadwayNo, palletType, palletTypeInfo, beRelocationCode, heightType),
- "TestJCLK" => AssignLocation_CP(roadwayNo, palletType, palletTypeInfo, beRelocationCode, heightType),
+ "SC01_CP" => AssignLocation_CP(roadwayNo, palletType, palletTypeInfo, beRelocationCode, heightType),
+ "SC02_CP" => AssignLocation_CP(roadwayNo, palletType, palletTypeInfo, beRelocationCode, heightType),
+ "SC01_YS" => AssignLocation_YS(roadwayNo, palletType, palletTypeInfo, beRelocationCode, heightType),
+ "SC01_FL" => AssignLocation_FL(roadwayNo, palletType, palletTypeInfo, beRelocationCode, heightType),
//"HA58" => AssignLocation_PP(roadwayNo, palletType, palletTypeInfo, beRelocationCode),
//"HA152" => AssignLocation_GM(roadwayNo, palletType, palletTypeInfo, beRelocationCode),
//"HA64" => AssignLocation_CSJ(roadwayNo, palletType, palletTypeInfo, beRelocationCode),
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_Common/InventoryAllocate.cs b/WMS/WIDESEA_WMSServer/WIDESEA_Common/InventoryAllocate.cs
index 3adfd49..12265fc 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_Common/InventoryAllocate.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_Common/InventoryAllocate.cs
@@ -62,7 +62,7 @@
/// <summary>
/// LPN鍙�
/// </summary>
- public string LPN_No { get; set; }
+ public string LPNNo { get; set; }
/// <summary>
/// 鐗╂枡缂栫爜
/// </summary>
@@ -83,6 +83,8 @@
/// 搴撲綅
/// </summary>
public string LocationName { get; set; }
+
+ public List<string> LabelList=new List<string>();
}
}
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs b/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs
index ad3e3be..ac2c384 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_Common/TaskEnum/TaskTypeEnum.cs
@@ -71,6 +71,12 @@
/// </summary>
[Description("鍑虹┖鎵�")]
PalletOutbound = 104,
+
+ /// <summary>
+ /// 鎴愬搧鍑哄簱
+ /// </summary>
+ [Description("鎴愬搧鍑哄簱")]
+ OutProduct = 230,
}
public enum TaskRelocationTypeEnum
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutStockLockInfoService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutStockLockInfoService.cs
index b52dac0..58bfb42 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutStockLockInfoService.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_IOutboundService/IOutStockLockInfoService.cs
@@ -30,6 +30,6 @@
/// <param name="taskNum"></param>
/// <returns></returns>
Dt_OutStockLockInfo GetOutStockLockInfo(Dt_OutboundOrder outboundOrder, Dt_OutboundOrderDetail outboundOrderDetail, Dt_StockInfo outStock, decimal assignQuantity, int? taskNum = null);
- Dt_OutStockLockInfo GetOutStockLockInfo(Dt_NewOutboundOrder outboundOrder, Dt_NewOutboundOrderDetail outboundOrderDetail, Dt_StockInfo outStock, decimal assignQuantity, int? taskNum = null);
+ Dt_OutStockLockInfo GetOutStockLockInfo(Dt_NewOutboundOrder outboundOrder, Dt_NewOutboundOrderDetail outboundOrderDetail, Dt_StockInfo outStock, Dt_StockInfoDetail stockInfoDetail ,decimal assignQuantity, int? taskNum = null);
}
}
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs
index 3314a18..5c42a95 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_ITaskInfoService/ITaskService.cs
@@ -42,12 +42,14 @@
WebResponseContent DeviceRequestInboundTaskSimple(string stationCode, string palletCode, int heightType);
+ WebResponseContent CPDeviceRequestInboundTaskSimple(string stationCode, string palletCode, int heightType, string courceAddress);
+
WebResponseContent ApplyLocation(string palletCode);
Task<WebResponseContent> TaskCompleted(int taskNum);
WebResponseContent UpdateTaskStatus(int tasknum, int tasktype);
-
+
WebResponseContent GenerateOutboundTask(int orderDetailId, List<StockSelectViewDTO> stockSelectViews);
@@ -60,7 +62,7 @@
WebResponseContent IsRelocations(int TaskNum, string SourceAddress);
WebResponseContent Cancelinventory(int taskNum);
WebResponseContent InboundTaskCompleted(int taskNum);
- WebResponseContent OutboundTaskCompleted(int taskNum);
+ WebResponseContent OutboundTaskCompleted(int taskNum);
WebResponseContent AddOutboundOrders(Houseounbound orderAddDTO);
WebResponseContent InventoryOut(HouseCancelOut houseInventoryOut);
WebResponseContent InventoryIn(string name, int qty);
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs
index 11d4d63..10471c1 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_InboundService/Base/InboundOrderService.cs
@@ -551,8 +551,6 @@
x.OrderDetailStatus == OrderDetailStatusEnum.GroupAndInbound.ObjToInt());
- inboundOrder.OrderStatus = InOrderStatusEnum.鍏ュ簱涓�.ObjToInt();
-
// 浜嬪姟澶勭悊
_unitOfWorkManage.BeginTran();
@@ -714,7 +712,7 @@
{
return content.Error($"鏈壘鍒颁粨搴撲俊鎭�");
}
- if (warehouse.WarehouseCode.Contains("TestJCLK"))
+ if (warehouse.WarehouseCode.Contains("CP"))
{
if (item.SupplierBatch == null)
{
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_NewOutboundOrder.cs b/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_NewOutboundOrder.cs
index ff92b6e..dc4a690 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_NewOutboundOrder.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_Model/Models/Outbound/Dt_NewOutboundOrder.cs
@@ -54,7 +54,7 @@
[SugarColumn(IsNullable = true, ColumnDescription = "鍑哄叆搴撶被鍨�",Length = 50)]
public string InoutType { get; set; }
- [Navigate(NavigateType.OneToMany, nameof(Dt_OutboundOrderDetail.OrderId), nameof(Id))]
- public List<Dt_OutboundOrderDetail> Details { get; set; }
+ [Navigate(NavigateType.OneToMany, nameof(Dt_NewOutboundOrderDetail.OrderId), nameof(Id))]
+ public List<Dt_NewOutboundOrderDetail> Details { get; set; }
}
}
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutStockLockInfoService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutStockLockInfoService.cs
index cea3190..d40a127 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutStockLockInfoService.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_OutboundService/Service/OutStockLockInfoService.cs
@@ -41,7 +41,7 @@
return outStockLockInfo;
}
- public Dt_OutStockLockInfo GetOutStockLockInfo(Dt_NewOutboundOrder outboundOrder, Dt_NewOutboundOrderDetail outboundOrderDetail, Dt_StockInfo outStock, decimal assignQuantity, int? taskNum = null)
+ public Dt_OutStockLockInfo GetOutStockLockInfo(Dt_NewOutboundOrder outboundOrder, Dt_NewOutboundOrderDetail outboundOrderDetail, Dt_StockInfo outStock, Dt_StockInfoDetail stockInfoDetail, decimal assignQuantity, int? taskNum = null)
{
Dt_OutStockLockInfo outStockLockInfo = new Dt_OutStockLockInfo()
@@ -49,13 +49,13 @@
PalletCode = outStock.PalletCode,
AssignQuantity = assignQuantity,
MaterielCode = outboundOrderDetail.MaterielCode,
- BatchNo = outboundOrderDetail.BatchNo ?? outStock.Details.FirstOrDefault()?.BatchNo,
+ BatchNo = outboundOrderDetail.BatchNo ?? stockInfoDetail.BatchNo,
LocationCode = outStock.LocationCode,
MaterielName = outboundOrderDetail.MaterielName,
OrderDetailId = outboundOrderDetail.Id,
OrderNo = outboundOrder.OrderNo,
OrderType = outboundOrder.OrderType,
- OriginalQuantity = outStock.Details.Where(x => x.MaterielCode == outboundOrderDetail.MaterielCode).Sum(x => x.StockQuantity),
+ OriginalQuantity = stockInfoDetail.StockQuantity,
//Status = taskNum == null ? OutLockStockStatusEnum.宸插垎閰�.ObjToInt() : OutLockStockStatusEnum.鍑哄簱涓�.ObjToInt(),
StockId = outStock.Id,
TaskNum = taskNum,
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/NewPartialTaskService_Outbound.cs b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/NewPartialTaskService_Outbound.cs
index 0f9506a..2abac11 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/NewPartialTaskService_Outbound.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/NewPartialTaskService_Outbound.cs
@@ -20,7 +20,7 @@
List<Dt_LocationInfo> locationInfos = new List<Dt_LocationInfo>();
List<Dt_OutStockLockInfo> outStockLockInfos = new List<Dt_OutStockLockInfo>();
- List<Dt_NewOutboundOrderDetail> outboundOrderDetails = _outboundService.NewOutboundOrderDetailService.Repository.QueryData(x => keys.Contains(x.OrderId));
+ List<Dt_NewOutboundOrderDetail> outboundOrderDetails = _outboundService.NewOutboundOrderDetailService.Repository.QueryData(x => keys.Contains(x.Id));
if (outboundOrderDetails == null || outboundOrderDetails.Count == 0)
{
throw new Exception("鏈壘鍒板嚭搴撳崟鏄庣粏淇℃伅");
@@ -29,7 +29,7 @@
{
throw new Exception("鎵�閫夊嚭搴撳崟鏄庣粏瀛樺湪鍑哄簱涓垨宸插畬鎴�");
}
- List<Dt_NewOutboundOrder> outboundOrders = _outboundService.NewOutboundOrderService.Repository.QueryData(x => keys.Contains(x.Id));
+ List<Dt_NewOutboundOrder> outboundOrders = _outboundService.NewOutboundOrderService.Repository.QueryData(x => x.Id == outboundOrderDetails.FirstOrDefault().OrderId);
List<Dt_StockInfo> stockInfos = _stockService.StockInfoService.Repository.QueryData(x => outboundOrderDetails.Select(s => s.LPNNo).Contains(x.PalletCode));
if (outboundOrderDetails == null || outboundOrderDetails.Count == 0)
{
@@ -46,10 +46,11 @@
stockInfoDetail.OutboundQuantity += item.OrderQuantity;
item.LockQuantity += item.OrderQuantity;
var outboundOrder = outboundOrders.FirstOrDefault(x => x.Id == item.OrderId);
- Dt_OutStockLockInfo outStockLockInfo = _outboundService.OutboundStockLockInfoService.GetOutStockLockInfo(outboundOrder, item, stockInfo, item.OrderQuantity);
+ Dt_OutStockLockInfo outStockLockInfo = _outboundService.OutboundStockLockInfoService.GetOutStockLockInfo(outboundOrder, item, stockInfo, stockInfoDetail, item.OrderQuantity);
outStockLockInfo.Status = OutStockStatus.鍑哄簱涓�.ObjToInt();
item.OrderDetailStatus = OrderDetailStatusEnum.Outbound.ObjToInt();
outboundOrder.OrderStatus = OutboundStatusEnum.鍑哄簱涓�.ObjToInt();
+ stockInfo.StockStatus = StockStatusEmun.鍑哄簱閿佸畾.ObjToInt();
var task = Newtasks.FirstOrDefault(x => x.PalletCode == item.LPNNo);
task.OrderNo = outboundOrder.OrderNo;
tasks.Add(task);
@@ -71,7 +72,7 @@
_unitOfWorkManage.CommitTran();
//灏嗕换鍔℃帹閫佸埌WCS
- return PushTasksToWCS(tasks);
+ return PushTasksWCS(tasks);
}
catch (Exception ex)
{
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs
index 4357b09..ba47fd4 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Inbound.cs
@@ -175,7 +175,7 @@
_unitOfWorkManage.CommitTran();
WMSTaskDTO wMSTaskDTO = _mapper.Map<WMSTaskDTO>(newTask);
- if (warehouse.WarehouseCode.Contains("TestJCLK"))
+ if (warehouse.WarehouseCode.Contains("CP"))
{
PushTasksWCS(new List<Dt_Task> { newTask });
}
@@ -183,6 +183,163 @@
{
PushTasksToWCS(new List<Dt_Task> { newTask });
}
+ return WebResponseContent.Instance.OK(data: wMSTaskDTO);
+ }
+ catch (Exception ex)
+ {
+ _unitOfWorkManage.RollbackTran();
+ return WebResponseContent.Instance.Error(ex.Message);
+ }
+ }
+
+ public WebResponseContent CPDeviceRequestInboundTaskSimple(string stationCode, string palletCode, int heightType, string courceAddress)
+ {
+ try
+ {
+ Dt_Task task = Repository.QueryFirst(x => x.PalletCode == palletCode);
+ if (task != null)
+ {
+ return WebResponseContent.Instance.Error($"璇ユ墭鐩榹palletCode}宸茬敓鎴愪换鍔�");
+ }
+ Dt_StockInfo stockInfo = _stockRepository.StockInfoRepository.Db.Queryable<Dt_StockInfo>().Where(x => x.PalletCode == palletCode).Includes(x => x.Details).First();
+
+ if (stockInfo == null)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒扮粍鐩樹俊鎭�");
+ }
+ ///鍒ゆ柇鏄惁瀛樺湪鍥炲簱鍗�,杩涜鍥炲師搴撲綅閫昏緫
+ string returnOrderNo = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.OrderNo;
+ Dt_ReturnOrder returnOrder = _returnOrderRepository.QueryFirst(x => x.OrderNo == returnOrderNo && x.OrderStatus == InOrderStatusEnum.鏈紑濮�.ObjToInt());
+ Dt_RoadwayInfo returnRoadwayInfo = new Dt_RoadwayInfo();
+ if (returnOrder != null && !string.IsNullOrEmpty(returnOrder.LocationCode))
+ {
+ Dt_LocationInfo locationInfo1 = _locationInfoService.Repository.QueryFirst(x => x.LocationCode == returnOrder.LocationCode);
+ if (locationInfo1 == null)
+ {
+ return WebResponseContent.Instance.Error($"鍥炲簱鍗曚腑璇ュ簱浣峽returnOrder.LocationCode}鏈壘鍒�");
+ }
+ returnRoadwayInfo = _basicRepository.RoadwayInfoRepository.QueryFirst(x => x.RoadwayNo == locationInfo1.RoadwayNo);
+ }
+
+ if (Repository.QueryFirst(x => x.SourceAddress == (returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode) && x.TaskStatus == TaskStatusEnum.New.ObjToInt()) != null)
+ {
+ return WebResponseContent.Instance.Error($"璇ョ珯鐐瑰凡鏈夋湭鎵ц鐨勪换鍔�");
+ }
+
+ var details = stockInfo.Details.FirstOrDefault();
+ if (!string.IsNullOrEmpty(stockInfo.LocationCode))
+ {
+ return WebResponseContent.Instance.Error($"璇ユ墭鐩樺凡缁戝畾璐т綅");
+ }
+ Dt_RoadwayInfo roadwayInfo = _basicRepository.RoadwayInfoRepository.QueryFirst(x => x.InStationCode == (returnRoadwayInfo.InStationCode != null ? returnRoadwayInfo.InStationCode : stationCode));
+ if (roadwayInfo == null)
+ {
+ return WebResponseContent.Instance.Error($"鏈壘鍒拌鍏ュ簱绔欏彴鍦板潃");
+ }
+
+ Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseCode == roadwayInfo.RoadwayNo);
+ if (warehouse == null)
+ {
+ return WebResponseContent.Instance.Error("鏈壘鍒拌浠撳簱");
+ }
+
+ Dt_LocationInfo? locationInfo = new Dt_LocationInfo();
+ if (returnOrder != null && !string.IsNullOrEmpty(returnOrder.LocationCode))
+ {
+ locationInfo = _locationInfoService.Repository.QueryFirst(x => x.LocationCode == returnOrder.LocationCode);
+ if (locationInfo.LocationStatus != LocationStatusEnum.Lock.ObjToInt() || locationInfo.EnableStatus == EnableStatusEnum.Disable.ObjToInt() || locationInfo.EnableStatus == EnableStatusEnum.OnlyOut.ObjToInt())
+ {
+ return WebResponseContent.Instance.Error($"璇ュ洖搴撳崟璐т綅{locationInfo.LocationCode}闈為攣瀹氱姸鎬佹垨璐т綅鍚敤鐘舵�佷笉姝g‘锛岃妫�鏌�");
+ }
+ }
+ else
+ {
+ locationInfo = _basicService.LocationInfoService.AssignLocation(roadwayInfo.RoadwayNo, stockInfo.PalletType, warehouse.WarehouseId, "", heightType);//, stockInfo.WarehouseId
+ if (locationInfo == null)
+ {
+ return WebResponseContent.Instance.Error($"璐т綅鍒嗛厤澶辫触,鏈壘鍒板彲鍒嗛厤璐т綅");
+ }
+ }
+
+ Dt_Task newTask = new Dt_Task()
+ {
+ CurrentAddress = courceAddress,
+ Grade = 0,
+ NextAddress = "",
+ PalletCode = palletCode,
+ OrderNo = details.OrderNo,
+ Roadway = roadwayInfo.RoadwayNo,
+ SourceAddress = courceAddress,
+ TargetAddress = locationInfo.LocationCode,
+ TaskType = TaskTypeEnum.Inbound.ObjToInt(),
+ TaskStatus = TaskStatusEnum.New.ObjToInt(),
+ WarehouseId = stockInfo.WarehouseId,
+ PalletType = GetPalletType(warehouse, palletCode),//GetPalletType(warehouse, palletCode)
+ Creater = "WCS",
+ CreateDate = DateTime.Now
+ };
+ string MaterielCode = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode;
+ float Quantity = (float)stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity);
+ if (MaterielCode != null && Quantity != null)
+ {
+ newTask.MaterielCode = MaterielCode;
+ newTask.Quantity = (float)Quantity;
+ }
+ if (stockInfo.StockStatus == StockStatusEmun.浣欐枡閫�搴�.ObjToInt())
+ {
+ newTask.TaskType = TaskTypeEnum.SurplusReturn.ObjToInt();
+ }
+ if (stockInfo.StockStatus == StockStatusEmun.鍙嶆嫞鍏ュ簱.ObjToInt())
+ {
+ newTask.TaskType = TaskTypeEnum.ReverseIn.ObjToInt();
+ }
+ if (stockInfo.StockStatus == StockStatusEmun.鐩樼偣搴撳瓨瀹屾垚.ObjToInt())
+ {
+ newTask.TaskType = TaskTypeEnum.InInventory.ObjToInt();
+ }
+ //if (stockInfo.StockStatus == StockStatusEmun.鎵嬪姩缁勭洏鏆傚瓨.ObjToInt())
+ //{
+ // stockInfo.StockStatus = StockStatusEmun.鎵嬪姩缁勭洏鍏ュ簱纭.ObjToInt();
+ //}
+ //else if (stockInfo.StockStatus == StockStatusEmun.MES閫�搴�.ObjToInt())
+ //{
+ // newTask.TaskType = TaskTypeEnum.MesMatReturn.ObjToInt();
+ //}
+ //else if (stockInfo.StockStatus == StockStatusEmun.MES绌烘墭閫�搴�.ObjToInt())
+ //{
+ // Dt_PalletTypeInfo palletTypeInfo = _palletTypeInfoRepository.QueryFirst(x => x.WarehouseId == stockInfo.WarehouseId && x.PalletType == stockInfo.PalletType);
+ // //todo 灏忔墭鐩樻殏鏃舵湭鍚敤
+ // if (palletTypeInfo.LocaitonCount == 2)
+ // {
+ // newTask.TaskType = TaskTypeEnum.MesPalletLargeReturn.ObjToInt();
+ // }
+ // else
+ // {
+ // newTask.TaskType = TaskTypeEnum.MesPalletSmallReturn.ObjToInt();
+ // }
+ //}
+ //else
+ //{
+ stockInfo.StockStatus = StockStatusEmun.鍏ュ簱纭.ObjToInt();
+ locationInfo.LocationStatus = LocationStatusEnum.Lock.ObjToInt();
+ //}
+
+ _unitOfWorkManage.BeginTran();
+ int taskId = BaseDal.AddData(newTask);
+ newTask.TaskId = taskId;
+ if (returnOrder != null)
+ {
+ returnOrder.OrderStatus = InOrderStatusEnum.鍏ュ簱涓�.ObjToInt();
+ _returnOrderRepository.UpdateData(returnOrder);
+ }
+ _stockRepository.StockInfoRepository.UpdateData(stockInfo);
+ _locationInfoService.UpdateData(locationInfo);
+
+ _unitOfWorkManage.CommitTran();
+ WMSTaskDTO wMSTaskDTO = _mapper.Map<WMSTaskDTO>(newTask);
+
+ PushTasksWCS(new List<Dt_Task> { newTask });
+
return WebResponseContent.Instance.OK(data: wMSTaskDTO);
}
catch (Exception ex)
@@ -206,7 +363,7 @@
{
return WebResponseContent.Instance.Error($"鏈壘鍒扮粍鐩樹俊鎭�");
}
- return WebResponseContent.Instance.OK(data:stockInfo.WarehouseId);
+ return WebResponseContent.Instance.OK(data: stockInfo.WarehouseId);
}
catch (Exception ex)
{
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs
index 2448941..4c08d5d 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/PartialTaskService_Outbound.cs
@@ -47,6 +47,10 @@
if (stockInfo != null)
{
Dt_LocationInfo locationInfo = _basicService.LocationInfoService.Repository.QueryFirst(x => x.LocationCode == stockInfo.LocationCode);
+ if (locationInfo==null)
+ {
+ throw new Exception("鏈壘鍒板嚭搴撳簱浣�");
+ }
Dt_Task dt_Task = BaseDal.QueryFirst(x => x.SourceAddress == locationInfo.LocationCode || x.TargetAddress == locationInfo.LocationCode);
if (dt_Task != null)
{
@@ -61,30 +65,58 @@
Dt_StockInfoDetail stockInfoDetail = _stockService.StockInfoDetailService.Repository.QueryFirst(x => x.StockId == stockInfo.Id);
if (roadwayInfo != null)
{
- Dt_Task task = new()
+ if (roadwayInfo.RoadwayNo.Contains("CP"))
{
- PalletType = stockInfo.PalletType,
- OrderNo = stockInfoDetail.OrderNo,
- CurrentAddress = locationInfo.LocationCode,
- Grade = 0,
- Creater = "WMS",
- PalletCode = stockInfo.PalletCode,
- NextAddress = roadwayInfo.OutSCStationCode,
- Roadway = locationInfo.RoadwayNo,
- SourceAddress = locationInfo.LocationCode,
- TargetAddress = "",
- TaskStatus = OutTaskStatusEnum.OutNew.ObjToInt(),
- TaskType = taskType.ObjToInt(),
- Depth = locationInfo.Depth,
- WarehouseId = stockInfo.WarehouseId,
- TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum))
- };
- if (taskType != TaskTypeEnum.OutEmpty)
- {
- task.MaterielCode = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode;
- task.Quantity = (float)stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity);
+ Dt_Task task = new()
+ {
+ PalletType = stockInfo.PalletType,
+ OrderNo = stockInfoDetail.OrderNo,
+ CurrentAddress = locationInfo.LocationCode,
+ Grade = 0,
+ Creater = "WMS",
+ PalletCode = stockInfo.PalletCode,
+ NextAddress = roadwayInfo.OutSCStationCode,
+ Roadway = locationInfo.RoadwayNo,
+ SourceAddress = locationInfo.LocationCode,
+ TargetAddress = "",
+ TaskStatus = OutTaskStatusEnum.OutNew.ObjToInt(),
+ TaskType = taskType.ObjToInt(),
+ Depth = locationInfo.Depth,
+ WarehouseId = stockInfo.WarehouseId,
+ TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum)),
+ MaterielCode = stockInfoDetail.MaterielCode,
+ Quantity = (float)stockInfoDetail.StockQuantity
+ };
+ tasks.Add(task);
}
- tasks.Add(task);
+ else
+ {
+ Dt_Task task = new()
+ {
+ PalletType = stockInfo.PalletType,
+ OrderNo = stockInfoDetail.OrderNo,
+ CurrentAddress = locationInfo.LocationCode,
+ Grade = 0,
+ Creater = "WMS",
+ PalletCode = stockInfo.PalletCode,
+ NextAddress = roadwayInfo.OutSCStationCode,
+ Roadway = locationInfo.RoadwayNo,
+ SourceAddress = locationInfo.LocationCode,
+ TargetAddress = "",
+ TaskStatus = OutTaskStatusEnum.OutNew.ObjToInt(),
+ TaskType = taskType.ObjToInt(),
+ Depth = locationInfo.Depth,
+ WarehouseId = stockInfo.WarehouseId,
+ TaskNum = BaseDal.GetTaskNum(nameof(SequenceEnum.SeqTaskNum))
+ };
+ if (taskType != TaskTypeEnum.OutEmpty)
+ {
+ task.MaterielCode = stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).FirstOrDefault()?.MaterielCode;
+ task.Quantity = (float)stockInfo.Details?.Where(x => x.StockId == stockInfo.Id).Sum(x => x.StockQuantity);
+ }
+ tasks.Add(task);
+ }
+
}
}
@@ -254,36 +286,299 @@
{
return WebResponseContent.Instance.Error($"鏈壘鍒拌浠撳簱淇℃伅");
}
- Dt_OutboundOrder oldOuboundOrder = BaseDal.Db.Queryable<Dt_OutboundOrder>().Where(x => x.UpperOrderNo == orderAddDTO.No).Includes(x => x.Details).First();
- Dt_Production production = new Dt_Production();
- if (oldOuboundOrder != null)
+ if (warehouse.WarehouseCode.Contains("CP"))
{
- if (oldOuboundOrder.OutWareHouse != warehouse.WarehouseCode)
+ Dt_NewOutboundOrder newOutboundOrder = BaseDal.Db.Queryable<Dt_NewOutboundOrder>().Where(x => x.UpperOrderNo == orderAddDTO.No).Includes(x => x.Details).First();
+ Dt_Production production1 = new Dt_Production();
+ if (newOutboundOrder != null)
{
- return WebResponseContent.Instance.Error($"浠撳簱涓嶄竴鑷�");
+ if (newOutboundOrder.OutWareHouse != warehouse.WarehouseCode)
+ {
+ return WebResponseContent.Instance.Error($"浠撳簱涓嶄竴鑷�");
+ }
+ else
+ {
+ OutboundOrderAddDTO orderAddDTO1 = new OutboundOrderAddDTO();
+ orderAddDTO1.Details = orderAddDTO.DetailList.DicToIEnumerable<OutboundOrderDetailAddDTO>();
+ var details = orderAddDTO1.Details.FirstOrDefault();
+ Dt_NewOutboundOrderDetail outboundOrderDetail = new Dt_NewOutboundOrderDetail()
+ {
+ LPNNo = details.LPNNo,
+ BatchNo = details.BatchNo,
+ MaterielCode = details.MaterielCode,
+ MaterielName = details.MaterielName,
+ MaterieSpec = details.MaterieSpec,
+ OrderDetailStatus = OrderDetailStatusEnum.New.ObjToInt(),
+ OrderQuantity = details.OrderQuantity,
+ LinId = details.LinId,
+ OrderId = newOutboundOrder.Id,
+ Creater = "WMS",
+ CreateDate = DateTime.Now,
+ Remark = details.Remark,
+ SupplierBatch = details.SupplierBatch
+ };
+ _newOutboundOrderDetailRepository.AddData(outboundOrderDetail);
+ foreach (var item in orderAddDTO1.Details)
+ {
+ if (string.IsNullOrWhiteSpace(item.Remark))
+ {
+ continue;
+ }
+ string[] remarkEntries = item.Remark.Split(
+ new[] { ';' },
+ StringSplitOptions.RemoveEmptyEntries
+ );
+
+ foreach (var entry in remarkEntries)
+ {
+ string[] keyValuePairs = entry.Split(
+ new[] { ',' },
+ StringSplitOptions.RemoveEmptyEntries
+ );
+
+ foreach (var kvp in keyValuePairs)
+ {
+ int colonIndex = kvp.IndexOf(':');
+ if (colonIndex <= 0 || colonIndex >= kvp.Length - 1)
+ {
+ continue;
+ }
+
+ string key = kvp.Substring(0, colonIndex).Trim();
+ string value = kvp.Substring(colonIndex + 1).Trim();
+
+ switch (key)
+ {
+ case "鍒堕�犲崟鍙�":
+ production1.ProductionNo = value;
+ break;
+ case "鍒堕�犻儴浠�":
+ production1.ManufacturingCo = value;
+ break;
+ case "鍑哄簱鏁伴噺":
+ if (decimal.TryParse(value, out decimal outQuantity))
+ {
+ production1.OutQuantity = outQuantity;
+ }
+ else
+ {
+ Console.WriteLine($"鍑哄簱鏁伴噺鏍煎紡閿欒锛歿value}锛堝簲涓烘暟鍊硷紝濡�14.0000锛�");
+ }
+ break;
+ default:
+ Console.WriteLine($"鏈煡閿悕锛歿key}锛堝搴斿�硷細{value}锛岃烦杩囪閿�煎锛�");
+ break;
+ }
+
+ }
+ production1.Creater = "WMS";
+ production1.OrderId = outboundOrderDetail.Id;
+ _productionRepository.AddData(production1);
+ }
+ }
+ }
}
else
{
OutboundOrderAddDTO orderAddDTO1 = new OutboundOrderAddDTO();
+ orderAddDTO1.OrderNo = orderAddDTO.No;
+ orderAddDTO1.UpperOrderNo = orderAddDTO.No;
+ orderAddDTO1.OutWareHouse = orderAddDTO.OutWareHouse;
+ orderAddDTO1.TransactionCode = orderAddDTO.TransactionCode ?? "宸ュ崟鍙戞枡";
+ orderAddDTO1.InoutType = orderAddDTO.OrderType ?? InoutTypeEnum.WorkFeed.ToString();
+ orderAddDTO1.OrderType = orderAddDTO.InoutType;
+ orderAddDTO1.System = orderAddDTO.System;
+ IEnumerable<int> inOrderTypes = Enum.GetValues<OrderTypeEmun>().Cast<int>();
orderAddDTO1.Details = orderAddDTO.DetailList.DicToIEnumerable<OutboundOrderDetailAddDTO>();
- var details = orderAddDTO1.Details.FirstOrDefault();
- Dt_OutboundOrderDetail outboundOrderDetail = new Dt_OutboundOrderDetail()
+ #region 楠岃瘉鏁版嵁
+ (bool, string, object?) result = CheckOutboundOrderAddData(orderAddDTO1);
+ if (!result.Item1) return content = WebResponseContent.Instance.Error(result.Item2);
+ #endregion
+ Dt_NewOutboundOrder inboundOrder = _mapper.Map<Dt_NewOutboundOrder>(orderAddDTO1);
+ inboundOrder.OrderStatus = InboundStatusEnum.鏈紑濮�.ObjToInt();
+ inboundOrder.Creater = "WMS";
+ inboundOrder.CreateDate = DateTime.Now;
+ inboundOrder.CreateType = CreateType.UpperSystemPush.ObjToInt();
+ _unitOfWorkManage.BeginTran();
+ bool a = BaseDal.Db.InsertNav(inboundOrder).Include(x => x.Details).ExecuteCommand();
+
+ foreach (var item in orderAddDTO1.Details)
{
- LPNNo = details.LPNNo,
- BatchNo = details.BatchNo,
- MaterielCode = details.MaterielCode,
- MaterielName = details.MaterielName,
- MaterieSpec = details.MaterieSpec,
- OrderDetailStatus = OrderDetailStatusEnum.New.ObjToInt(),
- OrderQuantity = details.OrderQuantity,
- LinId = details.LinId,
- OrderId = oldOuboundOrder.Id,
- Creater = "WMS",
- CreateDate = DateTime.Now,
- Remark = details.Remark,
- SupplierBatch = details.SupplierBatch
- };
- _outboundOrderDetailRepository.AddData(outboundOrderDetail);
+ if (string.IsNullOrWhiteSpace(item.Remark))
+ {
+ continue;
+ }
+ string[] remarkEntries = item.Remark.Split(
+ new[] { ';' },
+ StringSplitOptions.RemoveEmptyEntries
+ );
+
+ foreach (var entry in remarkEntries)
+ {
+ string[] keyValuePairs = entry.Split(
+ new[] { ',' },
+ StringSplitOptions.RemoveEmptyEntries
+ );
+
+ foreach (var kvp in keyValuePairs)
+ {
+ int colonIndex = kvp.IndexOf(':');
+ if (colonIndex <= 0 || colonIndex >= kvp.Length - 1)
+ {
+ continue;
+ }
+
+ string key = kvp.Substring(0, colonIndex).Trim();
+ string value = kvp.Substring(colonIndex + 1).Trim();
+
+ switch (key)
+ {
+ case "鍒堕�犲崟鍙�":
+ production1.ProductionNo = value;
+ break;
+ case "鍒堕�犻儴浠�":
+ production1.ManufacturingCo = value;
+ break;
+ case "鍑哄簱鏁伴噺":
+ if (decimal.TryParse(value, out decimal outQuantity))
+ {
+ production1.OutQuantity = outQuantity;
+ }
+ else
+ {
+ Console.WriteLine($"鍑哄簱鏁伴噺鏍煎紡閿欒锛歿value}锛堝簲涓烘暟鍊硷紝濡�14.0000锛�");
+ }
+ break;
+ default:
+ Console.WriteLine($"鏈煡閿悕锛歿key}锛堝搴斿�硷細{value}锛岃烦杩囪閿�煎锛�");
+ break;
+ }
+
+ }
+ production1.Creater = "WMS";
+ production1.OrderId = inboundOrder.Details.FirstOrDefault().Id;
+ _productionRepository.AddData(production1);
+ }
+ }
+ _unitOfWorkManage.CommitTran();
+ }
+ }
+ else
+ {
+ Dt_OutboundOrder oldOuboundOrder = BaseDal.Db.Queryable<Dt_OutboundOrder>().Where(x => x.UpperOrderNo == orderAddDTO.No).Includes(x => x.Details).First();
+ Dt_Production production = new Dt_Production();
+ if (oldOuboundOrder != null)
+ {
+ if (oldOuboundOrder.OutWareHouse != warehouse.WarehouseCode)
+ {
+ return WebResponseContent.Instance.Error($"浠撳簱涓嶄竴鑷�");
+ }
+ else
+ {
+ OutboundOrderAddDTO orderAddDTO1 = new OutboundOrderAddDTO();
+ orderAddDTO1.Details = orderAddDTO.DetailList.DicToIEnumerable<OutboundOrderDetailAddDTO>();
+ var details = orderAddDTO1.Details.FirstOrDefault();
+ Dt_OutboundOrderDetail outboundOrderDetail = new Dt_OutboundOrderDetail()
+ {
+ LPNNo = details.LPNNo,
+ BatchNo = details.BatchNo,
+ MaterielCode = details.MaterielCode,
+ MaterielName = details.MaterielName,
+ MaterieSpec = details.MaterieSpec,
+ OrderDetailStatus = OrderDetailStatusEnum.New.ObjToInt(),
+ OrderQuantity = details.OrderQuantity,
+ LinId = details.LinId,
+ OrderId = oldOuboundOrder.Id,
+ Creater = "WMS",
+ CreateDate = DateTime.Now,
+ Remark = details.Remark,
+ SupplierBatch = details.SupplierBatch
+ };
+ _outboundOrderDetailRepository.AddData(outboundOrderDetail);
+ foreach (var item in orderAddDTO1.Details)
+ {
+ if (string.IsNullOrWhiteSpace(item.Remark))
+ {
+ continue;
+ }
+ string[] remarkEntries = item.Remark.Split(
+ new[] { ';' },
+ StringSplitOptions.RemoveEmptyEntries
+ );
+
+ foreach (var entry in remarkEntries)
+ {
+ string[] keyValuePairs = entry.Split(
+ new[] { ',' },
+ StringSplitOptions.RemoveEmptyEntries
+ );
+
+ foreach (var kvp in keyValuePairs)
+ {
+ int colonIndex = kvp.IndexOf(':');
+ if (colonIndex <= 0 || colonIndex >= kvp.Length - 1)
+ {
+ continue;
+ }
+
+ string key = kvp.Substring(0, colonIndex).Trim();
+ string value = kvp.Substring(colonIndex + 1).Trim();
+
+ switch (key)
+ {
+ case "鍒堕�犲崟鍙�":
+ production.ProductionNo = value;
+ break;
+ case "鍒堕�犻儴浠�":
+ production.ManufacturingCo = value;
+ break;
+ case "鍑哄簱鏁伴噺":
+ if (decimal.TryParse(value, out decimal outQuantity))
+ {
+ production.OutQuantity = outQuantity;
+ }
+ else
+ {
+ Console.WriteLine($"鍑哄簱鏁伴噺鏍煎紡閿欒锛歿value}锛堝簲涓烘暟鍊硷紝濡�14.0000锛�");
+ }
+ break;
+ default:
+ Console.WriteLine($"鏈煡閿悕锛歿key}锛堝搴斿�硷細{value}锛岃烦杩囪閿�煎锛�");
+ break;
+ }
+
+ }
+ production.Creater = "WMS";
+ production.OrderId = outboundOrderDetail.Id;
+ _productionRepository.AddData(production);
+ }
+ }
+ }
+ }
+ else
+ {
+ OutboundOrderAddDTO orderAddDTO1 = new OutboundOrderAddDTO();
+ orderAddDTO1.OrderNo = orderAddDTO.No;
+ orderAddDTO1.UpperOrderNo = orderAddDTO.No;
+ orderAddDTO1.OutWareHouse = orderAddDTO.OutWareHouse;
+ orderAddDTO1.TransactionCode = orderAddDTO.TransactionCode ?? "宸ュ崟鍙戞枡";
+ orderAddDTO1.InoutType = orderAddDTO.OrderType ?? InoutTypeEnum.WorkFeed.ToString();
+ orderAddDTO1.OrderType = orderAddDTO.InoutType;
+ orderAddDTO1.System = orderAddDTO.System;
+ IEnumerable<int> inOrderTypes = Enum.GetValues<OrderTypeEmun>().Cast<int>();
+ orderAddDTO1.Details = orderAddDTO.DetailList.DicToIEnumerable<OutboundOrderDetailAddDTO>();
+ #region 楠岃瘉鏁版嵁
+ (bool, string, object?) result = CheckOutboundOrderAddData(orderAddDTO1);
+ if (!result.Item1) return content = WebResponseContent.Instance.Error(result.Item2);
+ #endregion
+ Dt_OutboundOrder inboundOrder = _mapper.Map<Dt_OutboundOrder>(orderAddDTO1);
+ inboundOrder.OrderStatus = InboundStatusEnum.鏈紑濮�.ObjToInt();
+ inboundOrder.Creater = "WMS";
+ inboundOrder.CreateDate = DateTime.Now;
+ inboundOrder.CreateType = CreateType.UpperSystemPush.ObjToInt();
+ _unitOfWorkManage.BeginTran();
+ bool a = BaseDal.Db.InsertNav(inboundOrder).Include(x => x.Details).ExecuteCommand();
+
foreach (var item in orderAddDTO1.Details)
{
if (string.IsNullOrWhiteSpace(item.Remark))
@@ -338,96 +633,14 @@
}
production.Creater = "WMS";
- production.OrderId = outboundOrderDetail.Id;
+ production.OrderId = inboundOrder.Details.FirstOrDefault().Id;
_productionRepository.AddData(production);
}
}
+ _unitOfWorkManage.CommitTran();
}
}
- else
- {
- OutboundOrderAddDTO orderAddDTO1 = new OutboundOrderAddDTO();
- orderAddDTO1.OrderNo = orderAddDTO.No;
- orderAddDTO1.UpperOrderNo = orderAddDTO.No;
- orderAddDTO1.OutWareHouse = orderAddDTO.OutWareHouse;
- orderAddDTO1.TransactionCode = orderAddDTO.TransactionCode?? "宸ュ崟鍙戞枡";
- orderAddDTO1.InoutType = orderAddDTO.OrderType ?? InoutTypeEnum.WorkFeed.ToString();
- orderAddDTO1.OrderType = orderAddDTO.InoutType;
- orderAddDTO1.System = orderAddDTO.System;
- IEnumerable<int> inOrderTypes = Enum.GetValues<OrderTypeEmun>().Cast<int>();
- orderAddDTO1.Details = orderAddDTO.DetailList.DicToIEnumerable<OutboundOrderDetailAddDTO>();
- #region 楠岃瘉鏁版嵁
- (bool, string, object?) result = CheckOutboundOrderAddData(orderAddDTO1);
- if (!result.Item1) return content = WebResponseContent.Instance.Error(result.Item2);
- #endregion
- Dt_OutboundOrder inboundOrder = _mapper.Map<Dt_OutboundOrder>(orderAddDTO1);
- inboundOrder.OrderStatus = InboundStatusEnum.鏈紑濮�.ObjToInt();
- inboundOrder.Creater = "WMS";
- inboundOrder.CreateDate = DateTime.Now;
- inboundOrder.CreateType = CreateType.UpperSystemPush.ObjToInt();
- _unitOfWorkManage.BeginTran();
- bool a = BaseDal.Db.InsertNav(inboundOrder).Include(x => x.Details).ExecuteCommand();
-
- foreach (var item in orderAddDTO1.Details)
- {
- if (string.IsNullOrWhiteSpace(item.Remark))
- {
- continue;
- }
- string[] remarkEntries = item.Remark.Split(
- new[] { ';' },
- StringSplitOptions.RemoveEmptyEntries
- );
- foreach (var entry in remarkEntries)
- {
- string[] keyValuePairs = entry.Split(
- new[] { ',' },
- StringSplitOptions.RemoveEmptyEntries
- );
-
- foreach (var kvp in keyValuePairs)
- {
- int colonIndex = kvp.IndexOf(':');
- if (colonIndex <= 0 || colonIndex >= kvp.Length - 1)
- {
- continue;
- }
-
- string key = kvp.Substring(0, colonIndex).Trim();
- string value = kvp.Substring(colonIndex + 1).Trim();
-
- switch (key)
- {
- case "鍒堕�犲崟鍙�":
- production.ProductionNo = value;
- break;
- case "鍒堕�犻儴浠�":
- production.ManufacturingCo = value;
- break;
- case "鍑哄簱鏁伴噺":
- if (decimal.TryParse(value, out decimal outQuantity))
- {
- production.OutQuantity = outQuantity;
- }
- else
- {
- Console.WriteLine($"鍑哄簱鏁伴噺鏍煎紡閿欒锛歿value}锛堝簲涓烘暟鍊硷紝濡�14.0000锛�");
- }
- break;
- default:
- Console.WriteLine($"鏈煡閿悕锛歿key}锛堝搴斿�硷細{value}锛岃烦杩囪閿�煎锛�");
- break;
- }
-
- }
- production.Creater = "WMS";
- production.OrderId = inboundOrder.Details.FirstOrDefault().Id;
- _productionRepository.AddData(production);
- }
- }
- _unitOfWorkManage.CommitTran();
- }
content = WebResponseContent.Instance.OK();
@@ -611,7 +824,15 @@
}
_unitOfWorkManage.CommitTran();
//灏嗕换鍔℃帹閫佸埌WCS
- PushTasksToWCS(tasks);
+
+ if (tasks.FirstOrDefault().Roadway.Contains("SC01_BC"))
+ {
+ PushTasksToWCS(tasks);
+ }
+ else
+ {
+ PushTasksWCS(tasks);
+ }
return WebResponseContent.Instance.OK();
}
catch (Exception ex)
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
index 22b8de2..49f4eec 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_TaskInfoService/TaskService.cs
@@ -106,6 +106,7 @@
private readonly IOutboundOrderDetail_HtyService _outboundOrderDetail_HtyService;
private readonly IPalletTypeInfoRepository _palletTypeInfoRepository;
private readonly IOutboundOrderDetailRepository _outboundOrderDetailRepository;
+ private readonly INewOutboundOrderDetailRepository _newOutboundOrderDetailRepository;
private readonly IStockInfoDetailRepository _stockInfoDetailRepository;
private readonly IReturnOrderRepository _returnOrderRepository;
private readonly IProductionRepository _productionRepository;
@@ -113,7 +114,7 @@
public ITaskRepository Repository => BaseDal;
- public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IMaterielInfoService materielInfoService, IInboundOrderDetail_HtyService inboundOrderDetail_HtyService, IOutboundOrder_HtyService outboundOrder_HtyService, IOutboundOrderDetail_HtyService outboundOrderDetail_HtyService, IInboundOrder_HtyService inboundOrder_HtyService, IStockRepository stockRepository, IInboundOrderDetailService inboundOrderDetailService, IBasicService basicService, IOutboundService outboundService, IInboundService inboundService, IRecordService recordService, IStockService stockService, ITask_HtyService taskHtyService, ILocationInfoService locationInfoService, IOutboundOrderDetailRepository outboundOrderDetailRepository, IBasicRepository basicRepository, IStockInfoDetailRepository stockInfoDetailRepository, IPalletTypeInfoRepository palletTypeInfoRepository, IReturnOrderRepository returnOrderRepository, IProductionRepository productionRepository, IInboundRepository inboundRepository) : base(BaseDal)
+ public TaskService(ITaskRepository BaseDal, IMapper mapper, IUnitOfWorkManage unitOfWorkManage, IMaterielInfoService materielInfoService, IInboundOrderDetail_HtyService inboundOrderDetail_HtyService, IOutboundOrder_HtyService outboundOrder_HtyService, IOutboundOrderDetail_HtyService outboundOrderDetail_HtyService, IInboundOrder_HtyService inboundOrder_HtyService, IStockRepository stockRepository, IInboundOrderDetailService inboundOrderDetailService, IBasicService basicService, IOutboundService outboundService, IInboundService inboundService, IRecordService recordService, IStockService stockService, ITask_HtyService taskHtyService, ILocationInfoService locationInfoService, IOutboundOrderDetailRepository outboundOrderDetailRepository, IBasicRepository basicRepository, IStockInfoDetailRepository stockInfoDetailRepository, IPalletTypeInfoRepository palletTypeInfoRepository, IReturnOrderRepository returnOrderRepository, IProductionRepository productionRepository, IInboundRepository inboundRepository,INewOutboundOrderDetailRepository newOutboundOrderDetailRepository) : base(BaseDal)
{
_mapper = mapper;
_stockRepository = stockRepository;
@@ -138,6 +139,7 @@
_returnOrderRepository = returnOrderRepository;
_productionRepository = productionRepository;
_inboundRepository = inboundRepository;
+ _newOutboundOrderDetailRepository = newOutboundOrderDetailRepository;
}
public string ReceiveWMSTaskin = WIDESEA_Core.Helper.AppSettings.Configuration["ReceiveWMSTaskin"];
@@ -492,7 +494,7 @@
dt_StockInfo.LocationCode = dt_LocationInfo.LocationCode;
- if (warehouse.WarehouseCode.Contains("TestJCLK"))
+ if (warehouse.WarehouseCode.Contains("CP"))
{
// 1. 鑾峰彇鍏ュ簱鍗曚俊鎭�
Dt_InboundOrder? inboundOrder = null;
@@ -691,49 +693,49 @@
ApiType = "AsnController",
Method = "AsrsGroudingAsn",
Parameters = new List<HouseInboundPassBack.data>
- {
- new HouseInboundPassBack.data
- {
- Value = new List<data.data1>
- {
- new data.data1
- {
- AsnNo = inboundOrder.OrderNo,
- //InWarehouse = task.Roadway,
- TransactionCode = inboundOrder.TransactionCode,
- InoutType = inboundOrder.OrderType,
- OrderType = inboundOrder.InoutType,
- // 閬嶅巻鎵�鏈夊簱瀛樻槑缁嗭紝娣诲姞鍒� DetailList
- DetailList = StockInfos.Select(d => new data.data1.Inbound
- {
- LinId = d.Details.FirstOrDefault()?.LinId?? "",
- MaterielCode = d.Details.FirstOrDefault()?.MaterielCode?? "",
- OrderQuantity = d.Details.FirstOrDefault().StockQuantity,
- BatchNo = d.Details.FirstOrDefault()?.BatchNo,
- LPNNo = d.PalletCode,
- FinishQty = d.Details.FirstOrDefault().StockQuantity,
- LocationName = d.LocationCode,
- LabelList= d.Details
- .Where(detail => detail.StockDetails != null)
- .SelectMany(detail => detail.StockDetails)
- .Where(stockDetail => !string.IsNullOrEmpty(stockDetail.BoxCode))
- .Select(stockDetail => stockDetail.BoxCode )
- .ToList()
- }).ToList()
- }
- }
- }
- }
+ {
+ new HouseInboundPassBack.data
+ {
+ Value = new List<data.data1>
+ {
+ new data.data1
+ {
+ AsnNo = inboundOrder.OrderNo,
+ //InWarehouse = task.Roadway,
+ TransactionCode = inboundOrder.TransactionCode,
+ InoutType = inboundOrder.OrderType,
+ OrderType = inboundOrder.InoutType,
+ // 閬嶅巻鎵�鏈夊簱瀛樻槑缁嗭紝娣诲姞鍒� DetailList
+ DetailList = StockInfos.Select(d => new data.data1.Inbound
+ {
+ LinId = d.Details.FirstOrDefault()?.LinId?? "",
+ MaterielCode = d.Details.FirstOrDefault()?.MaterielCode?? "",
+ OrderQuantity = d.Details.FirstOrDefault().StockQuantity,
+ BatchNo = d.Details.FirstOrDefault()?.BatchNo,
+ LPNNo = d.PalletCode,
+ FinishQty = d.Details.FirstOrDefault().StockQuantity,
+ LocationName = d.LocationCode,
+ LabelList= d.Details
+ .Where(detail => detail.StockDetails != null)
+ .SelectMany(detail => detail.StockDetails)
+ .Where(stockDetail => !string.IsNullOrEmpty(stockDetail.BoxCode))
+ .Select(stockDetail => stockDetail.BoxCode )
+ .ToList()
+ }).ToList()
+ }
+ }
+ }
+ }
};
var authResult = AuthenticateWithWMS();
if (authResult.IsSuccess)
{
houseInboundPassBack.Context = new Dictionary<string, string>
- {
- { "Ticket", authResult.Ticket },
- { "InvOrgId", authResult.InvOrgId }
- };
+ {
+ { "Ticket", authResult.Ticket },
+ { "InvOrgId", authResult.InvOrgId }
+ };
var response = HttpHelper.Post<MomRequestContent>(ReceiveWMSTaskin, houseInboundPassBack, "绔嬪簱鍏ュ簱鏁伴噺鍥炰紶WMS");
// 鍒ゆ柇Success鐨勫��
@@ -747,7 +749,68 @@
}
else if (inboundOrder.OrderStatus == InboundStatusEnum.鍏ュ簱瀹屾垚.ObjToInt() && inboundOrder.OrderType == 2 && inboundOrder.System.Equals("SMOM"))
{
- SendAllocateInfoToWMS(task, inboundOrder, dt_StockInfo);
+ List<Dt_StockInfo> StockInfos = _stockRepository.StockInfoRepository.Db
+ .Queryable<Dt_StockInfo>()
+ .Includes(x => x.Details, d => d.StockDetails)
+ .Where(x => x.WarehouseId == task.WarehouseId &&
+ x.Details.Any(v => v.OrderNo == inboundOrder.OrderNo))
+ .ToList();
+
+ if (StockInfos.Count == 0) throw new Exception("鏈壘鍒板簱瀛樹俊鎭�");
+ var inventoryAllocate = new InventoryAllocate
+ {
+ ApiType = "InventoryAllocateController",
+ Method = "AsrsFinishedStockCount",
+ Parameters = new List<InventoryAllocate.Allocate>
+ {
+ new InventoryAllocate.Allocate
+ {
+ Value = new List<Allocate.data1>
+ {
+ new Allocate.data1
+ {
+ No = inboundOrder.OrderNo,
+ //InWarehouse = task.Roadway,
+ TransactionCode = inboundOrder.TransactionCode,
+ InoutType = inboundOrder.OrderType,
+ OrderType = inboundOrder.InoutType,
+ DetailList = StockInfos.Select(d => new Allocate.data1.Inventory
+ {
+ LinId = d.Details.FirstOrDefault()?.LinId?? "",
+ MaterielCode = d.Details.FirstOrDefault()?.MaterielCode?? "",
+ OrderQuantity = d.Details.FirstOrDefault().StockQuantity,
+ BatchNo = d.Details.FirstOrDefault()?.BatchNo,
+ LPNNo = d.PalletCode,
+ FinishQty = d.Details.FirstOrDefault().StockQuantity,
+ LocationName = d.LocationCode,
+ LabelList= d.Details
+ .Where(detail => detail.StockDetails != null)
+ .SelectMany(detail => detail.StockDetails)
+ .Where(stockDetail => !string.IsNullOrEmpty(stockDetail.BoxCode))
+ .Select(stockDetail => stockDetail.BoxCode )
+ .ToList()
+ }).ToList()
+ }
+ }
+ }
+ }
+ };
+
+ var authResult = AuthenticateWithWMS();
+ if (authResult.IsSuccess)
+ {
+ inventoryAllocate.Context = new Dictionary<string, string>
+ {
+ { "Ticket", authResult.Ticket },
+ { "InvOrgId", authResult.InvOrgId }
+ };
+
+ var response = HttpHelper.Post<MomRequestContent>(ReceiveWMSTaskAllocatein, inventoryAllocate, "璋冩嫧鍏ュ簱鏁伴噺鍥炰紶WMS");
+ if (!response.Success)
+ {
+ throw new Exception($"鎿嶄綔澶辫触锛歿response.Message ?? "鏈彁渚涢敊璇俊鎭�"}");
+ }
+ }
}
_unitOfWorkManage.CommitTran();
@@ -760,8 +823,6 @@
}
}
}
-
-
else
{
Dt_InboundOrder? inboundOrder = _inboundService.InbounOrderService.Db.Queryable<Dt_InboundOrder>().Where(x => x.OrderNo == dt_StockInfo.Details.FirstOrDefault().OrderNo).Includes(x => x.Details).First();
@@ -890,7 +951,7 @@
}
if (inboundOrder.OrderStatus == InboundStatusEnum.鍏ュ簱瀹屾垚.ObjToInt() && inboundOrder.OrderType == 0 && inboundOrder.System.Equals("SMOM"))
{
- SendInboundInfoToWMS(task, inboundOrder, stockInfo);
+ //SendInboundInfoToWMS(task, inboundOrder, stockInfo);
}
else if (inboundOrder.OrderStatus == InboundStatusEnum.鍏ュ簱瀹屾垚.ObjToInt() && inboundOrder.OrderType == 2 && inboundOrder.System.Equals("SMOM"))
{
@@ -1288,7 +1349,7 @@
MaterielCode = d.Details.FirstOrDefault()?.MaterielCode?? "",
OrderQuantity = d.Details.FirstOrDefault().StockQuantity,
BatchNo = d.BatchNo,
- LPN_No = d.PalletCode,
+ LPNNo = d.PalletCode,
FinishQty = d.Details.FirstOrDefault().StockQuantity,
LocationName = d.LocationCode
}).ToList()
@@ -1370,41 +1431,242 @@
if (!validationResult.Status) return validationResult;
int lastStatus = locationInfo.LocationStatus;
- Dt_Task task1 = BaseDal.QueryFirst(x => x.TaskNum == taskNum);
- if (task1 == null)
- {
- return WebResponseContent.Instance.Error("鏈壘鍒拌浠诲姟淇℃伅");
- }
+
///鐩樼偣鍑哄簱浠诲姟瀹屾垚閫昏緫
if ((task.TaskType == TaskTypeEnum.OutInventory.ObjToInt()))
{
return OutInventoryCompleted(task, stockInfo, locationInfo);
}
- Dt_OutboundOrder inboundOrder = _outboundService.OutboundOrderService.Db.Queryable<Dt_OutboundOrder>()
- .Where(x => x.OrderNo == task1.OrderNo)
- .Includes(x => x.Details)
- .First();
+ Dt_Warehouse warehouse = _basicRepository.WarehouseRepository.QueryFirst(x => x.WarehouseId == task.WarehouseId);
- if (inboundOrder == null) return WebResponseContent.Instance.Error("鏈壘鍒板嚭搴撳崟淇℃伅");
-
- Dt_OutboundOrderDetail outboundOrderDetails = _outboundService.OutboundOrderService.Db.Queryable<Dt_OutboundOrderDetail>()
- .Where(x => x.OrderId == inboundOrder.Id && x.BatchNo == stockInfo.Details.FirstOrDefault().BatchNo)
- .First();
- if (outboundOrderDetails.LocationName != null && outboundOrderDetails.LocationName != "")
+ if (warehouse.WarehouseCode.Contains("CP"))
{
- outboundOrderDetails = _outboundService.OutboundOrderService.Db.Queryable<Dt_OutboundOrderDetail>()
- .Where(x => x.OrderId == inboundOrder.Id && x.BatchNo == stockInfo.Details.FirstOrDefault().BatchNo && x.LocationName == stockInfo.LocationCode)
- .First();
+ try
+ {
+ Dt_NewOutboundOrder outboundOrder = _outboundService.NewOutboundOrderService.Db.Queryable<Dt_NewOutboundOrder>().Where(x => x.OrderNo == task.OrderNo).Includes(x => x.Details)
+ .First();
+
+ Dt_NewOutboundOrderDetail outboundOrderDetails = _outboundService.NewOutboundOrderDetailService.Db.Queryable<Dt_NewOutboundOrderDetail>()
+ .Where(x => x.OrderId == outboundOrder.Id && x.LocationName == stockInfo.LocationCode)
+ .First();
+ //List<Dt_StockInfoDetail> stockInfoDetail = _stockInfoDetailRepository.QueryData(x => x.StockId == stockInfo.Id).ToList();
+ //foreach (var item in stockInfoDetail)
+ //{
+ // outboundOrderDetails = _outboundService.NewOutboundOrderDetailService.Db.Queryable<Dt_NewOutboundOrderDetail>()
+ // .Where(x => x.OrderId == outboundOrder.Id && x.BatchNo == item.BatchNo && x.LocationName == stockInfo.LocationCode)
+ // .First();
+
+ // item.OutboundQuantity += outboundOrderDetails.OverOutQuantity;
+ //}
+
+ int overCount = outboundOrder.Details.Count(x => x.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt());
+
+ foreach (var item in stockInfo.Details)
+ {
+ if (outboundOrderDetails == null) continue;
+
+ outboundOrderDetails.OverOutQuantity += item.OutboundQuantity;
+
+ if (outboundOrderDetails.OverOutQuantity == outboundOrderDetails.OrderQuantity)
+ {
+ outboundOrderDetails.OrderDetailStatus = OrderDetailStatusEnum.Over.ObjToInt();
+ overCount++;
+ }
+ }
+ if (outboundOrder.Details.Count == overCount)
+ {
+ outboundOrder.OrderStatus = OutboundStatusEnum.鍑哄簱瀹屾垚.ObjToInt();
+ }
+
+ _unitOfWorkManage.BeginTran();
+ ///鏇存柊鍑哄簱鍗�
+ _outboundService.NewOutboundOrderService.Repository.UpdateData(outboundOrder);
+ // 鏇存柊鍑哄簱璁㈠崟璇︽儏
+ _outboundService.NewOutboundOrderDetailService.Repository.UpdateData(outboundOrderDetails);
+
+ // 鏇存柊搴撳瓨鐘舵��
+ AddCPRetrueOrder(stockInfo, outboundOrder);
+
+ // 鍖哄垎鍗曟嵁鏁版嵁鏉ユ簮鏇存柊璐т綅鐘舵��
+ if (outboundOrder.System == null)
+ {
+ return WebResponseContent.Instance.Error("鍑哄簱鍗曟暟鎹簮涓虹┖");
+ }
+ if (!outboundOrder.System.Equals("SMOM"))
+ {
+ UpdateLocationStatus(locationInfo);
+ }
+ // 澶勭悊浠诲姟瀹屾垚
+ CompleteTask(task);
+
+ // 娣诲姞鐘舵�佸彉鏇磋褰�
+ AddStatusChangeRecord(task, stockInfo, locationInfo);
+
+ string path = "http://fr.mankun.com:8080/webroot/decision/view/report?viewlet=fr-report\\SMOM/Product/Produce/OutBoundDetileReport.cpt&op=write&format=pdf";
+ string fullPath = AppDomain.CurrentDomain.BaseDirectory;
+ var url = Path.Combine(fullPath, "wwwroot", "Reports");
+ string savePath = Path.Combine(url, "鏈鍑哄簱.pdf");
+
+
+ if (outboundOrderDetails.OrderDetailStatus == OrderDetailStatusEnum.Over.ObjToInt() && outboundOrder.System.Equals("ERP"))
+ {
+ FeedBackOutERP(outboundOrder.OrderNo, outboundOrderDetails.LinId);
+ DownloadReport(path, savePath, outboundOrderDetails.Id);
+ }
+ ///鍗曟嵁瀹屾垚鎺ㄩ�丼MOM绯荤粺
+ if (outboundOrder.OrderStatus == OutboundStatusEnum.鍑哄簱瀹屾垚.ObjToInt() && outboundOrder.System.Equals("SMOM"))
+ {
+ var stockInfoDetail1 = stockInfo.Details.FirstOrDefault();
+ List<Dt_OutStockLockInfo> outStockLockInfo = _outboundService.OutboundStockLockInfoService.Repository.QueryData(x => x.OrderNo == outboundOrder.OrderNo);
+
+ if (outStockLockInfo.Count == 0) throw new Exception("鏈壘鍒板簱瀛樹俊鎭�");
+ //閲囪喘鍑哄簱
+ if (outboundOrder.OrderType == 1)
+ {
+ var passBack = new HouseoutboundPassBack
+ {
+ ApiType = "ShippingOrderController",
+ Method = "AsrsOutboundSO",
+ Parameters = new List<HouseoutboundPassBack.datas>
+ {
+ new HouseoutboundPassBack.datas
+ {
+ Value = new List<HouseoutboundPassBack.datas.data1>
+ {
+ new HouseoutboundPassBack.datas.data1
+ {
+ No = outboundOrder.OrderNo,
+ OutWareHouse = task.Roadway,
+ TransactionCode = outboundOrder.TransactionCode,
+ InoutType = outboundOrder.OrderType,
+ OrderType = outboundOrder.InoutType,
+ DetailList = outStockLockInfo.Select(d => new HouseoutboundPassBack.datas.data1.Inbound
+ {
+ LinId = d.LinId?? "",
+ LPN_No = d.PalletCode,
+ MaterielCode = d.MaterielCode?? "",
+ OrderQuantity = d.OrderQuantity,
+ BatchNo = d.BatchNo,
+ FinishQty = d.OrderQuantity,
+ LocationName = d.LocationCode
+ })
+ .ToList()
+
+ }
+ }
+ }
+ }
+ };
+
+ var authResult = AuthenticateWithWMS();
+ if (authResult.IsSuccess)
+ {
+ passBack.Context = new Dictionary<string, string>
+ {
+ { "Ticket", authResult.Ticket },
+ { "InvOrgId", authResult.InvOrgId }
+ };
+ var response = HttpHelper.Post<MomRequestContent>(ReceiveWMSTaskout, passBack, "绔嬪簱鍑哄簱鏁伴噺鍥炰紶WMS");
+ if (!response.Success)
+ {
+ throw new Exception($"鎿嶄綔澶辫触: {response.Message ?? "鏈彁渚涢敊璇俊鎭�"}");
+ }
+ }
+ }
+ //璋冩嫧鍑哄簱
+ if (outboundOrder.OrderType == 2)
+ {
+ var allocate = new InventoryAllocate
+ {
+ ApiType = "InventoryAllocateController",
+ Method = "AsrsFinishedStockCount",
+ Parameters = new List<Allocate>
+ {
+ new Allocate
+ {
+ Value = new List<Allocate.data1>
+ {
+ new Allocate.data1
+ {
+ No = outboundOrder.OrderNo,
+ InWarehouse = task.Roadway,
+ TransactionCode = outboundOrder.TransactionCode,
+ InoutType = outboundOrder.OrderType,
+ OrderType = outboundOrder.InoutType,
+ DetailList = outStockLockInfos.Select(item =>
+ {
+ return new Allocate.data1.Inventory
+ {
+ LinId = outboundOrderDetails.LinId,
+ LPNNo = item.PalletCode,
+ MaterielCode = outboundOrderDetails.MaterielCode,
+ OrderQuantity = outboundOrderDetails.OrderQuantity,
+ BatchNo = outboundOrderDetails.BatchNo,
+ FinishQty = outboundOrderDetails.OrderQuantity,
+ LocationName = task.SourceAddress
+ };
+ }).ToList()
+ }
+ }
+ }
+ }
+ };
+
+ var authResult = AuthenticateWithWMS();
+ if (authResult.IsSuccess)
+ {
+ allocate.Context = new Dictionary<string, string>
+ {
+ { "Ticket", authResult.Ticket },
+ { "InvOrgId", authResult.InvOrgId }
+ };
+ var response = HttpHelper.Post<MomRequestContent>(ReceiveWMSTaskin, allocate, "绔嬪簱鍏ュ簱鏁伴噺鍥炰紶WMS");
+ if (!response.Success)
+ {
+ throw new Exception($"鎿嶄綔澶辫触: {response.Message ?? "鏈彁渚涢敊璇俊鎭�"}");
+ }
+ }
+ }
+ }
+
+ if (outboundOrder.OrderType == 240) // 鐩樼偣鍑哄簱
+ {
+ // 鐩樼偣鍑哄簱鐗规畩澶勭悊閫昏緫
+ }
+
+ _unitOfWorkManage.CommitTran();
+ return WebResponseContent.Instance.OK();
+ }
+ catch
+ {
+ _unitOfWorkManage.RollbackTran();
+ throw;
+ }
}
- if (outboundOrderDetails == null) return WebResponseContent.Instance.Error("鏈壘鍒板嚭搴撳崟淇℃伅");
+ else
+ {
+ Dt_OutboundOrder inboundOrder = _outboundService.OutboundOrderService.Db.Queryable<Dt_OutboundOrder>()
+ .Where(x => x.OrderNo == task.OrderNo)
+ .Includes(x => x.Details)
+ .First();
- // 2. 澶勭悊鍑哄簱璁㈠崟璇︽儏
- //var outboundOrderDetails = ProcessOutboundOrderDetails(outStockLockInfos);
+ if (inboundOrder == null) return WebResponseContent.Instance.Error("鏈壘鍒板嚭搴撳崟淇℃伅");
- UpdateOutboundOrderDetails(stockInfo, inboundOrder, ref outboundOrderDetails);
+ Dt_OutboundOrderDetail outboundOrderDetails = _outboundService.OutboundOrderService.Db.Queryable<Dt_OutboundOrderDetail>()
+ .Where(x => x.OrderId == inboundOrder.Id && x.BatchNo == stockInfo.Details.FirstOrDefault().BatchNo)
+ .First();
+ if (outboundOrderDetails.LocationName != null && outboundOrderDetails.LocationName != "")
+ {
+ outboundOrderDetails = _outboundService.OutboundOrderService.Db.Queryable<Dt_OutboundOrderDetail>()
+ .Where(x => x.OrderId == inboundOrder.Id && x.BatchNo == stockInfo.Details.FirstOrDefault().BatchNo && x.LocationName == stockInfo.LocationCode)
+ .First();
+ }
+ if (outboundOrderDetails == null) return WebResponseContent.Instance.Error("鏈壘鍒板嚭搴撳崟淇℃伅");
+ UpdateOutboundOrderDetails(stockInfo, inboundOrder, ref outboundOrderDetails);
+ // 3. 鎵ц鏍稿績鍑哄簱閫昏緫
+ return ExecuteOutboundLogic(task, stockInfo, locationInfo, outboundOrderDetails, inboundOrder);
+ }
- // 3. 鎵ц鏍稿績鍑哄簱閫昏緫
- return ExecuteOutboundLogic(task, stockInfo, locationInfo, outboundOrderDetails, inboundOrder);
}
catch (Exception ex)
{
@@ -1784,7 +2046,7 @@
return new Allocate.data1.Inventory
{
LinId = outDetail.LinId,
- LPN_No = item.PalletCode,
+ LPNNo = item.PalletCode,
MaterielCode = outDetail.MaterielCode,
OrderQuantity = outDetail.OrderQuantity,
BatchNo = outDetail.BatchNo,
@@ -1885,6 +2147,74 @@
}
}
+
+ //鎴愬搧鍥炲簱鍗�
+ private void AddCPRetrueOrder(Dt_StockInfo stockInfo, Dt_NewOutboundOrder outboundOrder)
+ {
+ Dt_StockInfoDetail stockInfoDetail = _stockService.StockInfoDetailService.Db.Queryable<Dt_StockInfoDetail>()
+ .Where(x => x.StockId == stockInfo.Id)
+ .First();
+ if (stockInfoDetail == null)
+ {
+ throw new Exception("寤虹珛鍥炲簱鍗曟椂锛屾湭鎵惧埌璇ュ簱瀛樹俊鎭�");
+ }
+ if (outboundOrder.OrderType == OrderTypeEnum.鍙嶆嫞鍑哄簱鍗�.ObjToInt())
+ {
+ Dt_ReturnOrder returnOrder = _returnOrderRepository.QueryFirst(x => x.LPNNo == stockInfo.PalletCode && x.LocationCode == stockInfo.LocationCode && x.OrderStatus == InOrderStatusEnum.鏈紑濮�.ObjToInt());
+ if (returnOrder == null)
+ {
+ throw new Exception("鍙嶆嫞鍑哄簱鍚庯紝鏈壘鍒板搴斿弽鎷e洖搴撳崟淇℃伅");
+ }
+ stockInfo.LocationCode = "";
+ stockInfo.StockStatus = StockStatusEmun.鍙嶆嫞鍏ュ簱.ObjToInt();
+ stockInfo.Remark = "鍙嶆嫞鍏ュ簱";
+ stockInfoDetail.OutboundQuantity = 0;
+ stockInfoDetail.StockQuantity += returnOrder.OrderQuantity;
+ stockInfoDetail.OrderNo = returnOrder.OrderNo;
+ }
+ else
+ {
+ decimal returnQuantity = stockInfoDetail.StockQuantity - stockInfoDetail.OutboundQuantity;
+ if (returnQuantity > 0)
+ {
+ Dt_ReturnOrder returnOrder = new Dt_ReturnOrder
+ {
+ MaterielCode = stockInfoDetail.MaterielCode,
+ MaterielName = stockInfoDetail.MaterielName,
+ BatchNo = stockInfoDetail.BatchNo,
+ OrderQuantity = returnQuantity,
+ ReceiptQuantity = returnQuantity,
+ OrderStatus = InOrderStatusEnum.鏈紑濮�.ObjToInt(),
+ LinId = stockInfoDetail.LinId,
+ LPNNo = stockInfo.PalletCode,
+ Creater = "LK",
+ CreateDate = DateTime.Now,
+ OrderType = OrderTypeEnum.浣欐枡鍥炲簱鍗�.ObjToInt(),
+ System = "WMS"
+ };
+ if (outboundOrder.System == "SMOM" && stockInfo.LocationCode != null)
+ {
+ returnOrder.LocationCode = stockInfo.LocationCode;
+ }
+ _unitOfWorkManage.BeginTran();
+ _returnOrderRepository.AddData(returnOrder);
+ stockInfo.LocationCode = "";
+ stockInfo.StockStatus = StockStatusEmun.浣欐枡閫�搴�.ObjToInt();
+ stockInfo.Remark = "浣欐枡閫�搴�";
+ stockInfoDetail.OutboundQuantity = 0;
+ stockInfoDetail.StockQuantity = returnQuantity;
+ stockInfoDetail.OrderNo = returnOrder.OrderNo;
+ _stockService.StockInfoService.Repository.UpdateData(stockInfo);
+ _stockService.StockInfoDetailService.Repository.UpdateData(stockInfoDetail);
+ _unitOfWorkManage.CommitTran();
+ }
+ else
+ {
+ DeleteAndMoveIntoHtStockStatus(stockInfo);
+ }
+ }
+
+ }
/// <summary>
/// 鍗曟嵁鏄庣粏鍑哄簱瀹屾垚鍥炶皟ERP(琛ㄥ崟鎻愪氦)
/// </summary>
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/NewOutboundOrderController.cs b/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/NewOutboundOrderController.cs
new file mode 100644
index 0000000..e7d4d38
--- /dev/null
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/NewOutboundOrderController.cs
@@ -0,0 +1,21 @@
+锘縰sing Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using WIDESEA_Common;
+using WIDESEA_Core;
+using WIDESEA_Core.BaseController;
+using WIDESEA_DTO.Outbound;
+using WIDESEA_IOutboundService;
+using WIDESEA_Model.Models;
+
+namespace WIDESEA_WMSServer.Controllers.Outbound
+{
+ [Route("api/NewOutboundOrder")]
+ [ApiController]
+ public class NewOutboundOrderController : ApiBaseController<INewOutboundOrderService, Dt_NewOutboundOrder>
+ {
+ public NewOutboundOrderController(INewOutboundOrderService service) : base(service)
+ {
+ }
+ }
+}
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/NewOutboundOrderDetailController.cs b/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/NewOutboundOrderDetailController.cs
new file mode 100644
index 0000000..184f109
--- /dev/null
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/Outbound/NewOutboundOrderDetailController.cs
@@ -0,0 +1,20 @@
+锘縰sing Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Http;
+using Microsoft.AspNetCore.Mvc;
+using WIDESEA_Core;
+using WIDESEA_Core.BaseController;
+using WIDESEA_DTO.Stock;
+using WIDESEA_IOutboundService;
+using WIDESEA_Model.Models;
+
+namespace WIDESEA_WMSServer.Controllers.Outbound
+{
+ [Route("api/NewOutboundOrderDetail")]
+ [ApiController]
+ public class NewOutboundOrderDetailController : ApiBaseController<INewOutboundOrderDetailService, Dt_NewOutboundOrderDetail>
+ {
+ public NewOutboundOrderDetailController(INewOutboundOrderDetailService service) : base(service)
+ {
+ }
+ }
+}
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs b/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs
index 026bc56..d1331b1 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Controllers/TaskInfo/TaskController.cs
@@ -69,6 +69,12 @@
return Service.DeviceRequestInboundTaskSimple(stationCode, palletCode, heightType);
}
+ [HttpPost, HttpGet, Route("CPDeviceRequestInboundTaskSimple"), AllowAnonymous]
+ public WebResponseContent CPDeviceRequestInboundTaskSimple(string stationCode, string palletCode, int heightType, string courceAddress)
+ {
+ return Service.CPDeviceRequestInboundTaskSimple(stationCode, palletCode, heightType, courceAddress);
+ }
+
/// <summary>
/// 鐢宠宸烽亾
/// </summary>
@@ -195,9 +201,9 @@
}
[HttpPost, Route("FeedBackInboundERP"), AllowAnonymous]
- public WebResponseContent FeedBackInboundERP(string upperOrderNo,string linId)
+ public WebResponseContent FeedBackInboundERP(string upperOrderNo, string linId)
{
- return Service.FeedBackInboundERP(upperOrderNo , linId);
+ return Service.FeedBackInboundERP(upperOrderNo, linId);
}
/// <summary>
diff --git a/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs b/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs
index 11c1694..897d16a 100644
--- a/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs
+++ b/WMS/WIDESEA_WMSServer/WIDESEA_WMSServer/Filter/CustomProfile.cs
@@ -29,6 +29,8 @@
CreateMap<Dt_StockInfoDetail, Dt_StockQuantityChangeRecord>().ForMember(x => x.SerilNumber, b => b.MapFrom(b => b.SerialNumber)).ForMember(x => x.StockDetailId, b => b.MapFrom(b => b.Id));
CreateMap<OutboundOrderDetailAddDTO, Dt_OutboundOrderDetail>().ForMember(x => x.OrderDetailStatus, b => b.MapFrom(b => 0));
CreateMap<OutboundOrderAddDTO, Dt_OutboundOrder>();
+ CreateMap<OutboundOrderDetailAddDTO, Dt_NewOutboundOrderDetail>().ForMember(x => x.OrderDetailStatus, b => b.MapFrom(b => 0));
+ CreateMap<OutboundOrderAddDTO, Dt_NewOutboundOrder>();
}
}
}
diff --git "a/\345\220\211\345\256\211PDA/pages.json" "b/\345\220\211\345\256\211PDA/pages.json"
index fd2133c..4d84fa8 100644
--- "a/\345\220\211\345\256\211PDA/pages.json"
+++ "b/\345\220\211\345\256\211PDA/pages.json"
@@ -44,6 +44,20 @@
}
},
{
+ "path": "pages/stash/YSinboundorder",
+ "style": {
+ "navigationBarTitleText": "鑽按缁勭洏",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "pages/stash/FLinboundorder",
+ "style": {
+ "navigationBarTitleText": "杈呮枡缁勭洏",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
"path": "pages/stash/raworderboxing",
"style": {
"navigationBarTitleText": "缁勭洏鍏ュ簱",
@@ -58,6 +72,20 @@
}
},
{
+ "path": "pages/stash/YSraworderboxing",
+ "style": {
+ "navigationBarTitleText": "鑽按缁勭洏鍏ュ簱",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
+ "path": "pages/stash/FLraworderboxing",
+ "style": {
+ "navigationBarTitleText": "杈呮枡缁勭洏鍏ュ簱",
+ "enablePullDownRefresh": false
+ }
+ },
+ {
"path": "pages/stash/outboundorder",
"style": {
"navigationBarTitleText": "鍑哄簱鍗�",
diff --git "a/\345\220\211\345\256\211PDA/pages/stash/FLinboundorder.vue" "b/\345\220\211\345\256\211PDA/pages/stash/FLinboundorder.vue"
new file mode 100644
index 0000000..c23c7c7
--- /dev/null
+++ "b/\345\220\211\345\256\211PDA/pages/stash/FLinboundorder.vue"
@@ -0,0 +1,216 @@
+<template>
+ <view>
+ <u-sticky>
+ <view style="background-color: #ffffff;">
+ <uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar>
+ </view>
+ </u-sticky>
+ <uni-list :border="true">
+ <uni-list-item direction="column" clickable @click="groupClick(item.orderNo)" link
+ :to="page+item.orderNo" v-for="item in allReceivingOrders" :key="item.orderNo">
+ <template v-slot:body>
+ <uni-group margin-top="20">
+ <view style="line-height: 17px;color: #596671;font-size: 14px;text-align: center;display: flex;justify-content: space-between;">
+ 鍏ュ簱鍗曞彿 {{item.orderNo}}
+ </view>
+ <view style="margin-top: 10rpx;line-height: 17px;color: #596671;font-size: 14px;text-align: center;display: flex;justify-content: space-between;">
+ 鍒涘缓浜哄憳 {{item.creater}}
+ </view>
+ <view style="margin-top: 10rpx;line-height: 17px;color: #596671;font-size: 14px;text-align: center;display: flex;justify-content: space-between;">
+ 鍒涘缓鏃ユ湡 {{item.createDate}}
+ </view>
+ <view
+ style="margin-top: 10rpx;display: flex;align-items: center; ">
+ <view style="text-align: center;line-height: 40rpx;border-radius: 8rpx; width: 238rpx;height: 40rpx;font-size: 22rpx;background-color:rgba(22,127,247,0.18);color: #1F63FF;">
+ 璁㈠崟鐘舵�� {{item.InboundOrderStatus}}
+ </view>
+ <view style="text-align: center;line-height: 40rpx;border-radius: 8rpx; width: 158rpx;height: 40rpx;font-size: 22rpx;color: #F56C6C;">
+ 鎬婚噺 {{item.SumQty}}
+ </view>
+ <view style="text-align: center;line-height: 40rpx;border-radius: 8rpx; width: 158rpx;height: 40rpx;font-size: 22rpx;color: #F56C6C;">
+ 宸插叆 {{item.OverQty}}
+ </view>
+ </view>
+ </uni-group>
+ </template>
+ </uni-list-item>
+
+ </uni-list>
+ <uni-load-more :status="status" v-if="loadVisible"></uni-load-more>
+
+ <u-back-top :scroll-top="scrollTop" top="400"></u-back-top>
+ </view>
+</template>
+
+<script>
+ import { InboundOrderStatus } from '../../common/config.js'
+ export default {
+ data() {
+ return {
+ page: "/pages/stash/FLraworderboxing?",
+ loadVisible: false,
+ searchValue: "",
+ status: "more",
+ allReceivingOrders: [],
+ pageNo: 1,
+ scrollTop: 0,
+ warehouseId: "",
+ isLoaded:false
+ }
+ },
+ onLoad(res) {
+ this.warehouseId = res.warehouseId;
+ this.page = this.page + "warehouseId=" + this.warehouseId + "&orderNo=";
+ this.getData();
+ },
+ onReachBottom() {
+ this.pageNo += 1;
+ this.getData();
+ this.isLoaded=true;
+ },
+ onShow() {
+ if (this.isLoaded) {
+ // 浠庡叾浠栭〉闈㈣繑鍥炴椂鍒锋柊
+ this.getData();
+ }
+ },
+ onPageScroll(e) {
+ this.scrollTop = e.scrollTop;
+ },
+ methods: {
+ search(res) {
+ this.getData();
+ },
+ groupClick() {
+
+ },
+ getData() {
+ var postData = {
+ MainData: {
+ warehouseId: this.warehouseId,
+ orderNo: this.searchValue,
+ pageNo: this.pageNo
+ },
+ }
+ this.$u.post('/api/InboundOrder/GetInboundOrders', postData).then((res) => {
+ if (res.status) {
+ if (res.data.length > 0) {
+ if (this.searchValue == '') {
+ this.allReceivingOrders = res.data.map(i => ({
+ ...i,
+ InboundOrderStatus: InboundOrderStatus.find(item => item.value == i
+ .orderStatus).label,
+ SumQty: i.details.map(item => item.orderQuantity).reduce((prev, next) => prev + next, 0),
+ OverQty: i.details.map(item => item.overInQuantity).reduce((prev, next) => prev + next, 0)
+ }));
+ // this.allReceivingOrders = res.data;
+ if (this.allReceivingOrders.length > 3) {
+ this.loadVisible = true;
+ } else {
+ this.loadVisible = false;
+ }
+ } else {
+ this.allReceivingOrders = res.data.map(i => ({
+ ...i,
+ InboundOrderStatus: InboundOrderStatus.find(item => item.value == i
+ .orderStatus).label,
+ SumQty: i.details.map(item => item.orderQuantity).reduce((prev, next) => prev + next, 0),
+ OverQty: i.details.map(item => item.overInQuantity).reduce((prev, next) => prev + next, 0)
+ }));
+ if (this.allReceivingOrders.length > 3) {
+ this.loadVisible = true;
+ } else {
+ this.loadVisible = false;
+ }
+ }
+ } else {
+ this.status = 'noMore';
+ //this.allReceivingOrders = [];
+ this.loadVisible = true;
+ }
+ }
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+ @import '@/common/uni-ui.scss';
+
+ page {
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ background-color: #efeff4;
+ min-height: 100%;
+ height: auto;
+ }
+
+ .tips {
+ color: #67c23a;
+ font-size: 14px;
+ line-height: 40px;
+ text-align: center;
+ background-color: #f0f9eb;
+ height: 0;
+ opacity: 0;
+ transform: translateY(-100%);
+ transition: all 0.3s;
+ }
+
+ .tips-ani {
+ transform: translateY(0);
+ height: 40px;
+ opacity: 1;
+ }
+
+ .content {
+ width: 100%;
+ display: flex;
+ }
+
+ .list-picture {
+ width: 100%;
+ height: 145px;
+ }
+
+ .thumb-image {
+ width: 100%;
+ height: 100%;
+ }
+
+ .ellipsis {
+ display: flex;
+ overflow: hidden;
+ }
+
+ .uni-ellipsis-1 {
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+
+ .uni-ellipsis-2 {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ }
+
+ .customcss {
+ display: flex;
+ position: fixed;
+ width: 100%;
+ top: 10px;
+ text-align: center;
+ z-index: 999;
+ left: 30px;
+ height: 20%;
+ }
+
+ .footer {
+ padding-top: 50%;
+ }
+</style>
\ No newline at end of file
diff --git "a/\345\220\211\345\256\211PDA/pages/stash/FLraworderboxing.vue" "b/\345\220\211\345\256\211PDA/pages/stash/FLraworderboxing.vue"
new file mode 100644
index 0000000..e008bbe
--- /dev/null
+++ "b/\345\220\211\345\256\211PDA/pages/stash/FLraworderboxing.vue"
@@ -0,0 +1,609 @@
+<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">
+ <uni-forms label-width="180">
+ <uni-forms-item :label="label">
+ </uni-forms-item>
+ <uni-forms-item label="鎵樼洏鏉$爜:">
+ <uni-easyinput type="text" placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' :focus="!focus"
+ v-model="barcode" @confirm="barcodeInput" />
+ </uni-forms-item>
+ <uni-forms-item label="鍐呯鏍囩:">
+ <uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="focus"
+ v-model="materSn" @confirm="snInput" />
+ </uni-forms-item>
+
+ <uni-forms-item :label="Testlabel" v-if="Test">
+ <uni-easyinput type="text" :placeholder="Testplaceholder" ref='midInput'
+ v-model="Initiallife" />
+ </uni-forms-item>
+
+ <uni-forms-item>
+ <view style="display: flex;justify-content: space-around;margin-top: 2%;">
+ <button @click="reset" type="default" size="default"
+ style="width: 160rpx;border: 1rpx solid #007aff;color: #007aff;">閲嶇疆</button>
+ <button @click="submit" type="primary" size="default" style="width: 160rpx;">缁勭洏</button>
+ </view>
+ </uni-forms-item>
+ </uni-forms>
+ <uni-list>
+ <uni-list-item direction="column" v-for="(item,index) in matInfos" :key="index">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <uni-icons type="trash" size="22" style="position: absolute;right: 5%;"
+ @click="deleteList(index)">
+ </uni-icons>
+ <view class="uni-content">
+ <view class="uni-title-sub uni-ellipsis-2">閲囪喘鍗曞彿锛歿{item.purchaseOrderNo}}</view>
+ <view class="uni-note">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
+ <view class="uni-note">鎵规鍙凤細{{item.lotNo}}</view>
+ <!-- 鐩存帴缂栬緫Q鍊煎搴旂殑quantity瀛楁 -->
+ <view class="uni-note" style="display: flex; align-items: center; gap: 10rpx;">
+ 鏁伴噺锛�
+ <uni-easyinput
+ type="number"
+ min="1"
+ style="width: 150rpx; display: inline-block;"
+ v-model="item.quantity"
+ @input="handleQuantityChange(item)"
+ />
+ </view>
+ <view class="uni-note">鐢熶骇鏃ユ湡锛歿{item.productionDate}}</view>
+ <view class="uni-note">鏈夋晥鏈燂細{{item.effectiveDate}}</view>
+ <view class="uni-note">浜よ揣鍗曞彿锛歿{item.deliveryNote}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+ </uni-list>
+ </view>
+ </view>
+ <view v-if="current === 1" class="headerstyle">
+ <view class="itemstyle">
+ <uni-forms label-width="120">
+ <uni-forms-item label="鎵樼洏鏉$爜">
+ <uni-easyinput type="text" :focus="!addressFocus" v-model="inboundBarcode"
+ placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' @confirm="inputChangebarcode" />
+ </uni-forms-item>
+ <uni-forms-item label="鍦板潃鏉$爜">
+ <uni-easyinput type="text" v-model="address" :disabled="addressdisabled"
+ placeholder="璇锋壂鎻忓湴鍧�鏉$爜" ref='midInput' :focus="addressFocus" />
+ </uni-forms-item>
+ <uni-forms-item>
+ <button @click="inbound" type="primary" size="default" style="margin-top: 2%;">鍏ュ簱纭</button>
+ </uni-forms-item>
+ </uni-forms>
+ </view>
+ </view>
+ <view v-if="current === 2" class="headerstyle">
+ <view class="itemstyle">
+ <uni-list :border="true">
+ <uni-list-item direction="column" v-for="(item,index) in orderInfo" :key="index">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <view class="uni-content">
+ <view style="font-size: 18px;">鍗曟嵁鍙凤細{{orderNo}}</view>
+ <view style="font-size: 18px;">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
+ <view>鐗╂枡鍚嶇О锛歿{item.materielName}}</view>
+ <view style="font-size: 18px;">鏁伴噺锛歿{item.orderQuantity}}</view>
+ <view style="font-size: 18px;">缁勭洏鏁伴噺锛歿{item.receiptQuantity}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+ </uni-list>
+ </view>
+ </view>
+ <view v-if="current === 3" class="headerstyle">
+ <view class="itemstyle">
+ <uni-forms label-width="180">
+ <uni-forms-item label="鍐呯鏍囩:">
+ <uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="!pkfocus"
+ v-model="pkmaterSn" @confirm="pksnInput" />
+ </uni-forms-item>
+
+ <uni-forms-item>
+ <view style="display: flex;justify-content: space-around;margin-top: 2%;">
+ <button @click="resetInPk" type="default" size="default"
+ style="width: 160rpx;border: 1rpx solid #007aff;color: #007aff;">閲嶇疆</button>
+ <button @click="pksubmit" type="primary" size="default"
+ style="margin-top: 2%;">鍏ュ钩搴�</button>
+ </view>
+ </uni-forms-item>
+
+ </uni-forms>
+ <uni-list>
+ <uni-list-item direction="column" v-for="(item,index) in pkmatInfos" :key="index">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <uni-icons type="trash" size="22" style="position: absolute;right: 5%;"
+ @click="pkdeleteList(index)">
+ </uni-icons>
+ <view class="uni-content">
+ <view class="uni-title-sub uni-ellipsis-2">閲囪喘鍗曞彿锛歿{item.purchaseOrderNo}}</view>
+ <view class="uni-note">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
+ <view class="uni-note">鎵规鍙凤細{{item.lotNo}}</view>
+ <!-- 鐩存帴缂栬緫Q鍊煎搴旂殑quantity瀛楁 -->
+ <view class="uni-note" style="display: flex; align-items: center; gap: 10rpx;">
+ 鏁伴噺锛�
+ <uni-easyinput
+ type="number"
+ min="1"
+ style="width: 150rpx; display: inline-block;"
+ v-model="item.quantity"
+ @input="handlePkQuantityChange(item)"
+ />
+ </view>
+ <view class="uni-note">鐢熶骇鏃ユ湡锛歿{item.productionDate}}</view>
+ <view class="uni-note">鏈夋晥鏈燂細{{item.effectiveDate}}</view>
+ <view class="uni-note">浜よ揣鍗曞彿锛歿{item.deliveryNote}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+ </uni-list>
+ </view>
+ </view>
+ </view>
+ <u-toast ref="uToast" />
+ </view>
+</template>
+
+<script>
+ const innerAudioContext = uni.createInnerAudioContext();
+ export default {
+ data() {
+ return {
+ items: ['缁勭洏', '鍏ュ簱', '鍗曟嵁淇℃伅'],
+ current: 0,
+ matTotal: [],
+ matInfos: [],
+ orderNo: "",
+ label: "",
+ orderInfo: [],
+ focus: false,
+ pkfocus: false,
+ barcode: "",
+ materSn: "",
+ Initiallife: 1000,
+ sns: [],
+ pksns: [],
+ addressFocus: false,
+ inboundBarcode: "",
+ address: "",
+ check: true,
+ value: "",
+ matInfo: [],
+ value2: "",
+ matTotals: [],
+ warehouseId: "",
+ Test: false,
+ Testlabel: "",
+ Testplaceholder: "",
+ Testcheck: false,
+ pkmaterSn: "",
+ pkmatInfos: [],
+ addressdisabled: false
+ }
+ },
+ onShow() {},
+ onLoad(res) {
+ this.focus = false;
+ this.addressFocus = false;
+ this.orderNo = res.orderNo;
+ this.warehouseId = res.warehouseId;
+ // if (this.warehouseId == 6) { //娴嬭瘯鏋朵粨搴撳尯ID
+ // this.Test = true;
+ // this.Testlabel = "鍒濆瀵垮懡:";
+ // this.Testplaceholder = "璇疯緭鍏ュ垵濮嬪鍛�";
+ // } else if (this.warehouseId == 2) { //娌瑰ⅷ浠撳簱鍖篒D
+ // this.Test = true;
+ // this.Testlabel = "鏁伴噺:";
+ // this.Testplaceholder = "璇疯緭鍏ユ暟閲�";
+ // this.Initiallife = 16;
+ // } else if (this.warehouseId == 5) { //杈呮枡
+ // this.items.push("鍏ュ钩搴�");
+ // this.items[1] = "鍏ョ珛搴�";
+ // this.address = "8005";
+ // } else if (this.warehouseId == 3) { //杈呮枡
+ // this.address = "1011";
+ // this.addressdisabled = true;
+ // }
+ this.label = "鍗曟嵁缂栧彿锛�" + this.orderNo;
+ this.getData();
+ },
+ methods: {
+ // 缁勭洏椤垫暟閲忕紪杈戞牎楠岋紙鐩存帴淇敼鍘熺敓quantity瀛楁锛�
+ handleQuantityChange(item) {
+ item.quantity = item.quantity ? Math.max(1, parseInt(item.quantity)) : 1;
+ },
+
+ // 鍏ュ钩搴撻〉鏁伴噺缂栬緫鏍¢獙锛堢洿鎺ヤ慨鏀瑰師鐢焣uantity瀛楁锛�
+ handlePkQuantityChange(item) {
+ item.quantity = item.quantity ? Math.max(1, parseInt(item.quantity)) : 1;
+ },
+
+ updateFocus() {
+ this.$nextTick(() => {
+ this.materSn = '';
+ if (!this.focus) {
+ this.focus = true;
+ }
+ });
+ },
+
+ barcodeFocus() {
+ this.barcode = '';
+ if (this.focus) {
+ this.focus = false;
+ }
+ },
+
+ getData() {
+ var postData = {
+ MainData: {
+ orderNo: this.orderNo
+ },
+ }
+ this.$u.post('/api/InboundOrderDetail/GetInboundOrderDetails', postData).then((res) => {
+ if (res.status) {
+ this.orderInfo = res.data;
+ if (this.orderInfo.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();
+ }
+ }
+ },
+
+ barcodeInput() {
+ this.$nextTick(function(x) {
+ if (this.barcode.length > 0) {
+ this.focus = true;
+ }
+ })
+ },
+
+ // 缁勭洏椤靛唴绠辩爜瑙f瀽锛堢洿鎺ユ搷浣滃師鐢焣uantity瀛楁锛�
+ snInput() {
+ this.$nextTick(() => {
+ if (!this.materSn) return;
+
+ // 寤惰繜100ms纭繚鎵爜瀹屾垚
+ setTimeout(() => {
+ this.focus = false;
+ let matSn = this.materSn.trim();
+
+ // 浠撳簱11鐨勭壒娈婂鐞�
+ if (this.warehouseId == 11) {
+ matSn = matSn.replace(/,SC.*/, '');
+ }
+
+ // 鏍¢獙鍐呯鐮佸畬鏁存��
+ const requiredFields = ['M:', 'BS:', 'DM:', 'DE:', 'Q:', 'PO:', 'DN:'];
+ const hasAllFields = requiredFields.every(field => matSn.includes(field));
+ if (!hasAllFields) {
+ this.$refs.uToast.show({
+ title: "鍐呯鐮佷笉瀹屾暣锛岃閲嶆柊鎵弿",
+ type: "error"
+ });
+ this.materSn = "";
+ return;
+ }
+
+ // 鏍¢獙PO瀛楁瀛樺湪鎬�
+ if (matSn.indexOf("PO") <= 0) {
+ this.$refs.uToast.show({
+ title: "鍐呯鐮佹牸寮忛敊璇紙鏃燩O鏍囪瘑锛�",
+ type: "error"
+ });
+ this.materSn = "";
+ return;
+ }
+
+ // 瑙f瀽鍐呯鐮侊紙鐩存帴浣跨敤杩斿洖鐨剄uantity浣滀负Q鍊硷級
+ this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + matSn, {}).then((res) => {
+ this.Testcheck = false;
+ if (res.status) {
+ this.sns.push(res.data.serialNumber);
+ this.matInfos.push(res.data);
+
+ if (res.message) {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "warning"
+ });
+ }
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ });
+ }
+ });
+
+ this.materSn = "";
+ }, 1000);
+ })
+ },
+
+ // 鍏ュ钩搴撻〉鍐呯鐮佽В鏋愶紙鐩存帴鎿嶄綔鍘熺敓quantity瀛楁锛�
+ pksnInput() {
+ this.$nextTick(() => {
+ if (!this.pkmaterSn) return;
+
+ // 寤惰繜100ms纭繚鎵爜瀹屾垚
+ setTimeout(() => {
+ let matSn = this.pkmaterSn.trim();
+
+ // 鏍¢獙鍐呯鐮佸畬鏁存��
+ const requiredFields = ['M:', 'BS:', 'DM:', 'DE:', 'Q:', 'PO:', 'DN:'];
+ const hasAllFields = requiredFields.every(field => matSn.includes(field));
+ if (!hasAllFields) {
+ this.$refs.uToast.show({
+ title: "鍐呯鐮佷笉瀹屾暣锛岃閲嶆柊鎵弿",
+ type: "error"
+ });
+ this.pkmaterSn = "";
+ return;
+ }
+
+ // 鏍¢獙PO瀛楁瀛樺湪鎬�
+ if (matSn.indexOf("PO") <= 0) {
+ this.$refs.uToast.show({
+ title: "鍐呯鐮佹牸寮忛敊璇紙鏃燩O鏍囪瘑锛�",
+ type: "error"
+ });
+ this.pkmaterSn = "";
+ return;
+ }
+
+ // 瑙f瀽鍐呯鐮侊紙鐩存帴浣跨敤杩斿洖鐨剄uantity浣滀负Q鍊硷級
+ this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + matSn, {}).then((res) => {
+ if (res.status) {
+ this.pksns.push(res.data.serialNumber);
+ this.pkmatInfos.push(res.data);
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ });
+ }
+ });
+
+ this.pkmaterSn = "";
+ }, 100);
+ })
+ },
+
+ inbound() {
+ if (this.inboundBarcode == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忔墭鐩樻潯鐮�",
+ type: "error"
+ })
+ return;
+ }
+ if (this.address == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忓湴鍧�鏉$爜",
+ type: "error"
+ })
+ return;
+ }
+ var postData = {
+ MainData: {
+ "barcode": this.inboundBarcode,
+ "startPoint": this.address,
+ "warehouseId": this.warehouseId
+ }
+ }
+ this.$u.post('/api/Task/RequestInboundTask', postData).then(res => {
+ if (res.status) {
+ this.inboundBarcode = "";
+ if (this.warehouseId != 5) this.address = "";
+ setTimeout(() => {
+ this.addressFocus = false;
+ this.$refs.uToast.show({
+ title: "鎴愬姛",
+ type: "success"
+ })
+ }, 200);
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ }).catch(err => {
+ this.$refs.uToast.show({
+ title: err.message,
+ type: "error"
+ })
+ })
+ },
+
+ inputChangebarcode() {
+ this.addressFocus = false;
+ this.$nextTick(function(x) {
+ if (this.inboundBarcode != '') {
+ this.addressFocus = true;
+ }
+ })
+ },
+
+ deleteList(res) {
+ this.matInfos.splice(res, 1);
+ this.sns.splice(res, 1);
+ },
+
+ pkdeleteList(res) {
+ this.pkmatInfos.splice(res, 1);
+ this.pksns.splice(res, 1);
+ },
+
+ reset() {
+ this.barcode = "";
+ this.matInfos = [];
+ this.sns = [];
+ this.materSn = "";
+ if (this.warehouseId != 6) {
+ this.Initiallife = 0;
+ }
+ },
+
+ resetInPk() {
+ this.pkmaterSn = "";
+ this.pkfocus = false;
+ this.pkmatInfos = [];
+ this.pksns = [];
+ },
+
+ pksubmit() {
+ if (this.pkmatInfos.length == 0) {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忓唴绠辨爣绛�",
+ type: 'error'
+ })
+ return;
+ }
+
+ // 鐩存帴浣跨敤淇敼鍚庣殑quantity锛堝搴擰鍊硷級鎻愪氦
+ const submitData = this.pkmatInfos.map(item => ({
+ serialNumber: item.serialNumber,
+ quantity: item.quantity
+ }));
+
+ this.$u.post('/api/InboundOrder/InPinKu?warehouseId=' + this.warehouseId + "&orderNo=" + this.orderNo, submitData)
+ .then(res => {
+ if (res.status) {
+ this.$refs.uToast.show({
+ title: "鍏ュ簱鎴愬姛",
+ type: "success"
+ })
+ this.pkfocus = false;
+ this.pkmatInfos = [];
+ this.pksns = [];
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ },
+
+ submit() {
+ if (this.barcode == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忔墭鐩樻潯鐮�",
+ type: 'error'
+ })
+ return;
+ }
+ if (this.matInfos.length == 0) {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忓唴绠辨爣绛�",
+ type: 'error'
+ })
+ return;
+ }
+ if (this.Test) {
+ if (!this.Testcheck) {
+ this.Testcheck = true;
+ if (this.warehouseId == 2) {
+ this.$refs.uToast.show({
+ title: "璇风‘璁ゆ暟閲�",
+ type: 'error'
+ })
+ }
+ return;
+ }
+ }
+
+ // 鐩存帴浣跨敤淇敼鍚庣殑quantity锛堝搴擰鍊硷級鎻愪氦
+ let submitSns = this.matInfos.map(item => ({
+ serialNumber: item.serialNumber,
+ quantity: item.quantity
+ }));
+
+ // 娌瑰ⅷ浠撳簱鐗规畩澶勭悊
+ if (this.warehouseId == 2) {
+ const firstItem = submitSns[0];
+ for (var i = 0; i < this.Initiallife - 1; i++) {
+ submitSns.push({...firstItem});
+ }
+ }
+
+ this.$u.post('/api/InboundOrder/MaterielGroup', {
+ MainData: {
+ "palletCode": this.barcode,
+ "orderNo": this.orderNo,
+ "initiallife": this.Initiallife,
+ "warehouseId": this.warehouseId
+ },
+ DelKeys: submitSns
+ }).then(res => {
+ this.Testcheck = false;
+ if (res.status) {
+ this.$refs.uToast.show({
+ title: "缁勭洏鎴愬姛",
+ type: "success"
+ })
+ this.focus = false;
+ this.barcode = "";
+ this.matInfos = [];
+ this.sns = [];
+ this.matTotal = [];
+ if (this.warehouseId != 6) {
+ this.Initiallife = "";
+ }
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+ @import '@/common/uni-ui.scss';
+
+ .content {
+ display: flex;
+ height: 150px;
+ }
+
+ .content-text {
+ font-size: 14px;
+ color: #666;
+ }
+
+ .itemstyle {
+ margin-top: 30px;
+ margin-left: 5%;
+ }
+
+ .headerstyle {
+ width: 90%;
+ }
+</style>
+
\ No newline at end of file
diff --git "a/\345\220\211\345\256\211PDA/pages/stash/YSinboundorder.vue" "b/\345\220\211\345\256\211PDA/pages/stash/YSinboundorder.vue"
new file mode 100644
index 0000000..e954e64
--- /dev/null
+++ "b/\345\220\211\345\256\211PDA/pages/stash/YSinboundorder.vue"
@@ -0,0 +1,216 @@
+<template>
+ <view>
+ <u-sticky>
+ <view style="background-color: #ffffff;">
+ <uni-search-bar @confirm="search" v-model="searchValue"></uni-search-bar>
+ </view>
+ </u-sticky>
+ <uni-list :border="true">
+ <uni-list-item direction="column" clickable @click="groupClick(item.orderNo)" link
+ :to="page+item.orderNo" v-for="item in allReceivingOrders" :key="item.orderNo">
+ <template v-slot:body>
+ <uni-group margin-top="20">
+ <view style="line-height: 17px;color: #596671;font-size: 14px;text-align: center;display: flex;justify-content: space-between;">
+ 鍏ュ簱鍗曞彿 {{item.orderNo}}
+ </view>
+ <view style="margin-top: 10rpx;line-height: 17px;color: #596671;font-size: 14px;text-align: center;display: flex;justify-content: space-between;">
+ 鍒涘缓浜哄憳 {{item.creater}}
+ </view>
+ <view style="margin-top: 10rpx;line-height: 17px;color: #596671;font-size: 14px;text-align: center;display: flex;justify-content: space-between;">
+ 鍒涘缓鏃ユ湡 {{item.createDate}}
+ </view>
+ <view
+ style="margin-top: 10rpx;display: flex;align-items: center; ">
+ <view style="text-align: center;line-height: 40rpx;border-radius: 8rpx; width: 238rpx;height: 40rpx;font-size: 22rpx;background-color:rgba(22,127,247,0.18);color: #1F63FF;">
+ 璁㈠崟鐘舵�� {{item.InboundOrderStatus}}
+ </view>
+ <view style="text-align: center;line-height: 40rpx;border-radius: 8rpx; width: 158rpx;height: 40rpx;font-size: 22rpx;color: #F56C6C;">
+ 鎬婚噺 {{item.SumQty}}
+ </view>
+ <view style="text-align: center;line-height: 40rpx;border-radius: 8rpx; width: 158rpx;height: 40rpx;font-size: 22rpx;color: #F56C6C;">
+ 宸插叆 {{item.OverQty}}
+ </view>
+ </view>
+ </uni-group>
+ </template>
+ </uni-list-item>
+
+ </uni-list>
+ <uni-load-more :status="status" v-if="loadVisible"></uni-load-more>
+
+ <u-back-top :scroll-top="scrollTop" top="400"></u-back-top>
+ </view>
+</template>
+
+<script>
+ import { InboundOrderStatus } from '../../common/config.js'
+ export default {
+ data() {
+ return {
+ page: "/pages/stash/YSraworderboxing?",
+ loadVisible: false,
+ searchValue: "",
+ status: "more",
+ allReceivingOrders: [],
+ pageNo: 1,
+ scrollTop: 0,
+ warehouseId: "",
+ isLoaded:false
+ }
+ },
+ onLoad(res) {
+ this.warehouseId = res.warehouseId;
+ this.page = this.page + "warehouseId=" + this.warehouseId + "&orderNo=";
+ this.getData();
+ },
+ onReachBottom() {
+ this.pageNo += 1;
+ this.getData();
+ this.isLoaded=true;
+ },
+ onShow() {
+ if (this.isLoaded) {
+ // 浠庡叾浠栭〉闈㈣繑鍥炴椂鍒锋柊
+ this.getData();
+ }
+ },
+ onPageScroll(e) {
+ this.scrollTop = e.scrollTop;
+ },
+ methods: {
+ search(res) {
+ this.getData();
+ },
+ groupClick() {
+
+ },
+ getData() {
+ var postData = {
+ MainData: {
+ warehouseId: this.warehouseId,
+ orderNo: this.searchValue,
+ pageNo: this.pageNo
+ },
+ }
+ this.$u.post('/api/InboundOrder/GetInboundOrders', postData).then((res) => {
+ if (res.status) {
+ if (res.data.length > 0) {
+ if (this.searchValue == '') {
+ this.allReceivingOrders = res.data.map(i => ({
+ ...i,
+ InboundOrderStatus: InboundOrderStatus.find(item => item.value == i
+ .orderStatus).label,
+ SumQty: i.details.map(item => item.orderQuantity).reduce((prev, next) => prev + next, 0),
+ OverQty: i.details.map(item => item.overInQuantity).reduce((prev, next) => prev + next, 0)
+ }));
+ // this.allReceivingOrders = res.data;
+ if (this.allReceivingOrders.length > 3) {
+ this.loadVisible = true;
+ } else {
+ this.loadVisible = false;
+ }
+ } else {
+ this.allReceivingOrders = res.data.map(i => ({
+ ...i,
+ InboundOrderStatus: InboundOrderStatus.find(item => item.value == i
+ .orderStatus).label,
+ SumQty: i.details.map(item => item.orderQuantity).reduce((prev, next) => prev + next, 0),
+ OverQty: i.details.map(item => item.overInQuantity).reduce((prev, next) => prev + next, 0)
+ }));
+ if (this.allReceivingOrders.length > 3) {
+ this.loadVisible = true;
+ } else {
+ this.loadVisible = false;
+ }
+ }
+ } else {
+ this.status = 'noMore';
+ //this.allReceivingOrders = [];
+ this.loadVisible = true;
+ }
+ }
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+ @import '@/common/uni-ui.scss';
+
+ page {
+ display: flex;
+ flex-direction: column;
+ box-sizing: border-box;
+ background-color: #efeff4;
+ min-height: 100%;
+ height: auto;
+ }
+
+ .tips {
+ color: #67c23a;
+ font-size: 14px;
+ line-height: 40px;
+ text-align: center;
+ background-color: #f0f9eb;
+ height: 0;
+ opacity: 0;
+ transform: translateY(-100%);
+ transition: all 0.3s;
+ }
+
+ .tips-ani {
+ transform: translateY(0);
+ height: 40px;
+ opacity: 1;
+ }
+
+ .content {
+ width: 100%;
+ display: flex;
+ }
+
+ .list-picture {
+ width: 100%;
+ height: 145px;
+ }
+
+ .thumb-image {
+ width: 100%;
+ height: 100%;
+ }
+
+ .ellipsis {
+ display: flex;
+ overflow: hidden;
+ }
+
+ .uni-ellipsis-1 {
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+
+ .uni-ellipsis-2 {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ }
+
+ .customcss {
+ display: flex;
+ position: fixed;
+ width: 100%;
+ top: 10px;
+ text-align: center;
+ z-index: 999;
+ left: 30px;
+ height: 20%;
+ }
+
+ .footer {
+ padding-top: 50%;
+ }
+</style>
\ No newline at end of file
diff --git "a/\345\220\211\345\256\211PDA/pages/stash/YSraworderboxing.vue" "b/\345\220\211\345\256\211PDA/pages/stash/YSraworderboxing.vue"
new file mode 100644
index 0000000..e008bbe
--- /dev/null
+++ "b/\345\220\211\345\256\211PDA/pages/stash/YSraworderboxing.vue"
@@ -0,0 +1,609 @@
+<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">
+ <uni-forms label-width="180">
+ <uni-forms-item :label="label">
+ </uni-forms-item>
+ <uni-forms-item label="鎵樼洏鏉$爜:">
+ <uni-easyinput type="text" placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' :focus="!focus"
+ v-model="barcode" @confirm="barcodeInput" />
+ </uni-forms-item>
+ <uni-forms-item label="鍐呯鏍囩:">
+ <uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="focus"
+ v-model="materSn" @confirm="snInput" />
+ </uni-forms-item>
+
+ <uni-forms-item :label="Testlabel" v-if="Test">
+ <uni-easyinput type="text" :placeholder="Testplaceholder" ref='midInput'
+ v-model="Initiallife" />
+ </uni-forms-item>
+
+ <uni-forms-item>
+ <view style="display: flex;justify-content: space-around;margin-top: 2%;">
+ <button @click="reset" type="default" size="default"
+ style="width: 160rpx;border: 1rpx solid #007aff;color: #007aff;">閲嶇疆</button>
+ <button @click="submit" type="primary" size="default" style="width: 160rpx;">缁勭洏</button>
+ </view>
+ </uni-forms-item>
+ </uni-forms>
+ <uni-list>
+ <uni-list-item direction="column" v-for="(item,index) in matInfos" :key="index">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <uni-icons type="trash" size="22" style="position: absolute;right: 5%;"
+ @click="deleteList(index)">
+ </uni-icons>
+ <view class="uni-content">
+ <view class="uni-title-sub uni-ellipsis-2">閲囪喘鍗曞彿锛歿{item.purchaseOrderNo}}</view>
+ <view class="uni-note">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
+ <view class="uni-note">鎵规鍙凤細{{item.lotNo}}</view>
+ <!-- 鐩存帴缂栬緫Q鍊煎搴旂殑quantity瀛楁 -->
+ <view class="uni-note" style="display: flex; align-items: center; gap: 10rpx;">
+ 鏁伴噺锛�
+ <uni-easyinput
+ type="number"
+ min="1"
+ style="width: 150rpx; display: inline-block;"
+ v-model="item.quantity"
+ @input="handleQuantityChange(item)"
+ />
+ </view>
+ <view class="uni-note">鐢熶骇鏃ユ湡锛歿{item.productionDate}}</view>
+ <view class="uni-note">鏈夋晥鏈燂細{{item.effectiveDate}}</view>
+ <view class="uni-note">浜よ揣鍗曞彿锛歿{item.deliveryNote}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+ </uni-list>
+ </view>
+ </view>
+ <view v-if="current === 1" class="headerstyle">
+ <view class="itemstyle">
+ <uni-forms label-width="120">
+ <uni-forms-item label="鎵樼洏鏉$爜">
+ <uni-easyinput type="text" :focus="!addressFocus" v-model="inboundBarcode"
+ placeholder="璇锋壂鎻忔墭鐩樻潯鐮�" ref='midInput' @confirm="inputChangebarcode" />
+ </uni-forms-item>
+ <uni-forms-item label="鍦板潃鏉$爜">
+ <uni-easyinput type="text" v-model="address" :disabled="addressdisabled"
+ placeholder="璇锋壂鎻忓湴鍧�鏉$爜" ref='midInput' :focus="addressFocus" />
+ </uni-forms-item>
+ <uni-forms-item>
+ <button @click="inbound" type="primary" size="default" style="margin-top: 2%;">鍏ュ簱纭</button>
+ </uni-forms-item>
+ </uni-forms>
+ </view>
+ </view>
+ <view v-if="current === 2" class="headerstyle">
+ <view class="itemstyle">
+ <uni-list :border="true">
+ <uni-list-item direction="column" v-for="(item,index) in orderInfo" :key="index">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <view class="uni-content">
+ <view style="font-size: 18px;">鍗曟嵁鍙凤細{{orderNo}}</view>
+ <view style="font-size: 18px;">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
+ <view>鐗╂枡鍚嶇О锛歿{item.materielName}}</view>
+ <view style="font-size: 18px;">鏁伴噺锛歿{item.orderQuantity}}</view>
+ <view style="font-size: 18px;">缁勭洏鏁伴噺锛歿{item.receiptQuantity}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+ </uni-list>
+ </view>
+ </view>
+ <view v-if="current === 3" class="headerstyle">
+ <view class="itemstyle">
+ <uni-forms label-width="180">
+ <uni-forms-item label="鍐呯鏍囩:">
+ <uni-easyinput type="text" placeholder="璇锋壂鎻忓唴绠辨爣绛�" ref='midInput' :focus="!pkfocus"
+ v-model="pkmaterSn" @confirm="pksnInput" />
+ </uni-forms-item>
+
+ <uni-forms-item>
+ <view style="display: flex;justify-content: space-around;margin-top: 2%;">
+ <button @click="resetInPk" type="default" size="default"
+ style="width: 160rpx;border: 1rpx solid #007aff;color: #007aff;">閲嶇疆</button>
+ <button @click="pksubmit" type="primary" size="default"
+ style="margin-top: 2%;">鍏ュ钩搴�</button>
+ </view>
+ </uni-forms-item>
+
+ </uni-forms>
+ <uni-list>
+ <uni-list-item direction="column" v-for="(item,index) in pkmatInfos" :key="index">
+ <template v-slot:body>
+ <view class="uni-list-box">
+ <uni-icons type="trash" size="22" style="position: absolute;right: 5%;"
+ @click="pkdeleteList(index)">
+ </uni-icons>
+ <view class="uni-content">
+ <view class="uni-title-sub uni-ellipsis-2">閲囪喘鍗曞彿锛歿{item.purchaseOrderNo}}</view>
+ <view class="uni-note">鐗╂枡缂栫爜锛歿{item.materielCode}}</view>
+ <view class="uni-note">鎵规鍙凤細{{item.lotNo}}</view>
+ <!-- 鐩存帴缂栬緫Q鍊煎搴旂殑quantity瀛楁 -->
+ <view class="uni-note" style="display: flex; align-items: center; gap: 10rpx;">
+ 鏁伴噺锛�
+ <uni-easyinput
+ type="number"
+ min="1"
+ style="width: 150rpx; display: inline-block;"
+ v-model="item.quantity"
+ @input="handlePkQuantityChange(item)"
+ />
+ </view>
+ <view class="uni-note">鐢熶骇鏃ユ湡锛歿{item.productionDate}}</view>
+ <view class="uni-note">鏈夋晥鏈燂細{{item.effectiveDate}}</view>
+ <view class="uni-note">浜よ揣鍗曞彿锛歿{item.deliveryNote}}</view>
+ </view>
+ </view>
+ </template>
+ </uni-list-item>
+ </uni-list>
+ </view>
+ </view>
+ </view>
+ <u-toast ref="uToast" />
+ </view>
+</template>
+
+<script>
+ const innerAudioContext = uni.createInnerAudioContext();
+ export default {
+ data() {
+ return {
+ items: ['缁勭洏', '鍏ュ簱', '鍗曟嵁淇℃伅'],
+ current: 0,
+ matTotal: [],
+ matInfos: [],
+ orderNo: "",
+ label: "",
+ orderInfo: [],
+ focus: false,
+ pkfocus: false,
+ barcode: "",
+ materSn: "",
+ Initiallife: 1000,
+ sns: [],
+ pksns: [],
+ addressFocus: false,
+ inboundBarcode: "",
+ address: "",
+ check: true,
+ value: "",
+ matInfo: [],
+ value2: "",
+ matTotals: [],
+ warehouseId: "",
+ Test: false,
+ Testlabel: "",
+ Testplaceholder: "",
+ Testcheck: false,
+ pkmaterSn: "",
+ pkmatInfos: [],
+ addressdisabled: false
+ }
+ },
+ onShow() {},
+ onLoad(res) {
+ this.focus = false;
+ this.addressFocus = false;
+ this.orderNo = res.orderNo;
+ this.warehouseId = res.warehouseId;
+ // if (this.warehouseId == 6) { //娴嬭瘯鏋朵粨搴撳尯ID
+ // this.Test = true;
+ // this.Testlabel = "鍒濆瀵垮懡:";
+ // this.Testplaceholder = "璇疯緭鍏ュ垵濮嬪鍛�";
+ // } else if (this.warehouseId == 2) { //娌瑰ⅷ浠撳簱鍖篒D
+ // this.Test = true;
+ // this.Testlabel = "鏁伴噺:";
+ // this.Testplaceholder = "璇疯緭鍏ユ暟閲�";
+ // this.Initiallife = 16;
+ // } else if (this.warehouseId == 5) { //杈呮枡
+ // this.items.push("鍏ュ钩搴�");
+ // this.items[1] = "鍏ョ珛搴�";
+ // this.address = "8005";
+ // } else if (this.warehouseId == 3) { //杈呮枡
+ // this.address = "1011";
+ // this.addressdisabled = true;
+ // }
+ this.label = "鍗曟嵁缂栧彿锛�" + this.orderNo;
+ this.getData();
+ },
+ methods: {
+ // 缁勭洏椤垫暟閲忕紪杈戞牎楠岋紙鐩存帴淇敼鍘熺敓quantity瀛楁锛�
+ handleQuantityChange(item) {
+ item.quantity = item.quantity ? Math.max(1, parseInt(item.quantity)) : 1;
+ },
+
+ // 鍏ュ钩搴撻〉鏁伴噺缂栬緫鏍¢獙锛堢洿鎺ヤ慨鏀瑰師鐢焣uantity瀛楁锛�
+ handlePkQuantityChange(item) {
+ item.quantity = item.quantity ? Math.max(1, parseInt(item.quantity)) : 1;
+ },
+
+ updateFocus() {
+ this.$nextTick(() => {
+ this.materSn = '';
+ if (!this.focus) {
+ this.focus = true;
+ }
+ });
+ },
+
+ barcodeFocus() {
+ this.barcode = '';
+ if (this.focus) {
+ this.focus = false;
+ }
+ },
+
+ getData() {
+ var postData = {
+ MainData: {
+ orderNo: this.orderNo
+ },
+ }
+ this.$u.post('/api/InboundOrderDetail/GetInboundOrderDetails', postData).then((res) => {
+ if (res.status) {
+ this.orderInfo = res.data;
+ if (this.orderInfo.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();
+ }
+ }
+ },
+
+ barcodeInput() {
+ this.$nextTick(function(x) {
+ if (this.barcode.length > 0) {
+ this.focus = true;
+ }
+ })
+ },
+
+ // 缁勭洏椤靛唴绠辩爜瑙f瀽锛堢洿鎺ユ搷浣滃師鐢焣uantity瀛楁锛�
+ snInput() {
+ this.$nextTick(() => {
+ if (!this.materSn) return;
+
+ // 寤惰繜100ms纭繚鎵爜瀹屾垚
+ setTimeout(() => {
+ this.focus = false;
+ let matSn = this.materSn.trim();
+
+ // 浠撳簱11鐨勭壒娈婂鐞�
+ if (this.warehouseId == 11) {
+ matSn = matSn.replace(/,SC.*/, '');
+ }
+
+ // 鏍¢獙鍐呯鐮佸畬鏁存��
+ const requiredFields = ['M:', 'BS:', 'DM:', 'DE:', 'Q:', 'PO:', 'DN:'];
+ const hasAllFields = requiredFields.every(field => matSn.includes(field));
+ if (!hasAllFields) {
+ this.$refs.uToast.show({
+ title: "鍐呯鐮佷笉瀹屾暣锛岃閲嶆柊鎵弿",
+ type: "error"
+ });
+ this.materSn = "";
+ return;
+ }
+
+ // 鏍¢獙PO瀛楁瀛樺湪鎬�
+ if (matSn.indexOf("PO") <= 0) {
+ this.$refs.uToast.show({
+ title: "鍐呯鐮佹牸寮忛敊璇紙鏃燩O鏍囪瘑锛�",
+ type: "error"
+ });
+ this.materSn = "";
+ return;
+ }
+
+ // 瑙f瀽鍐呯鐮侊紙鐩存帴浣跨敤杩斿洖鐨剄uantity浣滀负Q鍊硷級
+ this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + matSn, {}).then((res) => {
+ this.Testcheck = false;
+ if (res.status) {
+ this.sns.push(res.data.serialNumber);
+ this.matInfos.push(res.data);
+
+ if (res.message) {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "warning"
+ });
+ }
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ });
+ }
+ });
+
+ this.materSn = "";
+ }, 1000);
+ })
+ },
+
+ // 鍏ュ钩搴撻〉鍐呯鐮佽В鏋愶紙鐩存帴鎿嶄綔鍘熺敓quantity瀛楁锛�
+ pksnInput() {
+ this.$nextTick(() => {
+ if (!this.pkmaterSn) return;
+
+ // 寤惰繜100ms纭繚鎵爜瀹屾垚
+ setTimeout(() => {
+ let matSn = this.pkmaterSn.trim();
+
+ // 鏍¢獙鍐呯鐮佸畬鏁存��
+ const requiredFields = ['M:', 'BS:', 'DM:', 'DE:', 'Q:', 'PO:', 'DN:'];
+ const hasAllFields = requiredFields.every(field => matSn.includes(field));
+ if (!hasAllFields) {
+ this.$refs.uToast.show({
+ title: "鍐呯鐮佷笉瀹屾暣锛岃閲嶆柊鎵弿",
+ type: "error"
+ });
+ this.pkmaterSn = "";
+ return;
+ }
+
+ // 鏍¢獙PO瀛楁瀛樺湪鎬�
+ if (matSn.indexOf("PO") <= 0) {
+ this.$refs.uToast.show({
+ title: "鍐呯鐮佹牸寮忛敊璇紙鏃燩O鏍囪瘑锛�",
+ type: "error"
+ });
+ this.pkmaterSn = "";
+ return;
+ }
+
+ // 瑙f瀽鍐呯鐮侊紙鐩存帴浣跨敤杩斿洖鐨剄uantity浣滀负Q鍊硷級
+ this.$u.post('/api/MaterielInfo/CodeAnalysis?serNum=' + matSn, {}).then((res) => {
+ if (res.status) {
+ this.pksns.push(res.data.serialNumber);
+ this.pkmatInfos.push(res.data);
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ });
+ }
+ });
+
+ this.pkmaterSn = "";
+ }, 100);
+ })
+ },
+
+ inbound() {
+ if (this.inboundBarcode == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忔墭鐩樻潯鐮�",
+ type: "error"
+ })
+ return;
+ }
+ if (this.address == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忓湴鍧�鏉$爜",
+ type: "error"
+ })
+ return;
+ }
+ var postData = {
+ MainData: {
+ "barcode": this.inboundBarcode,
+ "startPoint": this.address,
+ "warehouseId": this.warehouseId
+ }
+ }
+ this.$u.post('/api/Task/RequestInboundTask', postData).then(res => {
+ if (res.status) {
+ this.inboundBarcode = "";
+ if (this.warehouseId != 5) this.address = "";
+ setTimeout(() => {
+ this.addressFocus = false;
+ this.$refs.uToast.show({
+ title: "鎴愬姛",
+ type: "success"
+ })
+ }, 200);
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ }).catch(err => {
+ this.$refs.uToast.show({
+ title: err.message,
+ type: "error"
+ })
+ })
+ },
+
+ inputChangebarcode() {
+ this.addressFocus = false;
+ this.$nextTick(function(x) {
+ if (this.inboundBarcode != '') {
+ this.addressFocus = true;
+ }
+ })
+ },
+
+ deleteList(res) {
+ this.matInfos.splice(res, 1);
+ this.sns.splice(res, 1);
+ },
+
+ pkdeleteList(res) {
+ this.pkmatInfos.splice(res, 1);
+ this.pksns.splice(res, 1);
+ },
+
+ reset() {
+ this.barcode = "";
+ this.matInfos = [];
+ this.sns = [];
+ this.materSn = "";
+ if (this.warehouseId != 6) {
+ this.Initiallife = 0;
+ }
+ },
+
+ resetInPk() {
+ this.pkmaterSn = "";
+ this.pkfocus = false;
+ this.pkmatInfos = [];
+ this.pksns = [];
+ },
+
+ pksubmit() {
+ if (this.pkmatInfos.length == 0) {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忓唴绠辨爣绛�",
+ type: 'error'
+ })
+ return;
+ }
+
+ // 鐩存帴浣跨敤淇敼鍚庣殑quantity锛堝搴擰鍊硷級鎻愪氦
+ const submitData = this.pkmatInfos.map(item => ({
+ serialNumber: item.serialNumber,
+ quantity: item.quantity
+ }));
+
+ this.$u.post('/api/InboundOrder/InPinKu?warehouseId=' + this.warehouseId + "&orderNo=" + this.orderNo, submitData)
+ .then(res => {
+ if (res.status) {
+ this.$refs.uToast.show({
+ title: "鍏ュ簱鎴愬姛",
+ type: "success"
+ })
+ this.pkfocus = false;
+ this.pkmatInfos = [];
+ this.pksns = [];
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ },
+
+ submit() {
+ if (this.barcode == "") {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忔墭鐩樻潯鐮�",
+ type: 'error'
+ })
+ return;
+ }
+ if (this.matInfos.length == 0) {
+ this.$refs.uToast.show({
+ title: "璇锋壂鎻忓唴绠辨爣绛�",
+ type: 'error'
+ })
+ return;
+ }
+ if (this.Test) {
+ if (!this.Testcheck) {
+ this.Testcheck = true;
+ if (this.warehouseId == 2) {
+ this.$refs.uToast.show({
+ title: "璇风‘璁ゆ暟閲�",
+ type: 'error'
+ })
+ }
+ return;
+ }
+ }
+
+ // 鐩存帴浣跨敤淇敼鍚庣殑quantity锛堝搴擰鍊硷級鎻愪氦
+ let submitSns = this.matInfos.map(item => ({
+ serialNumber: item.serialNumber,
+ quantity: item.quantity
+ }));
+
+ // 娌瑰ⅷ浠撳簱鐗规畩澶勭悊
+ if (this.warehouseId == 2) {
+ const firstItem = submitSns[0];
+ for (var i = 0; i < this.Initiallife - 1; i++) {
+ submitSns.push({...firstItem});
+ }
+ }
+
+ this.$u.post('/api/InboundOrder/MaterielGroup', {
+ MainData: {
+ "palletCode": this.barcode,
+ "orderNo": this.orderNo,
+ "initiallife": this.Initiallife,
+ "warehouseId": this.warehouseId
+ },
+ DelKeys: submitSns
+ }).then(res => {
+ this.Testcheck = false;
+ if (res.status) {
+ this.$refs.uToast.show({
+ title: "缁勭洏鎴愬姛",
+ type: "success"
+ })
+ this.focus = false;
+ this.barcode = "";
+ this.matInfos = [];
+ this.sns = [];
+ this.matTotal = [];
+ if (this.warehouseId != 6) {
+ this.Initiallife = "";
+ }
+ } else {
+ this.$refs.uToast.show({
+ title: res.message,
+ type: "error"
+ })
+ }
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+ @import '@/common/uni-ui.scss';
+
+ .content {
+ display: flex;
+ height: 150px;
+ }
+
+ .content-text {
+ font-size: 14px;
+ color: #666;
+ }
+
+ .itemstyle {
+ margin-top: 30px;
+ margin-left: 5%;
+ }
+
+ .headerstyle {
+ width: 90%;
+ }
+</style>
+
\ No newline at end of file
--
Gitblit v1.9.3