From bc83d59a8004d003f3c9948d6f850d2a146a6b72 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周一, 09 12月 2024 10:30:52 +0800
Subject: [PATCH] 222

---
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordUpiReplenish.ts                                                  |   78 ++
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiReplenish/component/editDialog.vue                          |  193 ++++
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs                           |   70 +
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommonnQuery/Dto/QueryPackageInput.cs                              |   17 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Database.json                                                   |    2 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiNg/Dto/WmsRecordUpiNgInput.cs                |  192 ++++
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiNg/component/editDialog.vue                                 |  193 ++++
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiNg/index.vue                                                |  283 +++++++
 LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiReplenish/index.vue                                         |  283 +++++++
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsRecordUpiReplenish.cs                                  |   57 +
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiReplenish/Dto/WmsRecordUpiReplenishInput.cs  |  192 ++++
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsRecordUpiNg.cs                                         |   57 +
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiNg/Dto/WmsRecordUpiNgOutput.cs               |   70 +
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan_new.ts                                                       |    8 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiReplenish/Dto/WmsRecordUpiReplenishOutput.cs |   70 +
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiReplenish/WmsRecordUpiReplenishService.cs    |  206 +++++
 LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKittingNg/index.vue                                               |    9 
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommonnQuery/WmsCommonnQueryService.cs                             |   53 +
 LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordUpiNg.ts                                                         |   78 ++
 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiNg/WmsRecordUpiNgService.cs                  |  206 +++++
 20 files changed, 2,306 insertions(+), 11 deletions(-)

diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordUpiNg.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordUpiNg.ts
new file mode 100644
index 0000000..92066d7
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordUpiNg.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsRecordUpiNg = '/api/wmsRecordUpiNg/add',
+  DeleteWmsRecordUpiNg = '/api/wmsRecordUpiNg/delete',
+  UpdateWmsRecordUpiNg = '/api/wmsRecordUpiNg/update',
+  PageWmsRecordUpiNg = '/api/wmsRecordUpiNg/page',
+  ListWmsRecordUpiNg = '/api/wmsRecordUpiNg/list',
+  DetailWmsRecordUpiNg = '/api/wmsRecordUpiNg/detail',
+  ImportExcelWmsRecordUpiNg = '/api/wmsRecordUpiNg/importExcel',
+  DownloadExcelTemplateWmsRecordUpiNg = '/api/wmsRecordUpiNg/downloadExcelTemplate',
+}
+
+// 澧炲姞鏉夸欢NG璁板綍
+export const addWmsRecordUpiNg = (params?: any) =>
+	request({
+		url: Api.AddWmsRecordUpiNg,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鏉夸欢NG璁板綍
+export const deleteWmsRecordUpiNg = (params?: any) => 
+	request({
+			url: Api.DeleteWmsRecordUpiNg,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鏉夸欢NG璁板綍
+export const updateWmsRecordUpiNg = (params?: any) => 
+	request({
+			url: Api.UpdateWmsRecordUpiNg,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鏉夸欢NG璁板綍
+export const importExcelWmsRecordUpiNg = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsRecordUpiNg,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鏉夸欢NG璁板綍妯℃澘
+export const downloadExcelTemplateWmsRecordUpiNg = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsRecordUpiNg,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鏉夸欢NG璁板綍
+export const pageWmsRecordUpiNg = (params?: any) => 
+	request({
+			url: Api.PageWmsRecordUpiNg,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈡澘浠禢G璁板綍
+export const listWmsRecordUpiNg = (params?: any) => 
+	request({
+			url: Api.ListWmsRecordUpiNg,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鏉夸欢NG璁板綍
+export const detailWmsRecordUpiNg = (id: any) => 
+	request({
+			url: Api.DetailWmsRecordUpiNg,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordUpiReplenish.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordUpiReplenish.ts
new file mode 100644
index 0000000..553622c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsRecordUpiReplenish.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+  AddWmsRecordUpiReplenish = '/api/wmsRecordUpiReplenish/add',
+  DeleteWmsRecordUpiReplenish = '/api/wmsRecordUpiReplenish/delete',
+  UpdateWmsRecordUpiReplenish = '/api/wmsRecordUpiReplenish/update',
+  PageWmsRecordUpiReplenish = '/api/wmsRecordUpiReplenish/page',
+  ListWmsRecordUpiReplenish = '/api/wmsRecordUpiReplenish/list',
+  DetailWmsRecordUpiReplenish = '/api/wmsRecordUpiReplenish/detail',
+  ImportExcelWmsRecordUpiReplenish = '/api/wmsRecordUpiReplenish/importExcel',
+  DownloadExcelTemplateWmsRecordUpiReplenish = '/api/wmsRecordUpiReplenish/downloadExcelTemplate',
+}
+
+// 澧炲姞鏉夸欢琛ユ枡璁板綍
+export const addWmsRecordUpiReplenish = (params?: any) =>
+	request({
+		url: Api.AddWmsRecordUpiReplenish,
+		method: 'post',
+		data: params
+	});
+
+// 鍒犻櫎鏉夸欢琛ユ枡璁板綍
+export const deleteWmsRecordUpiReplenish = (params?: any) => 
+	request({
+			url: Api.DeleteWmsRecordUpiReplenish,
+			method: 'post',
+			data: params
+		});
+
+// 缂栬緫鏉夸欢琛ユ枡璁板綍
+export const updateWmsRecordUpiReplenish = (params?: any) => 
+	request({
+			url: Api.UpdateWmsRecordUpiReplenish,
+			method: 'post',
+			data: params
+		});
+
+// 瀵煎叆鏉夸欢琛ユ枡璁板綍
+export const importExcelWmsRecordUpiReplenish = (params?: any) =>
+	request({
+		url: Api.ImportExcelWmsRecordUpiReplenish,
+		method: 'post',
+		data: params
+	});
+
+// 涓嬭浇瀵煎叆鏉夸欢琛ユ枡璁板綍妯℃澘
+export const downloadExcelTemplateWmsRecordUpiReplenish = (params?: any) => 
+	request({
+			url: Api.DownloadExcelTemplateWmsRecordUpiReplenish,
+			method: 'get',
+			data: params,
+			responseType: 'blob'
+		});
+
+
+// 鍒嗛〉鏌ヨ鏉夸欢琛ユ枡璁板綍
+export const pageWmsRecordUpiReplenish = (params?: any) => 
+	request({
+			url: Api.PageWmsRecordUpiReplenish,
+			method: 'post',
+			data: params
+		});
+
+// 涓嶅垎椤垫煡璇㈡澘浠惰ˉ鏂欒褰�
+export const listWmsRecordUpiReplenish = (params?: any) => 
+	request({
+			url: Api.ListWmsRecordUpiReplenish,
+			method: 'get',
+			data: params
+		});
+
+// 璇︽儏鏉夸欢琛ユ枡璁板綍
+export const detailWmsRecordUpiReplenish = (id: any) => 
+	request({
+			url: Api.DetailWmsRecordUpiReplenish,
+			method: 'get',
+			data: { id }
+		});
+
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan_new.ts b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan_new.ts
index 8032b96..018215e 100644
--- a/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan_new.ts
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/ReportCenter/wmsStockQuan_new.ts
@@ -18,6 +18,7 @@
   PageStockQuanForXjd= '/api/v_wms_stock_quan_group/Page',
   PageWmsLocationViewDetail = '/api/WmsPlaceContainerInfo/Detail',
   ValdateQiTao = '/api/WmsOperationTask/ValdateQiTao',
+  QueryPackage = '/api/WmsCommonnQuery/QueryPackage',
 
   ValdateLabel = '/api/WmsOperationTask/ValdateLabel',
   ConfirmNg = '/api/WmsOperationTask/UnlineForNGPackage',
@@ -166,6 +167,13 @@
 			data: params
 		});
 
+	
+	export const QueryPackage = (params?: any) => 
+	request({
+			url: Api.QueryPackage,
+			method: 'post',
+			data: params
+		});
 
 
 		
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiNg/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiNg/component/editDialog.vue
new file mode 100644
index 0000000..6678e93
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiNg/component/editDialog.vue
@@ -0,0 +1,193 @@
+锘�<template>
+	<div class="wmsRecordUpiNg-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閮ㄤ欢鏉$爜" prop="upi">
+							<el-input v-model="ruleForm.upi" placeholder="璇疯緭鍏ラ儴浠舵潯鐮�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍖呰鍙�" prop="packageCode">
+							<el-input v-model="ruleForm.packageCode" placeholder="璇疯緭鍏ュ寘瑁呭彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐢熶骇鍗曞彿" prop="info5">
+							<el-input v-model="ruleForm.info5" placeholder="璇疯緭鍏ョ敓浜у崟鍙�" maxlength="60" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵规鍙�" prop="planNo">
+							<el-input v-model="ruleForm.planNo" placeholder="璇疯緭鍏ユ壒娆″彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璁㈠崟鍙�" prop="orderId">
+							<el-input v-model="ruleForm.orderId" placeholder="璇疯緭鍏ヨ鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閮ㄤ欢鍚嶇О" prop="detailName">
+							<el-input v-model="ruleForm.detailName" placeholder="璇疯緭鍏ラ儴浠跺悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏉愭枡" prop="info18">
+							<el-input v-model="ruleForm.info18" placeholder="璇疯緭鍏ユ潗鏂�" maxlength="60" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="澶囨敞" prop="operRemark">
+							<el-input v-model="ruleForm.operRemark" placeholder="璇疯緭鍏ュ娉�" maxlength="100" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsRecordUpiNg, updateWmsRecordUpiNg, detailWmsRecordUpiNg } from "/@/api/main/ReportCenter/wmsRecordUpiNg";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		upi: [{required: true, message: '璇疯緭鍏ラ儴浠舵潯鐮侊紒', trigger: 'blur',},],
+		packageCode: [{required: true, message: '璇疯緭鍏ュ寘瑁呭彿锛�', trigger: 'blur',},],
+		planNo: [{required: true, message: '璇疯緭鍏ユ壒娆″彿锛�', trigger: 'blur',},],
+		orderId: [{required: true, message: '璇疯緭鍏ヨ鍗曞彿锛�', trigger: 'blur',},],
+		detailName: [{required: true, message: '璇疯緭鍏ラ儴浠跺悕绉帮紒', trigger: 'blur',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsRecordUpiNg(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsRecordUpiNg(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsRecordUpiNg(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiNg/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiNg/index.vue
new file mode 100644
index 0000000..1fd37e8
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiNg/index.vue
@@ -0,0 +1,283 @@
+锘�<template>
+  <div class="wmsRecordUpiNg-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsRecordUpiNg" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsRecordUpiNg.searchKey" clearable="" placeholder="閮ㄤ欢鏉$爜,鍖呰鍙�,鐢熶骇鍗曞彿,鎵规鍙�,璁㈠崟鍙�,閮ㄤ欢鍚嶇О,鏉愭枡,澶囨敞,鍒涘缓浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiNg">
+            <el-form-item label="閮ㄤ欢鏉$爜">
+              <el-input v-model="queryParamsWmsRecordUpiNg.upi" clearable="" placeholder="璇疯緭鍏ラ儴浠舵潯鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiNg">
+            <el-form-item label="鍖呰鍙�">
+              <el-input v-model="queryParamsWmsRecordUpiNg.packageCode" clearable="" placeholder="璇疯緭鍏ュ寘瑁呭彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiNg">
+            <el-form-item label="鐢熶骇鍗曞彿">
+              <el-input v-model="queryParamsWmsRecordUpiNg.info5" clearable="" placeholder="璇疯緭鍏ョ敓浜у崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiNg">
+            <el-form-item label="鎵规鍙�">
+              <el-input v-model="queryParamsWmsRecordUpiNg.planNo" clearable="" placeholder="璇疯緭鍏ユ壒娆″彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiNg">
+            <el-form-item label="璁㈠崟鍙�">
+              <el-input v-model="queryParamsWmsRecordUpiNg.orderId" clearable="" placeholder="璇疯緭鍏ヨ鍗曞彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiNg">
+            <el-form-item label="閮ㄤ欢鍚嶇О">
+              <el-input v-model="queryParamsWmsRecordUpiNg.detailName" clearable="" placeholder="璇疯緭鍏ラ儴浠跺悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiNg">
+            <el-form-item label="鏉愭枡">
+              <el-input v-model="queryParamsWmsRecordUpiNg.info18" clearable="" placeholder="璇疯緭鍏ユ潗鏂�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiNg">
+            <el-form-item label="澶囨敞">
+              <el-input v-model="queryParamsWmsRecordUpiNg.operRemark" clearable="" placeholder="璇疯緭鍏ュ娉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiNg">
+            <el-form-item label="鍒涘缓鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨鍒涘缓鏃堕棿" value-format="YYYY/MM/DD  HH:mm:ss" type="datetimerange" :default-time="defaultTimeRange" v-model="queryParamsWmsRecordUpiNg.createTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsRecordUpiNg" v-auth="'wmsRecordUpiNg:page'" :disabled="disabled_btnWmsRecordUpiNg"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsRecordUpiNg"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsRecordUpiNg" v-if="!showAdvanceQueryUIWmsRecordUpiNg" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsRecordUpiNg" v-if="showAdvanceQueryUIWmsRecordUpiNg" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsRecordUpiNg" v-auth="'wmsRecordUpiNg:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsRecordUpiNg"  v-auth="'wmsRecordUpiNg:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsRecordUpiNg"
+				:data="tableDataWmsRecordUpiNg"
+				style="width: 100%"
+				v-loading="loadingWmsRecordUpiNg"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsRecordUpiNg"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="upi" label="閮ㄤ欢鏉$爜"  show-overflow-tooltip="" />
+        <el-table-column prop="packageCode" label="鍖呰鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="info5" label="鐢熶骇鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="planNo" label="鎵规鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="orderId" label="璁㈠崟鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="detailName" label="閮ㄤ欢鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="info18" label="鏉愭枡"  show-overflow-tooltip="" />
+        <el-table-column prop="operRemark" label="澶囨敞"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsRecordUpiNg:update') || auth('wmsRecordUpiNg:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsRecordUpiNg(scope.row)" v-auth="'wmsRecordUpiNg:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsRecordUpiNg(scope.row)" v-auth="'wmsRecordUpiNg:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsRecordUpiNg.page"
+				v-model:page-size="tableParamsWmsRecordUpiNg.pageSize"
+				:total="tableParamsWmsRecordUpiNg.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsRecordUpiNg"
+				@current-change="handleCurrentChangeWmsRecordUpiNg"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsRecordUpiNg
+        ref="printDialogRefWmsRecordUpiNg"
+        :title="printWmsRecordUpiNgTitle"
+        @reloadTable="handleQueryWmsRecordUpiNg" />
+      <editDialogWmsRecordUpiNg
+        ref="editDialogRefWmsRecordUpiNg"
+        :title="editWmsRecordUpiNgTitle"
+        @reloadTable="handleQueryWmsRecordUpiNg"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsRecordUpiNg">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+  import printDialogWmsRecordUpiNg from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pageWmsRecordUpiNg, deleteWmsRecordUpiNg,importExcelWmsRecordUpiNg,downloadExcelTemplateWmsRecordUpiNg } from '/@/api/main/ReportCenter/wmsRecordUpiNg';
+
+
+  
+  /***************************************************[鏉夸欢NG璁板綍鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsRecordUpiNg = ref(false);
+  const tableRefWmsRecordUpiNg = ref(null);
+  const printDialogRefWmsRecordUpiNg = ref();
+  const editDialogRefWmsRecordUpiNg = ref();
+  const loadingWmsRecordUpiNg = ref(false);
+  const disabled_btnWmsRecordUpiNg = ref(false);
+  const tableDataWmsRecordUpiNg = ref<any>([]);
+  const queryParamsWmsRecordUpiNg = ref<any>({});
+  const tableParamsWmsRecordUpiNg = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsRecordUpiNgTitle = ref("");
+  const editWmsRecordUpiNgTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsRecordUpiNg = () => {
+    showAdvanceQueryUIWmsRecordUpiNg.value = !showAdvanceQueryUIWmsRecordUpiNg.value;
+  }
+
+  // 鏌ヨ鏉夸欢NG璁板綍
+  const handleQueryWmsRecordUpiNg = async () => {
+    loadingWmsRecordUpiNg.value = true;
+    disabled_btnWmsRecordUpiNg.value = true;
+    var res = await pageWmsRecordUpiNg(Object.assign(queryParamsWmsRecordUpiNg.value, tableParamsWmsRecordUpiNg.value));
+    if(res.data.type=="success"){
+      tableDataWmsRecordUpiNg.value = res.data.result?.items ?? [];
+      tableParamsWmsRecordUpiNg.value.total = res.data.result?.total;
+    }
+    loadingWmsRecordUpiNg.value = false;
+    disabled_btnWmsRecordUpiNg.value = false;
+  };
+
+  // 閲嶇疆鏉夸欢NG璁板綍鏌ヨ
+  const resetWmsRecordUpiNg = async () => {
+    queryParamsWmsRecordUpiNg.value = {}
+  };
+
+  // 鏉夸欢NG璁板綍鍒楁帓搴�
+  const sortChangeWmsRecordUpiNg = async (column: any) => {
+	queryParamsWmsRecordUpiNg.value.field = column.prop;
+	queryParamsWmsRecordUpiNg.value.order = column.order;
+	await handleQueryWmsRecordUpiNg();
+  };
+
+  // 鎵撳紑鏂板鏉夸欢NG璁板綍椤甸潰
+  const openAddWmsRecordUpiNg = () => {
+    editWmsRecordUpiNgTitle.value = '娣诲姞鏉夸欢NG璁板綍';
+    editDialogRefWmsRecordUpiNg.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃鏉夸欢NG璁板綍椤甸潰
+  const openPrintWmsRecordUpiNg = async (row: any) => {
+    printWmsRecordUpiNgTitle.value = '鎵撳嵃鏉夸欢NG璁板綍';
+  }
+  
+  // 鎵撳紑缂栬緫鏉夸欢NG璁板綍椤甸潰
+  const openEditWmsRecordUpiNg = (row: any) => {
+    editWmsRecordUpiNgTitle.value = '缂栬緫鏉夸欢NG璁板綍';
+    editDialogRefWmsRecordUpiNg.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎鏉夸欢NG璁板綍
+  const delWmsRecordUpiNg = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsRecordUpiNg.value = true;
+    var ret = await deleteWmsRecordUpiNg(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsRecordUpiNg.value = false;
+    handleQueryWmsRecordUpiNg();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉鏉夸欢NG璁板綍椤甸潰瀹归噺
+  const handleSizeChangeWmsRecordUpiNg = (val: number) => {
+    tableParamsWmsRecordUpiNg.value.pageSize = val;
+    handleQueryWmsRecordUpiNg();
+  };
+
+  // 鏀瑰彉鏉夸欢NG璁板綍椤电爜搴忓彿
+  const handleCurrentChangeWmsRecordUpiNg = (val: number) => {
+    tableParamsWmsRecordUpiNg.value.page = val;
+    handleQueryWmsRecordUpiNg();
+  };
+
+/***************************************************[鏉夸欢NG璁板綍鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[鏉夸欢NG璁板綍瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsRecordUpiNg = {
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsRecordUpiNg = async (formData:Blob) => {
+    loadingWmsRecordUpiNg.value = true;
+    disabled_btnWmsRecordUpiNg.value = true;
+    var new_tableParamsWmsRecordUpiNg=JSON.parse(JSON.stringify(tableParamsWmsRecordUpiNg.value));
+    new_tableParamsWmsRecordUpiNg.page = 1;
+    new_tableParamsWmsRecordUpiNg.pageSize = 100000;
+    var res = await pageWmsRecordUpiNg(Object.assign(queryParamsWmsRecordUpiNg.value, new_tableParamsWmsRecordUpiNg));
+    if(res.data.type=="success"){
+      exportExcelWmsRecordUpiNg(res.data.result?.items ?? []);
+    }
+    loadingWmsRecordUpiNg.value = false;
+    disabled_btnWmsRecordUpiNg.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsRecordUpiNg  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsRecordUpiNg,"鏉夸欢NG璁板綍",functionMapWmsRecordUpiNg);
+};
+/***************************************************[鏉夸欢NG璁板綍瀵煎嚭]缁撴潫***************************************************/
+  // 鏉夸欢NG璁板綍椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+  });
+
+  handleQueryWmsRecordUpiNg();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiReplenish/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiReplenish/component/editDialog.vue
new file mode 100644
index 0000000..853d8fb
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiReplenish/component/editDialog.vue
@@ -0,0 +1,193 @@
+锘�<template>
+	<div class="wmsRecordUpiReplenish-container">
+		<el-dialog v-model="isShowDialog" :width="800" draggable="" :close-on-click-modal="false">
+			<template #header>
+				<div style="color: #fff">
+					<!--<el-icon size="16" style="margin-right: 3px; display: inline; vertical-align: middle"> <ele-Edit /> </el-icon>-->
+					<span>{{ props.title }}</span>
+				</div>
+			</template>
+			<el-form :model="ruleForm" ref="ruleFormRef" label-width="auto" :rules="rules" v-loading="loading">
+				<el-row :gutter="35">
+					<el-form-item v-show="false">
+						<el-input v-model="ruleForm.id" />
+					</el-form-item>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閮ㄤ欢鏉$爜" prop="upi">
+							<el-input v-model="ruleForm.upi" placeholder="璇疯緭鍏ラ儴浠舵潯鐮�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鍖呰鍙�" prop="packageCode">
+							<el-input v-model="ruleForm.packageCode" placeholder="璇疯緭鍏ュ寘瑁呭彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鐢熶骇鍗曞彿" prop="info5">
+							<el-input v-model="ruleForm.info5" placeholder="璇疯緭鍏ョ敓浜у崟鍙�" maxlength="60" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鎵规鍙�" prop="planNo">
+							<el-input v-model="ruleForm.planNo" placeholder="璇疯緭鍏ユ壒娆″彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="璁㈠崟鍙�" prop="orderId">
+							<el-input v-model="ruleForm.orderId" placeholder="璇疯緭鍏ヨ鍗曞彿" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="閮ㄤ欢鍚嶇О" prop="detailName">
+							<el-input v-model="ruleForm.detailName" placeholder="璇疯緭鍏ラ儴浠跺悕绉�" maxlength="50" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="鏉愭枡" prop="info18">
+							<el-input v-model="ruleForm.info18" placeholder="璇疯緭鍏ユ潗鏂�" maxlength="60" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+						<el-form-item label="澶囨敞" prop="operRemark">
+							<el-input v-model="ruleForm.operRemark" placeholder="璇疯緭鍏ュ娉�" maxlength="100" show-word-limit clearable />
+							
+						</el-form-item>
+						
+					</el-col>
+				</el-row>
+			</el-form>
+			<template #footer>
+				<span class="dialog-footer">
+					<el-button @click="cancel">鍙� 娑�</el-button>
+					<el-button type="primary" @click="submit" :disabled="disabled_btn">纭� 瀹�</el-button>
+				</span>
+			</template>
+		</el-dialog>
+	</div>
+</template>
+<style scoped>
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+<script lang="ts" setup>
+	import { ref,onMounted } from "vue";
+	import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+	import { ElMessage } from "element-plus";
+	import type { FormRules } from "element-plus";
+	import { addWmsRecordUpiReplenish, updateWmsRecordUpiReplenish, detailWmsRecordUpiReplenish } from "/@/api/main/ReportCenter/wmsRecordUpiReplenish";
+
+	//鐖剁骇浼犻�掓潵鐨勫弬鏁�
+	var props = defineProps({
+		title: {
+		type: String,
+		default: "",
+	},
+	});
+	//鐖剁骇浼犻�掓潵鐨勫嚱鏁帮紝鐢ㄤ簬鍥炶皟
+	const emit = defineEmits(["reloadTable"]);
+	const ruleFormRef = ref();
+	const isShowDialog = ref(false);
+	const loading = ref(false);
+	const disabled_btn = ref(false);
+	const ruleForm = ref<any>({});
+	//鑷娣诲姞鍏朵粬瑙勫垯
+	const rules = ref<FormRules>({
+		upi: [{required: true, message: '璇疯緭鍏ラ儴浠舵潯鐮侊紒', trigger: 'blur',},],
+		packageCode: [{required: true, message: '璇疯緭鍏ュ寘瑁呭彿锛�', trigger: 'blur',},],
+		planNo: [{required: true, message: '璇疯緭鍏ユ壒娆″彿锛�', trigger: 'blur',},],
+		orderId: [{required: true, message: '璇疯緭鍏ヨ鍗曞彿锛�', trigger: 'blur',},],
+		detailName: [{required: true, message: '璇疯緭鍏ラ儴浠跺悕绉帮紒', trigger: 'blur',},],
+	});
+
+	/*
+	 * 鎵撳紑寮圭獥
+	 * @param flag 鏍囪锛�1鏂板 2缂栬緫 3鏌ョ湅锛�
+	 * @param row  琛屾暟鎹�
+	 */
+	const openDialog = async (flag: number,row: any) => {
+		// ruleForm.value = JSON.parse(JSON.stringify(row));
+		// 鏀圭敤detail鑾峰彇鏈�鏂版暟鎹潵缂栬緫
+		let rowData = JSON.parse(JSON.stringify(row));
+		if (rowData.id)
+			ruleForm.value = (await detailWmsRecordUpiReplenish(rowData.id)).data.result;
+		else {
+		    ruleForm.value = rowData;
+		}
+		isShowDialog.value = true;
+	};
+
+	// 鍏抽棴寮圭獥
+	const closeDialog = () => {
+		emit("reloadTable");
+		isShowDialog.value = false;
+	};
+
+	// 鍙栨秷
+	const cancel = () => {
+		isShowDialog.value = false;
+	};
+
+	// 鎻愪氦
+	const submit = async () => {
+	    disabled_btn.value = true;
+		ruleFormRef.value.validate(async (isValid: boolean, fields?: any) => {
+			if (isValid) {
+			    loading.value = true;
+				let values = ruleForm.value;
+				let ret={};
+				let title='鏂板';
+				if (ruleForm.value.id == undefined || ruleForm.value.id == null || ruleForm.value.id == "" || ruleForm.value.id == 0) {
+					ret = await addWmsRecordUpiReplenish(values);
+				} else {
+					title='缂栬緫';
+					ret = await updateWmsRecordUpiReplenish(values);
+				}
+				loading.value = false;
+				disabled_btn.value = false;
+				if(ret.data.type=="success"){
+					ElMessage.success(title+'鎴愬姛');
+					closeDialog();
+				}
+			} else {
+			    disabled_btn.value = false;
+				ElMessage({
+					message: `琛ㄥ崟鏈�${Object.keys(fields).length}澶勯獙璇佸け璐ワ紝璇蜂慨鏀瑰悗鍐嶆彁浜,
+					type: "error",
+				});
+			}
+		});
+	};
+
+	
+
+
+
+
+
+	// 椤甸潰鍔犺浇鏃�
+	onMounted(async () => {
+	});
+
+	//灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+	defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiReplenish/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiReplenish/index.vue
new file mode 100644
index 0000000..e8f07ec
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/ReportCenter/wmsRecordUpiReplenish/index.vue
@@ -0,0 +1,283 @@
+锘�<template>
+  <div class="wmsRecordUpiReplenish-container">
+    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> 
+      <el-form :model="queryParamsWmsRecordUpiReplenish" ref="queryForm" labelWidth="90">
+        <el-row>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10">
+            <el-form-item label="鍏抽敭瀛�">
+              <el-input v-model="queryParamsWmsRecordUpiReplenish.searchKey" clearable="" placeholder="閮ㄤ欢鏉$爜,鍖呰鍙�,鐢熶骇鍗曞彿,鎵规鍙�,璁㈠崟鍙�,閮ㄤ欢鍚嶇О,鏉愭枡,澶囨敞,鍒涘缓浜�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiReplenish">
+            <el-form-item label="閮ㄤ欢鏉$爜">
+              <el-input v-model="queryParamsWmsRecordUpiReplenish.upi" clearable="" placeholder="璇疯緭鍏ラ儴浠舵潯鐮�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiReplenish">
+            <el-form-item label="鍖呰鍙�">
+              <el-input v-model="queryParamsWmsRecordUpiReplenish.packageCode" clearable="" placeholder="璇疯緭鍏ュ寘瑁呭彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiReplenish">
+            <el-form-item label="鐢熶骇鍗曞彿">
+              <el-input v-model="queryParamsWmsRecordUpiReplenish.info5" clearable="" placeholder="璇疯緭鍏ョ敓浜у崟鍙�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiReplenish">
+            <el-form-item label="鎵规鍙�">
+              <el-input v-model="queryParamsWmsRecordUpiReplenish.planNo" clearable="" placeholder="璇疯緭鍏ユ壒娆″彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiReplenish">
+            <el-form-item label="璁㈠崟鍙�">
+              <el-input v-model="queryParamsWmsRecordUpiReplenish.orderId" clearable="" placeholder="璇疯緭鍏ヨ鍗曞彿"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiReplenish">
+            <el-form-item label="閮ㄤ欢鍚嶇О">
+              <el-input v-model="queryParamsWmsRecordUpiReplenish.detailName" clearable="" placeholder="璇疯緭鍏ラ儴浠跺悕绉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiReplenish">
+            <el-form-item label="鏉愭枡">
+              <el-input v-model="queryParamsWmsRecordUpiReplenish.info18" clearable="" placeholder="璇疯緭鍏ユ潗鏂�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiReplenish">
+            <el-form-item label="澶囨敞">
+              <el-input v-model="queryParamsWmsRecordUpiReplenish.operRemark" clearable="" placeholder="璇疯緭鍏ュ娉�"/>
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRecordUpiReplenish">
+            <el-form-item label="鍒涘缓鏃堕棿">
+              <el-date-picker placeholder="璇烽�夋嫨鍒涘缓鏃堕棿" value-format="YYYY/MM/DD  HH:mm:ss" type="datetimerange" :default-time="defaultTimeRange" v-model="queryParamsWmsRecordUpiReplenish.createTimeRange" />
+              
+            </el-form-item>
+          </el-col>
+          <el-col :xs="24" :sm="12" :md="12" :lg="6" :xl="6" class="mb10">
+            <el-form-item>
+              <el-button-group style="display: flex; align-items: center;">
+                <el-button type="primary"  icon="ele-Search" @click="handleQueryWmsRecordUpiReplenish" v-auth="'wmsRecordUpiReplenish:page'" :disabled="disabled_btnWmsRecordUpiReplenish"> 鏌ヨ </el-button>
+                      <el-button icon="ele-Refresh" @click="resetWmsRecordUpiReplenish"> 閲嶇疆 </el-button>
+                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsRecordUpiReplenish" v-if="!showAdvanceQueryUIWmsRecordUpiReplenish" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsRecordUpiReplenish" v-if="showAdvanceQueryUIWmsRecordUpiReplenish" style="margin-left:5px;"> 闅愯棌 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsRecordUpiReplenish" v-auth="'wmsRecordUpiReplenish:add'"> 鏂板 </el-button>
+                <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsRecordUpiReplenish"  v-auth="'wmsRecordUpiReplenish:exportExcel'" > 瀵煎嚭 </el-button>
+              </el-button-group>
+            </el-form-item>
+            
+          </el-col>
+        </el-row>
+      </el-form>
+    </el-card>
+    <el-card class="full-table" shadow="hover" style="margin-top: 5px">
+      <el-table
+                ref="tableRefWmsRecordUpiReplenish"
+				:data="tableDataWmsRecordUpiReplenish"
+				style="width: 100%"
+				v-loading="loadingWmsRecordUpiReplenish"
+				tooltip-effect="light"
+                				row-key="id"
+                @sort-change="sortChangeWmsRecordUpiReplenish"
+				border="">
+        <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+        <el-table-column prop="upi" label="閮ㄤ欢鏉$爜"  show-overflow-tooltip="" />
+        <el-table-column prop="packageCode" label="鍖呰鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="info5" label="鐢熶骇鍗曞彿"  show-overflow-tooltip="" />
+        <el-table-column prop="planNo" label="鎵规鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="orderId" label="璁㈠崟鍙�"  show-overflow-tooltip="" />
+        <el-table-column prop="detailName" label="閮ㄤ欢鍚嶇О"  show-overflow-tooltip="" />
+        <el-table-column prop="info18" label="鏉愭枡"  show-overflow-tooltip="" />
+        <el-table-column prop="operRemark" label="澶囨敞"  show-overflow-tooltip="" />
+         <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time"  show-overflow-tooltip="" />
+        <el-table-column prop="createUserName" label="鍒涘缓浜�"  show-overflow-tooltip="" />
+        <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsRecordUpiReplenish:update') || auth('wmsRecordUpiReplenish:delete')">
+          <template #default="scope">
+            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsRecordUpiReplenish(scope.row)" v-auth="'wmsRecordUpiReplenish:update'"> 缂栬緫 </el-button>
+            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsRecordUpiReplenish(scope.row)" v-auth="'wmsRecordUpiReplenish:delete'"> 鍒犻櫎 </el-button>
+          </template>
+        </el-table-column>
+      </el-table>
+      <el-pagination
+				v-model:currentPage="tableParamsWmsRecordUpiReplenish.page"
+				v-model:page-size="tableParamsWmsRecordUpiReplenish.pageSize"
+				:total="tableParamsWmsRecordUpiReplenish.total"
+				:page-sizes="[10, 20, 50, 100, 200, 500]"
+				small=""
+				background=""
+				@size-change="handleSizeChangeWmsRecordUpiReplenish"
+				@current-change="handleCurrentChangeWmsRecordUpiReplenish"
+				layout="total, sizes, prev, pager, next, jumper"
+	/>
+      <printDialogWmsRecordUpiReplenish
+        ref="printDialogRefWmsRecordUpiReplenish"
+        :title="printWmsRecordUpiReplenishTitle"
+        @reloadTable="handleQueryWmsRecordUpiReplenish" />
+      <editDialogWmsRecordUpiReplenish
+        ref="editDialogRefWmsRecordUpiReplenish"
+        :title="editWmsRecordUpiReplenishTitle"
+        @reloadTable="handleQueryWmsRecordUpiReplenish"
+      />
+    </el-card>
+  </div>
+</template>
+
+<script lang="ts" setup="" name="wmsRecordUpiReplenish">
+  import { ref,onMounted } from "vue";
+  import { ElMessageBox, ElMessage } from "element-plus";
+  import { auth } from '/@/utils/authFunction';
+  import { getDictDataItem as di, getDictDataList as dl } from '/@/utils/dict-utils';
+  import { formatDate,formatDate_T_Date,formatDate_T_Time,defaultTimeRange } from '/@/utils/formatTime';
+  import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+  import printDialogWmsRecordUpiReplenish from '/@/views/system/print/component/hiprint/preview.vue'
+  import { pageWmsRecordUpiReplenish, deleteWmsRecordUpiReplenish,importExcelWmsRecordUpiReplenish,downloadExcelTemplateWmsRecordUpiReplenish } from '/@/api/main/ReportCenter/wmsRecordUpiReplenish';
+
+
+  
+  /***************************************************[鏉夸欢琛ユ枡璁板綍鎿嶄綔]寮�濮�***************************************************/
+  const showAdvanceQueryUIWmsRecordUpiReplenish = ref(false);
+  const tableRefWmsRecordUpiReplenish = ref(null);
+  const printDialogRefWmsRecordUpiReplenish = ref();
+  const editDialogRefWmsRecordUpiReplenish = ref();
+  const loadingWmsRecordUpiReplenish = ref(false);
+  const disabled_btnWmsRecordUpiReplenish = ref(false);
+  const tableDataWmsRecordUpiReplenish = ref<any>([]);
+  const queryParamsWmsRecordUpiReplenish = ref<any>({});
+  const tableParamsWmsRecordUpiReplenish = ref({
+    page: 1,
+    pageSize: 10,
+    total: 0,
+  });
+
+  const printWmsRecordUpiReplenishTitle = ref("");
+  const editWmsRecordUpiReplenishTitle = ref("");
+
+  // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+  const changeAdvanceQueryUIWmsRecordUpiReplenish = () => {
+    showAdvanceQueryUIWmsRecordUpiReplenish.value = !showAdvanceQueryUIWmsRecordUpiReplenish.value;
+  }
+
+  // 鏌ヨ鏉夸欢琛ユ枡璁板綍
+  const handleQueryWmsRecordUpiReplenish = async () => {
+    loadingWmsRecordUpiReplenish.value = true;
+    disabled_btnWmsRecordUpiReplenish.value = true;
+    var res = await pageWmsRecordUpiReplenish(Object.assign(queryParamsWmsRecordUpiReplenish.value, tableParamsWmsRecordUpiReplenish.value));
+    if(res.data.type=="success"){
+      tableDataWmsRecordUpiReplenish.value = res.data.result?.items ?? [];
+      tableParamsWmsRecordUpiReplenish.value.total = res.data.result?.total;
+    }
+    loadingWmsRecordUpiReplenish.value = false;
+    disabled_btnWmsRecordUpiReplenish.value = false;
+  };
+
+  // 閲嶇疆鏉夸欢琛ユ枡璁板綍鏌ヨ
+  const resetWmsRecordUpiReplenish = async () => {
+    queryParamsWmsRecordUpiReplenish.value = {}
+  };
+
+  // 鏉夸欢琛ユ枡璁板綍鍒楁帓搴�
+  const sortChangeWmsRecordUpiReplenish = async (column: any) => {
+	queryParamsWmsRecordUpiReplenish.value.field = column.prop;
+	queryParamsWmsRecordUpiReplenish.value.order = column.order;
+	await handleQueryWmsRecordUpiReplenish();
+  };
+
+  // 鎵撳紑鏂板鏉夸欢琛ユ枡璁板綍椤甸潰
+  const openAddWmsRecordUpiReplenish = () => {
+    editWmsRecordUpiReplenishTitle.value = '娣诲姞鏉夸欢琛ユ枡璁板綍';
+    editDialogRefWmsRecordUpiReplenish.value.openDialog(1,{});
+  };
+
+  // 鎵撳紑鎵撳嵃鏉夸欢琛ユ枡璁板綍椤甸潰
+  const openPrintWmsRecordUpiReplenish = async (row: any) => {
+    printWmsRecordUpiReplenishTitle.value = '鎵撳嵃鏉夸欢琛ユ枡璁板綍';
+  }
+  
+  // 鎵撳紑缂栬緫鏉夸欢琛ユ枡璁板綍椤甸潰
+  const openEditWmsRecordUpiReplenish = (row: any) => {
+    editWmsRecordUpiReplenishTitle.value = '缂栬緫鏉夸欢琛ユ枡璁板綍';
+    editDialogRefWmsRecordUpiReplenish.value.openDialog(2,row);
+  };
+
+  // 鍒犻櫎鏉夸欢琛ユ枡璁板綍
+  const delWmsRecordUpiReplenish = (row: any) => {
+    ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+    confirmButtonText: "纭畾",
+    cancelButtonText: "鍙栨秷",
+    type: "warning",
+  })
+  .then(async () => {
+    loadingWmsRecordUpiReplenish.value = true;
+    var ret = await deleteWmsRecordUpiReplenish(row);
+    if(ret.data.type=="success"){
+        ElMessage.success("鍒犻櫎鎴愬姛");
+	}
+    loadingWmsRecordUpiReplenish.value = false;
+    handleQueryWmsRecordUpiReplenish();
+  })
+  .catch(() => {});
+  };
+
+  // 鏀瑰彉鏉夸欢琛ユ枡璁板綍椤甸潰瀹归噺
+  const handleSizeChangeWmsRecordUpiReplenish = (val: number) => {
+    tableParamsWmsRecordUpiReplenish.value.pageSize = val;
+    handleQueryWmsRecordUpiReplenish();
+  };
+
+  // 鏀瑰彉鏉夸欢琛ユ枡璁板綍椤电爜搴忓彿
+  const handleCurrentChangeWmsRecordUpiReplenish = (val: number) => {
+    tableParamsWmsRecordUpiReplenish.value.page = val;
+    handleQueryWmsRecordUpiReplenish();
+  };
+
+/***************************************************[鏉夸欢琛ユ枡璁板綍鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[鏉夸欢琛ユ枡璁板綍瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsRecordUpiReplenish = {
+      formatDate_T_Date,
+      formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsRecordUpiReplenish = async (formData:Blob) => {
+    loadingWmsRecordUpiReplenish.value = true;
+    disabled_btnWmsRecordUpiReplenish.value = true;
+    var new_tableParamsWmsRecordUpiReplenish=JSON.parse(JSON.stringify(tableParamsWmsRecordUpiReplenish.value));
+    new_tableParamsWmsRecordUpiReplenish.page = 1;
+    new_tableParamsWmsRecordUpiReplenish.pageSize = 100000;
+    var res = await pageWmsRecordUpiReplenish(Object.assign(queryParamsWmsRecordUpiReplenish.value, new_tableParamsWmsRecordUpiReplenish));
+    if(res.data.type=="success"){
+      exportExcelWmsRecordUpiReplenish(res.data.result?.items ?? []);
+    }
+    loadingWmsRecordUpiReplenish.value = false;
+    disabled_btnWmsRecordUpiReplenish.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsRecordUpiReplenish  = async (exportDataList:Array) => {
+  exportPageExcel(exportDataList, tableRefWmsRecordUpiReplenish,"鏉夸欢琛ユ枡璁板綍",functionMapWmsRecordUpiReplenish);
+};
+/***************************************************[鏉夸欢琛ユ枡璁板綍瀵煎嚭]缁撴潫***************************************************/
+  // 鏉夸欢琛ユ枡璁板綍椤甸潰鍔犺浇鏃�
+  onMounted(async () => {
+  });
+
+  handleQueryWmsRecordUpiReplenish();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+	width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKittingNg/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKittingNg/index.vue
index d5df65d..72d8834 100644
--- a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKittingNg/index.vue
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/manualFeedKittingNg/index.vue
@@ -148,7 +148,7 @@
 import printDialog from '/@/views/system/print/component/hiprint/preview.vue';
 import editDialog from '/@/views/main/WmsBase/wmsSubstituteGood/component/editDialog.vue';
 import { pageWmsSubstituteGood, deleteWmsSubstituteGood } from '/@/api/main/WmsBase/wmsSubstituteGood';
-import { ShortageList, ValdateQiTao ,ConfirmNgF} from '/@/api/main/ReportCenter/wmsStockQuan_new';
+import { ShortageList, QueryPackage ,ConfirmNgF} from '/@/api/main/ReportCenter/wmsStockQuan_new';
 const showAdvanceQueryUI = ref(false);
 const printDialogRef = ref();
 const editDialogRef = ref();
@@ -219,7 +219,7 @@
 	}
 	console.log('鏌ヨ');
 	loading.value = true;
-	var res = await ValdateQiTao(Object.assign(queryParams.value, tableParams.value));
+	var res = await QueryPackage(Object.assign(queryParams.value, tableParams.value));
 	queryParams.value.packageCode = '';
 	handleResponse(res);
 
@@ -260,11 +260,12 @@
 			...tableData.value,
 		})
         .then((res) => {
-          if (res.code == 200) {
+		  //debugger
+          if (res.data.code == 200) {
             ElMessage.success("鏍囪鎴愬姛");
 			tableData.value ={}
           } else {
-            ElMessage.error(`澶辫触${res.code}:${JSON.stringify(res.message)}`);
+            ElMessage.error(`澶辫触${res.data.code}:${JSON.stringify(res.data.message)}`);
           }
         });
     })
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Database.json b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Database.json
index 329f063..3491b79 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Database.json
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Configuration/Database.json
@@ -26,7 +26,7 @@
           "EnableUnderLine": false // 鍚敤椹煎嘲杞笅鍒掔嚎
         },
         "TableSettings": {
-          "EnableInitTable": true, // 鍚敤琛ㄥ垵濮嬪寲
+          "EnableInitTable": false, // 鍚敤琛ㄥ垵濮嬪寲
           "EnableIncreTable": false // 鍚敤琛ㄥ閲忔洿鏂�-鐗规�IncreTable]
         },
         "SeedSettings": {
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsRecordUpiNg.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsRecordUpiNg.cs
new file mode 100644
index 0000000..ddaf54d
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsRecordUpiNg.cs
@@ -0,0 +1,57 @@
+锘縰sing Admin.NET.Core;
+
+/*
+ * @author : 鍒樻枃濂�
+ * @date : 2024/5/29涓婂崍10:26:39
+ * @desc : 璋冨害浠诲姟
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 鏉夸欢NG璁板綍
+    /// </summary>
+    [SugarTable("wms_record_upi_ng", "鏉夸欢NG璁板綍")]
+    public class WmsRecordUpiNg : EntityBaseForRecord
+    {
+
+        [Required]
+        [SugarColumn(ColumnName = "Upi", ColumnDescription = "閮ㄤ欢鏉$爜", Length = 50)]
+        public string Upi { get; set; }
+
+        [Required]
+        [SugarColumn(ColumnName = "PackageCode", ColumnDescription = "鍖呰鍙�", Length = 50)]
+        public string PackageCode { get; set; }
+
+        /// <summary>
+        /// 鐢熶骇鍗曞彿
+        /// </summary>
+        [SugarColumn(ColumnName = "Info5", ColumnDescription = "鐢熶骇鍗曞彿", Length = 60)]
+        public string? Info5 { get; set; }
+
+        [Required]
+        [SugarColumn(ColumnName = "PlanNo", ColumnDescription = "鎵规鍙�", Length = 50)]
+        public string PlanNo { get; set; }
+
+        [Required]
+        [SugarColumn(ColumnName = "OrderId", ColumnDescription = "璁㈠崟鍙�", Length = 50)]
+        public string OrderId { get; set; }
+
+
+        [Required]
+        [SugarColumn(ColumnName = "DetailName", ColumnDescription = "閮ㄤ欢鍚嶇О", Length = 50)]
+        public string DetailName { get; set; }
+
+        /// <summary>
+        /// 鏉愭枡
+        /// </summary>
+        [SugarColumn(ColumnName = "Info18", ColumnDescription = "鏉愭枡", Length = 60)]
+        public string? Info18 { get; set; }
+
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        [SugarColumn(ColumnName = "OperRemark", ColumnDescription = "澶囨敞", Length = 100)]
+        public string? OperRemark { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsRecordUpiReplenish.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsRecordUpiReplenish.cs
new file mode 100644
index 0000000..e8374bc
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsStockQuan/WmsRecordUpiReplenish.cs
@@ -0,0 +1,57 @@
+锘縰sing Admin.NET.Core;
+
+/*
+ * @author : 鍒樻枃濂�
+ * @date : 2024/5/29涓婂崍10:26:39
+ * @desc : 璋冨害浠诲姟
+ */
+namespace Admin.NET.Application.Entity
+{
+    /// <summary>
+    /// 鏉夸欢琛ユ枡璁板綍
+    /// </summary>
+    [SugarTable("wms_record_upi_replenish", "鏉夸欢琛ユ枡璁板綍")]
+    public class WmsRecordUpiReplenish : EntityBaseForRecord
+    {
+
+        [Required]
+        [SugarColumn(ColumnName = "Upi", ColumnDescription = "閮ㄤ欢鏉$爜", Length = 50)]
+        public string Upi { get; set; }
+
+        [Required]
+        [SugarColumn(ColumnName = "PackageCode", ColumnDescription = "鍖呰鍙�", Length = 50)]
+        public string PackageCode { get; set; }
+
+        /// <summary>
+        /// 鐢熶骇鍗曞彿
+        /// </summary>
+        [SugarColumn(ColumnName = "Info5", ColumnDescription = "鐢熶骇鍗曞彿", Length = 60)]
+        public string? Info5 { get; set; }
+
+        [Required]
+        [SugarColumn(ColumnName = "PlanNo", ColumnDescription = "鎵规鍙�", Length = 50)]
+        public string PlanNo { get; set; }
+
+        [Required]
+        [SugarColumn(ColumnName = "OrderId", ColumnDescription = "璁㈠崟鍙�", Length = 50)]
+        public string OrderId { get; set; }
+
+
+        [Required]
+        [SugarColumn(ColumnName = "DetailName", ColumnDescription = "閮ㄤ欢鍚嶇О", Length = 50)]
+        public string DetailName { get; set; }
+
+        /// <summary>
+        /// 鏉愭枡
+        /// </summary>
+        [SugarColumn(ColumnName = "Info18", ColumnDescription = "鏉愭枡", Length = 60)]
+        public string? Info18 { get; set; }
+
+
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        [SugarColumn(ColumnName = "OperRemark", ColumnDescription = "澶囨敞", Length = 100)]
+        public string? OperRemark { get; set; }
+    }
+}
\ No newline at end of file
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiNg/Dto/WmsRecordUpiNgInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiNg/Dto/WmsRecordUpiNgInput.cs
new file mode 100644
index 0000000..fbb3d2f
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiNg/Dto/WmsRecordUpiNgInput.cs
@@ -0,0 +1,192 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+    /// <summary>
+    /// 鏉夸欢NG璁板綍鍩虹杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsRecordUpiNgBaseInput
+    {
+        /// <summary>
+        /// 閮ㄤ欢鏉$爜
+        /// </summary>
+        public virtual string Upi { get; set; }
+        
+        /// <summary>
+        /// 鍖呰鍙�
+        /// </summary>
+        public virtual string PackageCode { get; set; }
+        
+        /// <summary>
+        /// 鐢熶骇鍗曞彿
+        /// </summary>
+        public virtual string Info5 { get; set; }
+        
+        /// <summary>
+        /// 鎵规鍙�
+        /// </summary>
+        public virtual string PlanNo { get; set; }
+        
+        /// <summary>
+        /// 璁㈠崟鍙�
+        /// </summary>
+        public virtual string OrderId { get; set; }
+        
+        /// <summary>
+        /// 閮ㄤ欢鍚嶇О
+        /// </summary>
+        public virtual string DetailName { get; set; }
+        
+        /// <summary>
+        /// 鏉愭枡
+        /// </summary>
+        public virtual string Info18 { get; set; }
+        
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        public virtual string OperRemark { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public virtual long? CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public virtual string CreateUserName { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鏉夸欢NG璁板綍鍒嗛〉鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsRecordUpiNgInput : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+        /// <summary>
+        /// 閮ㄤ欢鏉$爜
+        /// </summary>
+        public string? Upi { get; set; }
+        
+        /// <summary>
+        /// 鍖呰鍙�
+        /// </summary>
+        public string? PackageCode { get; set; }
+        
+        /// <summary>
+        /// 鐢熶骇鍗曞彿
+        /// </summary>
+        public string? Info5 { get; set; }
+        
+        /// <summary>
+        /// 鎵规鍙�
+        /// </summary>
+        public string? PlanNo { get; set; }
+        
+        /// <summary>
+        /// 璁㈠崟鍙�
+        /// </summary>
+        public string? OrderId { get; set; }
+        
+        /// <summary>
+        /// 閮ㄤ欢鍚嶇О
+        /// </summary>
+        public string? DetailName { get; set; }
+        
+        /// <summary>
+        /// 鏉愭枡
+        /// </summary>
+        public string? Info18 { get; set; }
+        
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        public string? OperRemark { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+         /// 鍒涘缓鏃堕棿鑼冨洿
+         /// </summary>
+         public List<DateTime?> CreateTimeRange { get; set; } 
+    }
+
+    /// <summary>
+    /// 鏉夸欢NG璁板綍澧炲姞杈撳叆鍙傛暟
+    /// </summary>
+    public class AddWmsRecordUpiNgInput : WmsRecordUpiNgBaseInput
+    {
+        /// <summary>
+        /// 閮ㄤ欢鏉$爜
+        /// </summary>
+        [Required(ErrorMessage = "閮ㄤ欢鏉$爜涓嶈兘涓虹┖")]
+        public override string Upi { get; set; }
+        
+        /// <summary>
+        /// 鍖呰鍙�
+        /// </summary>
+        [Required(ErrorMessage = "鍖呰鍙蜂笉鑳戒负绌�")]
+        public override string PackageCode { get; set; }
+        
+        /// <summary>
+        /// 鎵规鍙�
+        /// </summary>
+        [Required(ErrorMessage = "鎵规鍙蜂笉鑳戒负绌�")]
+        public override string PlanNo { get; set; }
+        
+        /// <summary>
+        /// 璁㈠崟鍙�
+        /// </summary>
+        [Required(ErrorMessage = "璁㈠崟鍙蜂笉鑳戒负绌�")]
+        public override string OrderId { get; set; }
+        
+        /// <summary>
+        /// 閮ㄤ欢鍚嶇О
+        /// </summary>
+        [Required(ErrorMessage = "閮ㄤ欢鍚嶇О涓嶈兘涓虹┖")]
+        public override string DetailName { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鏉夸欢NG璁板綍鍒犻櫎杈撳叆鍙傛暟
+    /// </summary>
+    public class DeleteWmsRecordUpiNgInput : BaseIdInput
+    {
+    }
+
+    /// <summary>
+    /// 鏉夸欢NG璁板綍鏇存柊杈撳叆鍙傛暟
+    /// </summary>
+    public class UpdateWmsRecordUpiNgInput : AddWmsRecordUpiNgInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+        public long Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鏉夸欢NG璁板綍涓婚敭鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class QueryByIdWmsRecordUpiNgInput : DeleteWmsRecordUpiNgInput
+    {
+
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiNg/Dto/WmsRecordUpiNgOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiNg/Dto/WmsRecordUpiNgOutput.cs
new file mode 100644
index 0000000..4d2f31a
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiNg/Dto/WmsRecordUpiNgOutput.cs
@@ -0,0 +1,70 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 鏉夸欢NG璁板綍杈撳嚭鍙傛暟
+/// </summary>
+public class WmsRecordUpiNgOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long? Id { get; set; }
+    
+    /// <summary>
+    /// 閮ㄤ欢鏉$爜
+    /// </summary>
+    public string Upi { get; set; }
+    
+    /// <summary>
+    /// 鍖呰鍙�
+    /// </summary>
+    public string PackageCode { get; set; }
+    
+    /// <summary>
+    /// 鐢熶骇鍗曞彿
+    /// </summary>
+    public string Info5 { get; set; }
+    
+    /// <summary>
+    /// 鎵规鍙�
+    /// </summary>
+    public string PlanNo { get; set; }
+    
+    /// <summary>
+    /// 璁㈠崟鍙�
+    /// </summary>
+    public string OrderId { get; set; }
+    
+    /// <summary>
+    /// 閮ㄤ欢鍚嶇О
+    /// </summary>
+    public string DetailName { get; set; }
+    
+    /// <summary>
+    /// 鏉愭枡
+    /// </summary>
+    public string Info18 { get; set; }
+    
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    public string OperRemark { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    }
+ 
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiNg/WmsRecordUpiNgService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiNg/WmsRecordUpiNgService.cs
new file mode 100644
index 0000000..e5e670b
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiNg/WmsRecordUpiNgService.cs
@@ -0,0 +1,206 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+namespace Admin.NET.Application;
+/// <summary>
+/// 鏉夸欢NG璁板綍鏈嶅姟
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.ReportCenterGroupName, Order = 100)]
+public class WmsRecordUpiNgService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<WmsRecordUpiNg> _rep;
+    public WmsRecordUpiNgService(SqlSugarRepository<WmsRecordUpiNg> rep)
+    {
+        _rep = rep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ鏉夸欢NG璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("WmsRecordUpiNg/Page")]
+    public async Task<SqlSugarPagedList<WmsRecordUpiNgOutput>> Page(WmsRecordUpiNgInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇㈡澘浠禢G璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("WmsRecordUpiNg/List")]
+    public async Task<List<WmsRecordUpiNgOutput>> List([FromQuery] WmsRecordUpiNgInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").Select<WmsRecordUpiNgOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞鏉夸欢NG璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("WmsRecordUpiNg/Add")]
+    public async Task<long> Add(AddWmsRecordUpiNgInput input)
+    {
+        var entity = input.Adapt<WmsRecordUpiNg>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎鏉夸欢NG璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("WmsRecordUpiNg/Delete")]
+    public async Task Delete(DeleteWmsRecordUpiNgInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊鏉夸欢NG璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("WmsRecordUpiNg/Update")]
+    public async Task Update(UpdateWmsRecordUpiNgInput input)
+    {
+        var entity = input.Adapt<WmsRecordUpiNg>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity,true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏉夸欢NG璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("WmsRecordUpiNg/Detail")]
+    public async Task<WmsRecordUpiNg> Detail([FromQuery] QueryByIdWmsRecordUpiNgInput input)
+    {
+        return await _rep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+
+
+
+
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ鏉夸欢NG璁板綍鏉′欢
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<WmsRecordUpiNgOutput> CommonPageFilter(WmsRecordUpiNgInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.Upi.Contains(input.SearchKey.Trim())
+                || u.PackageCode.Contains(input.SearchKey.Trim())
+                || u.Info5.Contains(input.SearchKey.Trim())
+                || u.PlanNo.Contains(input.SearchKey.Trim())
+                || u.OrderId.Contains(input.SearchKey.Trim())
+                || u.DetailName.Contains(input.SearchKey.Trim())
+                || u.Info18.Contains(input.SearchKey.Trim())
+                || u.OperRemark.Contains(input.SearchKey.Trim())
+                || u.CreateUserName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Upi), u => u.Upi.Contains(input.Upi.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.PackageCode), u => u.PackageCode.Contains(input.PackageCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Info5), u => u.Info5.Contains(input.Info5.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.PlanNo), u => u.PlanNo.Contains(input.PlanNo.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.OrderId), u => u.OrderId.Contains(input.OrderId.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.DetailName), u => u.DetailName.Contains(input.DetailName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Info18), u => u.Info18.Contains(input.Info18.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.OperRemark), u => u.OperRemark.Contains(input.OperRemark.Trim()))
+            .Select<WmsRecordUpiNgOutput>();
+        if(input.CreateTimeRange != null && input.CreateTimeRange.Count >0)
+        {
+            DateTime? start= input.CreateTimeRange[0].Value;
+            query = query.WhereIF(start.HasValue, u => u.CreateTime >= start);
+            if (input.CreateTimeRange.Count >1 && input.CreateTimeRange[1].HasValue)
+            {
+                var end = input.CreateTimeRange[1].Value;
+                query = query.Where(u => u.CreateTime <= end);
+            }
+        } 
+        return query;
+       }
+
+        /// <summary>
+        /// 閲嶅鎬ч獙璇�
+        /// </summary>
+        /// <param name="input">楠岃瘉瀵硅薄</param>
+        /// <param name="isEdit">鏄惁鏄紪杈�</param>
+        /// <returns></returns>
+        private async Task CheckExist( WmsRecordUpiNg input,bool isEdit=false)
+        {
+           
+
+
+            //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+           
+            //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+       }
+
+       /// <summary>
+        /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<WmsRecordUpiNg> inputs)
+        { 
+            if (inputs?.Count <= 0)
+            {
+                throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+            }
+            //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                      
+
+
+
+
+
+
+          
+           //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+           
+           
+           
+        }
+     #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiReplenish/Dto/WmsRecordUpiReplenishInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiReplenish/Dto/WmsRecordUpiReplenishInput.cs
new file mode 100644
index 0000000..51a00ae
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiReplenish/Dto/WmsRecordUpiReplenishInput.cs
@@ -0,0 +1,192 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+    /// <summary>
+    /// 鏉夸欢琛ユ枡璁板綍鍩虹杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsRecordUpiReplenishBaseInput
+    {
+        /// <summary>
+        /// 閮ㄤ欢鏉$爜
+        /// </summary>
+        public virtual string Upi { get; set; }
+        
+        /// <summary>
+        /// 鍖呰鍙�
+        /// </summary>
+        public virtual string PackageCode { get; set; }
+        
+        /// <summary>
+        /// 鐢熶骇鍗曞彿
+        /// </summary>
+        public virtual string Info5 { get; set; }
+        
+        /// <summary>
+        /// 鎵规鍙�
+        /// </summary>
+        public virtual string PlanNo { get; set; }
+        
+        /// <summary>
+        /// 璁㈠崟鍙�
+        /// </summary>
+        public virtual string OrderId { get; set; }
+        
+        /// <summary>
+        /// 閮ㄤ欢鍚嶇О
+        /// </summary>
+        public virtual string DetailName { get; set; }
+        
+        /// <summary>
+        /// 鏉愭枡
+        /// </summary>
+        public virtual string Info18 { get; set; }
+        
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        public virtual string OperRemark { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public virtual DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜篒d
+        /// </summary>
+        public virtual long? CreateUserId { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓浜�
+        /// </summary>
+        public virtual string CreateUserName { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鏉夸欢琛ユ枡璁板綍鍒嗛〉鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class WmsRecordUpiReplenishInput : BasePageInput
+    {
+        /// <summary>
+        /// 鍏抽敭瀛楁煡璇�
+        /// </summary>
+        public string? SearchKey { get; set; }
+
+        /// <summary>
+        /// 閮ㄤ欢鏉$爜
+        /// </summary>
+        public string? Upi { get; set; }
+        
+        /// <summary>
+        /// 鍖呰鍙�
+        /// </summary>
+        public string? PackageCode { get; set; }
+        
+        /// <summary>
+        /// 鐢熶骇鍗曞彿
+        /// </summary>
+        public string? Info5 { get; set; }
+        
+        /// <summary>
+        /// 鎵规鍙�
+        /// </summary>
+        public string? PlanNo { get; set; }
+        
+        /// <summary>
+        /// 璁㈠崟鍙�
+        /// </summary>
+        public string? OrderId { get; set; }
+        
+        /// <summary>
+        /// 閮ㄤ欢鍚嶇О
+        /// </summary>
+        public string? DetailName { get; set; }
+        
+        /// <summary>
+        /// 鏉愭枡
+        /// </summary>
+        public string? Info18 { get; set; }
+        
+        /// <summary>
+        /// 澶囨敞
+        /// </summary>
+        public string? OperRemark { get; set; }
+        
+        /// <summary>
+        /// 鍒涘缓鏃堕棿
+        /// </summary>
+        public DateTime? CreateTime { get; set; }
+        
+        /// <summary>
+         /// 鍒涘缓鏃堕棿鑼冨洿
+         /// </summary>
+         public List<DateTime?> CreateTimeRange { get; set; } 
+    }
+
+    /// <summary>
+    /// 鏉夸欢琛ユ枡璁板綍澧炲姞杈撳叆鍙傛暟
+    /// </summary>
+    public class AddWmsRecordUpiReplenishInput : WmsRecordUpiReplenishBaseInput
+    {
+        /// <summary>
+        /// 閮ㄤ欢鏉$爜
+        /// </summary>
+        [Required(ErrorMessage = "閮ㄤ欢鏉$爜涓嶈兘涓虹┖")]
+        public override string Upi { get; set; }
+        
+        /// <summary>
+        /// 鍖呰鍙�
+        /// </summary>
+        [Required(ErrorMessage = "鍖呰鍙蜂笉鑳戒负绌�")]
+        public override string PackageCode { get; set; }
+        
+        /// <summary>
+        /// 鎵规鍙�
+        /// </summary>
+        [Required(ErrorMessage = "鎵规鍙蜂笉鑳戒负绌�")]
+        public override string PlanNo { get; set; }
+        
+        /// <summary>
+        /// 璁㈠崟鍙�
+        /// </summary>
+        [Required(ErrorMessage = "璁㈠崟鍙蜂笉鑳戒负绌�")]
+        public override string OrderId { get; set; }
+        
+        /// <summary>
+        /// 閮ㄤ欢鍚嶇О
+        /// </summary>
+        [Required(ErrorMessage = "閮ㄤ欢鍚嶇О涓嶈兘涓虹┖")]
+        public override string DetailName { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鏉夸欢琛ユ枡璁板綍鍒犻櫎杈撳叆鍙傛暟
+    /// </summary>
+    public class DeleteWmsRecordUpiReplenishInput : BaseIdInput
+    {
+    }
+
+    /// <summary>
+    /// 鏉夸欢琛ユ枡璁板綍鏇存柊杈撳叆鍙傛暟
+    /// </summary>
+    public class UpdateWmsRecordUpiReplenishInput : AddWmsRecordUpiReplenishInput
+    {
+        /// <summary>
+        /// 涓婚敭Id
+        /// </summary>
+        [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+        public long Id { get; set; }
+        
+    }
+
+    /// <summary>
+    /// 鏉夸欢琛ユ枡璁板綍涓婚敭鏌ヨ杈撳叆鍙傛暟
+    /// </summary>
+    public class QueryByIdWmsRecordUpiReplenishInput : DeleteWmsRecordUpiReplenishInput
+    {
+
+    }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiReplenish/Dto/WmsRecordUpiReplenishOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiReplenish/Dto/WmsRecordUpiReplenishOutput.cs
new file mode 100644
index 0000000..b6c0e68
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiReplenish/Dto/WmsRecordUpiReplenishOutput.cs
@@ -0,0 +1,70 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 鏉夸欢琛ユ枡璁板綍杈撳嚭鍙傛暟
+/// </summary>
+public class WmsRecordUpiReplenishOutput
+{
+    /// <summary>
+    /// 涓婚敭Id
+    /// </summary>
+    public long? Id { get; set; }
+    
+    /// <summary>
+    /// 閮ㄤ欢鏉$爜
+    /// </summary>
+    public string Upi { get; set; }
+    
+    /// <summary>
+    /// 鍖呰鍙�
+    /// </summary>
+    public string PackageCode { get; set; }
+    
+    /// <summary>
+    /// 鐢熶骇鍗曞彿
+    /// </summary>
+    public string Info5 { get; set; }
+    
+    /// <summary>
+    /// 鎵规鍙�
+    /// </summary>
+    public string PlanNo { get; set; }
+    
+    /// <summary>
+    /// 璁㈠崟鍙�
+    /// </summary>
+    public string OrderId { get; set; }
+    
+    /// <summary>
+    /// 閮ㄤ欢鍚嶇О
+    /// </summary>
+    public string DetailName { get; set; }
+    
+    /// <summary>
+    /// 鏉愭枡
+    /// </summary>
+    public string Info18 { get; set; }
+    
+    /// <summary>
+    /// 澶囨敞
+    /// </summary>
+    public string OperRemark { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓鏃堕棿
+    /// </summary>
+    public DateTime? CreateTime { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜篒d
+    /// </summary>
+    public long? CreateUserId { get; set; }
+    
+    /// <summary>
+    /// 鍒涘缓浜�
+    /// </summary>
+    public string CreateUserName { get; set; }
+    
+    }
+ 
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiReplenish/WmsRecordUpiReplenishService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiReplenish/WmsRecordUpiReplenishService.cs
new file mode 100644
index 0000000..18dc0fa
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/ReportCenter/WmsRecordUpiReplenish/WmsRecordUpiReplenishService.cs
@@ -0,0 +1,206 @@
+锘縰sing Admin.NET.Core.Service;
+using Admin.NET.Application.Entity;
+using Microsoft.AspNetCore.Http;
+using System.Data;
+using System.Web;
+using System.Text;
+namespace Admin.NET.Application;
+/// <summary>
+/// 鏉夸欢琛ユ枡璁板綍鏈嶅姟
+/// </summary>
+[ApiDescriptionSettings(ApplicationConst.ReportCenterGroupName, Order = 100)]
+public class WmsRecordUpiReplenishService : IDynamicApiController, ITransient
+{
+    private readonly SqlSugarRepository<WmsRecordUpiReplenish> _rep;
+    public WmsRecordUpiReplenishService(SqlSugarRepository<WmsRecordUpiReplenish> rep)
+    {
+        _rep = rep;
+    }
+
+    /// <summary>
+    /// 鍒嗛〉鏌ヨ鏉夸欢琛ユ枡璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Page")]
+    [Description("WmsRecordUpiReplenish/Page")]
+    public async Task<SqlSugarPagedList<WmsRecordUpiReplenishOutput>> Page(WmsRecordUpiReplenishInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize);
+    }
+
+    /// <summary>
+    /// 涓嶅垎椤垫煡璇㈡澘浠惰ˉ鏂欒褰�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "List")]
+    [Description("WmsRecordUpiReplenish/List")]
+    public async Task<List<WmsRecordUpiReplenishOutput>> List([FromQuery] WmsRecordUpiReplenishInput input)
+    {
+        var query = CommonPageFilter(input);
+        return await query.OrderBuilder(input, "", "Id").Select<WmsRecordUpiReplenishOutput>().ToListAsync();
+    }
+
+    /// <summary>
+    /// 澧炲姞鏉夸欢琛ユ枡璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Add")]
+    [Description("WmsRecordUpiReplenish/Add")]
+    public async Task<long> Add(AddWmsRecordUpiReplenishInput input)
+    {
+        var entity = input.Adapt<WmsRecordUpiReplenish>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity);
+
+        await _rep.InsertAsync(entity);
+        return entity.Id;
+    }
+
+    /// <summary>
+    /// 鍒犻櫎鏉夸欢琛ユ枡璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Delete")]
+    [Description("WmsRecordUpiReplenish/Delete")]
+    public async Task Delete(DeleteWmsRecordUpiReplenishInput input)
+    {
+        var entity = await _rep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
+        //await _rep.FakeDeleteAsync(entity);   //鍋囧垹闄�
+        await _rep.DeleteAsync(entity);   //鐪熷垹闄�
+    }
+
+    /// <summary>
+    /// 鏇存柊鏉夸欢琛ユ枡璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "Update")]
+    [Description("WmsRecordUpiReplenish/Update")]
+    public async Task Update(UpdateWmsRecordUpiReplenishInput input)
+    {
+        var entity = input.Adapt<WmsRecordUpiReplenish>();
+
+        //閲嶅鎬ч獙璇�
+        await CheckExist(entity,true);
+
+        await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
+    }
+
+    /// <summary>
+    /// 鑾峰彇鏉夸欢琛ユ枡璁板綍
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpGet]
+    [ApiDescriptionSettings(Name = "Detail")]
+    [Description("WmsRecordUpiReplenish/Detail")]
+    public async Task<WmsRecordUpiReplenish> Detail([FromQuery] QueryByIdWmsRecordUpiReplenishInput input)
+    {
+        return await _rep.GetFirstAsync(u => u.Id == input.Id);
+    }
+
+
+
+
+
+
+    #region 绉佹湁鏂规硶
+
+    /// <summary>
+    /// 鍏叡鏌ヨ鏉夸欢琛ユ枡璁板綍鏉′欢
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    private ISugarQueryable<WmsRecordUpiReplenishOutput> CommonPageFilter(WmsRecordUpiReplenishInput input)
+    {
+        var query = _rep.AsQueryable()
+            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+                u.Upi.Contains(input.SearchKey.Trim())
+                || u.PackageCode.Contains(input.SearchKey.Trim())
+                || u.Info5.Contains(input.SearchKey.Trim())
+                || u.PlanNo.Contains(input.SearchKey.Trim())
+                || u.OrderId.Contains(input.SearchKey.Trim())
+                || u.DetailName.Contains(input.SearchKey.Trim())
+                || u.Info18.Contains(input.SearchKey.Trim())
+                || u.OperRemark.Contains(input.SearchKey.Trim())
+                || u.CreateUserName.Contains(input.SearchKey.Trim())
+            )
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Upi), u => u.Upi.Contains(input.Upi.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.PackageCode), u => u.PackageCode.Contains(input.PackageCode.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Info5), u => u.Info5.Contains(input.Info5.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.PlanNo), u => u.PlanNo.Contains(input.PlanNo.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.OrderId), u => u.OrderId.Contains(input.OrderId.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.DetailName), u => u.DetailName.Contains(input.DetailName.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.Info18), u => u.Info18.Contains(input.Info18.Trim()))
+            .WhereIF(!string.IsNullOrWhiteSpace(input.OperRemark), u => u.OperRemark.Contains(input.OperRemark.Trim()))
+            .Select<WmsRecordUpiReplenishOutput>();
+        if(input.CreateTimeRange != null && input.CreateTimeRange.Count >0)
+        {
+            DateTime? start= input.CreateTimeRange[0].Value;
+            query = query.WhereIF(start.HasValue, u => u.CreateTime >= start);
+            if (input.CreateTimeRange.Count >1 && input.CreateTimeRange[1].HasValue)
+            {
+                var end = input.CreateTimeRange[1].Value;
+                query = query.Where(u => u.CreateTime <= end);
+            }
+        } 
+        return query;
+       }
+
+        /// <summary>
+        /// 閲嶅鎬ч獙璇�
+        /// </summary>
+        /// <param name="input">楠岃瘉瀵硅薄</param>
+        /// <param name="isEdit">鏄惁鏄紪杈�</param>
+        /// <returns></returns>
+        private async Task CheckExist( WmsRecordUpiReplenish input,bool isEdit=false)
+        {
+           
+
+
+            //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+           
+            //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+       }
+
+       /// <summary>
+        /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+        /// </summary>
+        /// <param name="inputs"></param>
+        /// <returns></returns>
+        private async Task CheckExisitForImport(List<WmsRecordUpiReplenish> inputs)
+        { 
+            if (inputs?.Count <= 0)
+            {
+                throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+            }
+            //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+                      
+
+
+
+
+
+
+          
+           //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�  
+           
+           
+           
+        }
+     #endregion
+
+}
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommonnQuery/Dto/QueryPackageInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommonnQuery/Dto/QueryPackageInput.cs
new file mode 100644
index 0000000..b5fa7ab
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommonnQuery/Dto/QueryPackageInput.cs
@@ -0,0 +1,17 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+
+public class QueryPackageInput
+{
+
+    /// <summary>
+    /// 鍖呰鍙�
+    /// </summary>
+    public virtual string PackageCode { get; set; }
+
+}
+
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommonnQuery/WmsCommonnQueryService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommonnQuery/WmsCommonnQueryService.cs
index ea8e8b1..f828c06 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommonnQuery/WmsCommonnQueryService.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsCommonnQuery/WmsCommonnQueryService.cs
@@ -27,6 +27,8 @@
     private readonly SqlSugarRepository<Mes_Order_Gather> _mesOrderGatherRep;
     private readonly SqlSugarRepository<Mes_Package_UnLine_Record> _mesPackage_UnLine_RecordRep;
     private readonly SqlSugarRepository<Mes_Package_LineQueue> _mesPackage_LineQueueRep;
+    private readonly SqlSugarRepository<WmsRecordUpiReplenish> _wmsRecordUpiReplenishRep;
+    private readonly SqlSugarRepository<WmsRecordUpiProcess> _wmsRecordUpiProcessRep;
 
     public WmsCommonnQueryService(SqlSugarRepository<WmsRbLineTask> wmsRbLineTaskRep, SqlSugarRepository<WmsStockQuan> wmsStockQuanRep
         , SqlSugarRepository<Mes_Package_Gather> mesPackageGatherRep
@@ -35,8 +37,11 @@
         , SqlSugarRepository<Mes_Order_Gather> mesOrderGatherRep
         , SqlSugarRepository<Mes_Package_UnLine_Record> mesPackage_UnLine_RecordRep
         , SqlSugarRepository<Mes_Package_LineQueue> mesPackage_LineQueueRep
+        , SqlSugarRepository<WmsRecordUpiReplenish> wmsRecordUpiReplenishRep
+        , SqlSugarRepository<WmsRecordUpiProcess> wmsRecordUpiProcessRep
         )
     {
+        _wmsRecordUpiReplenishRep = wmsRecordUpiReplenishRep;
         _sysConfigRep = sysConfigRep;
         _mesPackageGatherRep = mesPackageGatherRep;
         _wmsRbLineTaskRep = wmsRbLineTaskRep;
@@ -45,6 +50,7 @@
         _mesOrderGatherRep = mesOrderGatherRep;
         _mesPackage_UnLine_RecordRep = mesPackage_UnLine_RecordRep;
         _mesPackage_LineQueueRep = mesPackage_LineQueueRep;
+        _wmsRecordUpiProcessRep = wmsRecordUpiProcessRep;
     }
 
     /// <summary>
@@ -327,6 +333,7 @@
             resJson = listRes.FirstOrDefault(u => u.UPI == input.UPI);
             //var filteredResult = listRes.FirstOrDefault(u => u.UPI == input.UPI);
         }
+        var _cretaorName = App.User.FindFirst(ClaimConst.RealName)?.Value;
         if (resJson != null)
         {
             //鎵ц浜哄伐琛ユ澘鍔ㄤ綔
@@ -336,6 +343,28 @@
             {
                 throw Oops.Oh("琛ユ澘宸ヤ綅鍏佽杩涙澘璇锋眰澶辫触:" + res.resMsg);
             }
+            //*/
+
+            //璁板綍琛ユ澘璁板綍鍜屾澘浠跺饱鍘�
+            var singleUpi = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.UPI == input.UPI).FirstAsync();
+            if (singleUpi == null)
+            {
+                throw Oops.Oh($"娌℃湁鎵惧埌閮ㄤ欢鏉$爜{input.UPI}鐨勬暟鎹�");
+            }
+            WmsRecordUpiProcess wmsRecordUpi = new WmsRecordUpiProcess();
+            wmsRecordUpi = singleUpi.Adapt<WmsRecordUpiProcess>();
+            wmsRecordUpi.CreateTime = DateTime.Now;
+            wmsRecordUpi.CreateUserName = _cretaorName;
+            wmsRecordUpi.Location = "";
+            wmsRecordUpi.OperRemark = "浜哄伐琛ユ澘";
+            await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi);
+
+            WmsRecordUpiReplenish wmsRecordUpiNg = new WmsRecordUpiReplenish();
+            wmsRecordUpiNg = singleUpi.Adapt<WmsRecordUpiReplenish>();
+            wmsRecordUpiNg.CreateTime = DateTime.Now;
+            wmsRecordUpiNg.CreateUserName = _cretaorName;
+            wmsRecordUpiNg.OperRemark = "浜哄伐琛ユ澘";
+            await _wmsRecordUpiReplenishRep.InsertAsync(wmsRecordUpiNg);
         }
         else
         {
@@ -590,5 +619,29 @@
         return groupedResult; // 杩斿洖鍒嗙粍缁撴灉
     }
 
+
+    /// <summary>
+    /// 鏌ヨ鍖呮暟鎹�
+    /// </summary>
+    /// <param name="input"></param>
+    /// <returns></returns>
+    [HttpPost]
+    [ApiDescriptionSettings(Name = "QueryPackage")]
+    [Description("WmsCommonnQuery/QueryPackage")]
+    public async Task<Mes_Package_Gather> QueryPackage(QueryPackageInput input)
+    {
+        if (input == null || input.PackageCode == null)
+        {
+            throw Oops.Oh("鍙傛暟涓嶈兘涓虹┖");
+        }
+
+        var package = await _mesPackageGatherRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).FirstAsync();
+        if (package == null)
+        {
+            throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{input.PackageCode}鐨勬眹鎬绘暟鎹�");
+        }
+        return package;
+    }
+
 }
 
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
index db53342..e698432 100644
--- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOperationTask/WmsOperationTaskService.cs
@@ -25,6 +25,7 @@
     private readonly SqlSugarRepository<WmsRecordUpiProcess> _wmsRecordUpiProcessRep;
     private readonly SqlSugarRepository<WmsRecordPackageProcess> _wmsRecordPackageProcessRep;
     private readonly SqlSugarRepository<Mes_Upi_LineQueue> _mes_Upi_LineQueueRep;
+    private readonly SqlSugarRepository<WmsRecordUpiNg> _wmsRecordUpiNgRep;
 
     public WmsOperationTaskService(
         SqlSugarRepository<Mes_Upi_LineQueue> mes_Upi_LineQueueRep,
@@ -35,8 +36,10 @@
         , SqlSugarRepository<Mes_Order_Gather> mesOrderGatherRep
         , SqlSugarRepository<WmsRecordUpiProcess> wmsRecordUpiProcessRep
         , SqlSugarRepository<WmsRecordPackageProcess> wmsRecordPackageProcessRep
+        , SqlSugarRepository<WmsRecordUpiNg> wmsRecordUpiNgRep
         )
     {
+        _wmsRecordUpiNgRep = wmsRecordUpiNgRep;
         _sysConfigRep = sysConfigRep;
         _mesPackageGatherRep = mesPackageGatherRep;
         _rep = rep;
@@ -208,16 +211,22 @@
             throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{input.PackageCode}鐨勬眹鎬绘暟鎹�");
         }
 
+        var _cretaorName = App.User.FindFirst(ClaimConst.RealName)?.Value;
+
         WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess();
         wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>();
+        wmsRecordPackage.Id = Yitter.IdGenerator.YitIdHelper.NextId();
         wmsRecordPackage.CreateTime = DateTime.Now;
+        wmsRecordPackage.CreateUserName = _cretaorName;
         wmsRecordPackage.Location = "BZ29";
         wmsRecordPackage.OperRemark = "鏍稿鏍囩";
         await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage);
 
         WmsRecordUpiProcess wmsRecordUpi = new WmsRecordUpiProcess();
         wmsRecordUpi = singleUpi.Adapt<WmsRecordUpiProcess>();
+        wmsRecordUpi.Id = Yitter.IdGenerator.YitIdHelper.NextId();
         wmsRecordUpi.CreateTime = DateTime.Now;
+        wmsRecordUpi.CreateUserName = _cretaorName;
         wmsRecordUpi.Location = "BZ29";
         wmsRecordUpi.OperRemark = "鏍稿鏍囩";
         await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi);
@@ -245,10 +254,10 @@
         {
             throw Oops.Oh("鍖呭彿涓嶈兘涓虹┖");
         }
-        if (string.IsNullOrEmpty(input.Reason))
-        {
-            throw Oops.Oh("鍘熷洜涓嶈兘涓虹┖");
-        }
+        //if (string.IsNullOrEmpty(input.Reason))
+        //{
+        //    throw Oops.Oh("鍘熷洜涓嶈兘涓虹┖");
+        //}
 
         var singlePackage = await _mesPackageGatherRep.AsQueryable().Where(x => x.PackageCode == input.PackageCode).FirstAsync();
         if (singlePackage == null)
@@ -272,6 +281,8 @@
         {
             throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{input.PackageCode}鐨勬澘浠舵暟鎹�");
         }
+        var _cretaorName = App.User.FindFirst(ClaimConst.RealName)?.Value;
+
         foreach (var item in upiList)
         {
             item.UpiFlag = UpiFlagEnum.NG;
@@ -281,17 +292,32 @@
 
             WmsRecordUpiProcess wmsRecordUpi = new WmsRecordUpiProcess();
             wmsRecordUpi = item.Adapt<WmsRecordUpiProcess>();
+            wmsRecordUpi.Id = Yitter.IdGenerator.YitIdHelper.NextId();
             wmsRecordUpi.CreateTime = DateTime.Now;
+            wmsRecordUpi.CreateUserName = _cretaorName;
             wmsRecordUpi.Location = "";
             wmsRecordUpi.OperRemark = "NG涓嬬嚎";
             await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi);
+
+            WmsRecordUpiNg wmsRecordUpiNg = new WmsRecordUpiNg();
+            wmsRecordUpiNg = item.Adapt<WmsRecordUpiNg>();
+            wmsRecordUpiNg.Id = Yitter.IdGenerator.YitIdHelper.NextId();
+            wmsRecordUpiNg.CreateTime = DateTime.Now;
+            wmsRecordUpiNg.CreateUserName = _cretaorName;
+            wmsRecordUpiNg.OperRemark = "NG涓嬬嚎";
+            await _wmsRecordUpiNgRep.InsertAsync(wmsRecordUpiNg);
+
+
         }
 
 
         WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess();
         wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>();
+        wmsRecordPackage.Id = Yitter.IdGenerator.YitIdHelper.NextId();
         wmsRecordPackage.Location = "";
         wmsRecordPackage.OperRemark = "NG涓嬬嚎";
+        wmsRecordPackage.CreateTime = DateTime.Now;
+        wmsRecordPackage.CreateUserName = _cretaorName;
         await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage);
 
 
@@ -336,9 +362,11 @@
             throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{packageCode}鐨勬眹鎬绘暟鎹�");
         }
 
+        var _cretaorName = App.User.FindFirst(ClaimConst.RealName)?.Value;
+
         singlePackage.UpiFlag = UpiFlagEnum.NG;
         singlePackage.UpdateTime = DateTime.Now;
-
+        singlePackage.UpdateUserName = _cretaorName;
 
         var upiList = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.PackageCode == packageCode).ToListAsync();
         if (upiList == null)
@@ -349,20 +377,34 @@
         {
             item.UpiFlag = UpiFlagEnum.NG;
             item.UpdateTime = DateTime.Now;
+            item.UpdateUserName = _cretaorName;
 
             WmsRecordUpiProcess wmsRecordUpi = new WmsRecordUpiProcess();
             wmsRecordUpi = item.Adapt<WmsRecordUpiProcess>();
+            wmsRecordUpi.Id = Yitter.IdGenerator.YitIdHelper.NextId();
             wmsRecordUpi.CreateTime = DateTime.Now;
+            wmsRecordUpi.CreateUserName = _cretaorName;
             wmsRecordUpi.Location = "";
             wmsRecordUpi.OperRemark = "鏍囪NG";
             await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi);
+
+            WmsRecordUpiNg wmsRecordUpiNg = new WmsRecordUpiNg();
+            wmsRecordUpiNg = item.Adapt<WmsRecordUpiNg>();
+            wmsRecordUpiNg.Id = Yitter.IdGenerator.YitIdHelper.NextId();
+            wmsRecordUpiNg.CreateTime = DateTime.Now;
+            wmsRecordUpiNg.CreateUserName = _cretaorName;
+            wmsRecordUpiNg.OperRemark = "鏍囪NG";
+            await _wmsRecordUpiNgRep.InsertAsync(wmsRecordUpiNg);
         }
 
 
         WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess();
         wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>();
+        wmsRecordPackage.Id = Yitter.IdGenerator.YitIdHelper.NextId();
         wmsRecordPackage.Location = "";
         wmsRecordPackage.OperRemark = "鏍囪NG";
+        wmsRecordPackage.CreateTime = DateTime.Now;
+        wmsRecordPackage.CreateUserName = _cretaorName;
         await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage);
 
 
@@ -408,9 +450,11 @@
             throw Oops.Oh($"娌℃湁鎵惧埌鍖呭彿{packageCode}鐨勬眹鎬绘暟鎹�");
         }
 
+        var _cretaorName = App.User.FindFirst(ClaimConst.RealName)?.Value;
+
         singlePackage.UpiFlag = UpiFlagEnum.姝e父;
         singlePackage.UpdateTime = DateTime.Now;
-
+        singlePackage.UpdateUserName = _cretaorName;
 
         var upiList = await _mesBatchOrderUpiRep.AsQueryable().Where(x => x.PackageCode == packageCode).ToListAsync();
         if (upiList == null)
@@ -421,20 +465,34 @@
         {
             item.UpiFlag = UpiFlagEnum.姝e父;
             item.UpdateTime = DateTime.Now;
+            item.UpdateUserName = _cretaorName;
 
             WmsRecordUpiProcess wmsRecordUpi = new WmsRecordUpiProcess();
             wmsRecordUpi = item.Adapt<WmsRecordUpiProcess>();
+            wmsRecordUpi.Id = Yitter.IdGenerator.YitIdHelper.NextId();
             wmsRecordUpi.CreateTime = DateTime.Now;
+            wmsRecordUpi.CreateUserName = _cretaorName;
             wmsRecordUpi.Location = "";
             wmsRecordUpi.OperRemark = "鍙栨秷NG";
             await _wmsRecordUpiProcessRep.InsertAsync(wmsRecordUpi);
+
+            WmsRecordUpiNg wmsRecordUpiNg = new WmsRecordUpiNg();
+            wmsRecordUpiNg = item.Adapt<WmsRecordUpiNg>();
+            wmsRecordUpiNg.Id = Yitter.IdGenerator.YitIdHelper.NextId();
+            wmsRecordUpiNg.CreateTime = DateTime.Now;
+            wmsRecordUpiNg.CreateUserName = _cretaorName;
+            wmsRecordUpiNg.OperRemark = "鍙栨秷NG";
+            await _wmsRecordUpiNgRep.InsertAsync(wmsRecordUpiNg);
         }
 
 
         WmsRecordPackageProcess wmsRecordPackage = new WmsRecordPackageProcess();
         wmsRecordPackage = singlePackage.Adapt<WmsRecordPackageProcess>();
+        wmsRecordPackage.Id = Yitter.IdGenerator.YitIdHelper.NextId();
         wmsRecordPackage.Location = "";
         wmsRecordPackage.OperRemark = "鍙栨秷NG";
+        wmsRecordPackage.CreateTime = DateTime.Now;
+        wmsRecordPackage.CreateUserName = _cretaorName;
         await _wmsRecordPackageProcessRep.InsertAsync(wmsRecordPackage);
 
 

--
Gitblit v1.9.3