From 6fb9acd1a65da4cb57408a4832d4bee4203f3bb4 Mon Sep 17 00:00:00 2001
From: schangxiang@126.com <schangxiang@126.com>
Date: 周五, 22 11月 2024 13:18:36 +0800
Subject: [PATCH] 增加 任务表
---
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/Dto/WmsRbLineTaskInput.cs | 369 +++++++++++
LA24030_LuLiPackageLine_Web/src/api/main/WmsTask/wmsRbLineTask.ts | 78 ++
LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/机器人任务表导入模板.xlsx | 0
LA24030_LuLiPackageLine_Web/src/views/main/WmsTask/wmsRbLineTask/index.vue | 424 +++++++++++++
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/Dto/WmsRbLineTaskOutput.cs | 145 ++++
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/WmsRbLineTaskService.cs | 511 ++++++++++++++++
LA24030_LuLiPackageLine_Web/src/views/main/WmsTask/wmsRbLineTask/component/editDialog.vue | 291 +++++++++
7 files changed, 1,818 insertions(+), 0 deletions(-)
diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsTask/wmsRbLineTask.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsTask/wmsRbLineTask.ts
new file mode 100644
index 0000000..18b7337
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsTask/wmsRbLineTask.ts
@@ -0,0 +1,78 @@
+锘縤mport request from '/@/utils/request';
+enum Api {
+ AddWmsRbLineTask = '/api/wmsRbLineTask/add',
+ DeleteWmsRbLineTask = '/api/wmsRbLineTask/delete',
+ UpdateWmsRbLineTask = '/api/wmsRbLineTask/update',
+ PageWmsRbLineTask = '/api/wmsRbLineTask/page',
+ ListWmsRbLineTask = '/api/wmsRbLineTask/list',
+ DetailWmsRbLineTask = '/api/wmsRbLineTask/detail',
+ ImportExcelWmsRbLineTask = '/api/wmsRbLineTask/importExcel',
+ DownloadExcelTemplateWmsRbLineTask = '/api/wmsRbLineTask/downloadExcelTemplate',
+}
+
+// 澧炲姞鏈哄櫒浜轰换鍔¤〃
+export const addWmsRbLineTask = (params?: any) =>
+ request({
+ url: Api.AddWmsRbLineTask,
+ method: 'post',
+ data: params
+ });
+
+// 鍒犻櫎鏈哄櫒浜轰换鍔¤〃
+export const deleteWmsRbLineTask = (params?: any) =>
+ request({
+ url: Api.DeleteWmsRbLineTask,
+ method: 'post',
+ data: params
+ });
+
+// 缂栬緫鏈哄櫒浜轰换鍔¤〃
+export const updateWmsRbLineTask = (params?: any) =>
+ request({
+ url: Api.UpdateWmsRbLineTask,
+ method: 'post',
+ data: params
+ });
+
+// 瀵煎叆鏈哄櫒浜轰换鍔¤〃
+export const importExcelWmsRbLineTask = (params?: any) =>
+ request({
+ url: Api.ImportExcelWmsRbLineTask,
+ method: 'post',
+ data: params
+ });
+
+// 涓嬭浇瀵煎叆鏈哄櫒浜轰换鍔¤〃妯℃澘
+export const downloadExcelTemplateWmsRbLineTask = (params?: any) =>
+ request({
+ url: Api.DownloadExcelTemplateWmsRbLineTask,
+ method: 'get',
+ data: params,
+ responseType: 'blob'
+ });
+
+
+// 鍒嗛〉鏌ヨ鏈哄櫒浜轰换鍔¤〃
+export const pageWmsRbLineTask = (params?: any) =>
+ request({
+ url: Api.PageWmsRbLineTask,
+ method: 'post',
+ data: params
+ });
+
+// 涓嶅垎椤垫煡璇㈡満鍣ㄤ汉浠诲姟琛�
+export const listWmsRbLineTask = (params?: any) =>
+ request({
+ url: Api.ListWmsRbLineTask,
+ method: 'get',
+ data: params
+ });
+
+// 璇︽儏鏈哄櫒浜轰换鍔¤〃
+export const detailWmsRbLineTask = (id: any) =>
+ request({
+ url: Api.DetailWmsRbLineTask,
+ method: 'get',
+ data: { id }
+ });
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsTask/wmsRbLineTask/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsTask/wmsRbLineTask/component/editDialog.vue
new file mode 100644
index 0000000..500304c
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsTask/wmsRbLineTask/component/editDialog.vue
@@ -0,0 +1,291 @@
+锘�<template>
+ <div class="wmsRbLineTask-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="taskNo">
+ <el-input v-model="ruleForm.taskNo" 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="taskName">
+ <el-input v-model="ruleForm.taskName" 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="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="length">
+ <el-input v-model="ruleForm.length" placeholder="璇疯緭鍏ラ暱" maxlength="53" 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="width">
+ <el-input v-model="ruleForm.width" placeholder="璇疯緭鍏ュ" maxlength="53" 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="thk">
+ <el-input v-model="ruleForm.thk" placeholder="璇疯緭鍏ュ帤" maxlength="53" 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="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="placeCode">
+ <el-input v-model="ruleForm.placeCode" 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="rbTaskType">
+ <el-select clearable v-model="ruleForm.rbTaskType" placeholder="璇烽�夋嫨浠诲姟绫诲瀷">
+ <el-option v-for="(item,index) in getEnumRbTaskTypeData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+
+ </el-select>
+
+ </el-form-item>
+
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="浠诲姟绫诲瀷鍚嶇О" prop="rbTaskTypeEnumName">
+ <el-input v-model="ruleForm.rbTaskTypeEnumName" 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="taskStatus">
+ <el-select clearable v-model="ruleForm.taskStatus" placeholder="璇烽�夋嫨浠诲姟鐘舵��">
+ <el-option v-for="(item,index) in getEnumTaskStatusData" :key="index" :value="item.value" :label="`${item.describe}`"></el-option>
+
+ </el-select>
+
+ </el-form-item>
+
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="浠诲姟鐘舵�佸悕绉�" prop="taskStatusName">
+ <el-input v-model="ruleForm.taskStatusName" placeholder="璇疯緭鍏ヤ换鍔$姸鎬佸悕绉�" maxlength="255" 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="taskDescribe">
+ <el-input v-model="ruleForm.taskDescribe" placeholder="璇疯緭鍏ヤ换鍔℃弿杩�" maxlength="255" 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="taskMsg">
+ <el-input v-model="ruleForm.taskMsg" placeholder="璇疯緭鍏ヤ换鍔℃秷鎭�" maxlength="255" 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="issueTime">
+ <el-date-picker v-model="ruleForm.issueTime" type="date" placeholder="涓嬪彂鏃堕棿" />
+
+ </el-form-item>
+
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="浠诲姟瀹屾垚鏃堕棿" prop="finishedTime">
+ <el-date-picker v-model="ruleForm.finishedTime" type="date" placeholder="浠诲姟瀹屾垚鏃堕棿" />
+
+ </el-form-item>
+
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
+ <el-form-item label="鏄惁鏍囪寮哄埗瀹屾垚" prop="isFlagFinish">
+ <el-switch v-model="ruleForm.isFlagFinish" active-text="鏄�" inactive-text="鍚�" />
+
+ </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 { addWmsRbLineTask, updateWmsRbLineTask, detailWmsRbLineTask } from "/@/api/main/WmsTask/wmsRbLineTask";
+ import { getAPI } from '/@/utils/axios-utils';
+ import { SysEnumApi } from '/@/api-services/api';
+
+ const getEnumRbTaskTypeData = ref<any>([]);
+ const getEnumTaskStatusData = ref<any>([]);
+ //鐖剁骇浼犻�掓潵鐨勫弬鏁�
+ 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>({
+ taskNo: [{required: true, message: '璇疯緭鍏ヤ换鍔″彿锛�', trigger: 'blur',},],
+ upi: [{required: true, message: '璇疯緭鍏ラ儴浠舵潯鐮侊紒', trigger: 'blur',},],
+ length: [{required: true, message: '璇疯緭鍏ラ暱锛�', trigger: 'blur',},],
+ width: [{required: true, message: '璇疯緭鍏ュ锛�', trigger: 'blur',},],
+ thk: [{required: true, message: '璇疯緭鍏ュ帤锛�', trigger: 'blur',},],
+ planNo: [{required: true, message: '璇疯緭鍏ユ壒娆″彿锛�', trigger: 'blur',},],
+ orderId: [{required: true, message: '璇疯緭鍏ヨ鍗曞彿锛�', trigger: 'blur',},],
+ packageCode: [{required: true, message: '璇疯緭鍏ュ寘瑁呭彿锛�', trigger: 'blur',},],
+ placeCode: [{required: true, message: '璇疯緭鍏ュ簱浣嶇紪鐮侊紒', trigger: 'blur',},],
+ taskStatus: [{required: true, message: '璇烽�夋嫨浠诲姟鐘舵�侊紒', trigger: 'change',},],
+ taskStatusName: [{required: true, message: '璇疯緭鍏ヤ换鍔$姸鎬佸悕绉帮紒', trigger: 'blur',},],
+ isFlagFinish: [{required: true, message: '璇烽�夋嫨鏄惁鏍囪寮哄埗瀹屾垚锛�', trigger: 'change',},],
+ isDelete: [{required: true, message: '璇烽�夋嫨杞垹闄わ紒', trigger: 'change',},],
+ });
+
+ /*
+ * 鎵撳紑寮圭獥
+ * @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 detailWmsRbLineTask(rowData.id)).data.result;
+ else {
+ ruleForm.value = rowData;
+ ruleForm.value.isFlagFinish = false;//蹇呭~锛岃祴鍊奸粯璁ゅ��
+ }
+ 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 addWmsRbLineTask(values);
+ } else {
+ title='缂栬緫';
+ ret = await updateWmsRbLineTask(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 () => {
+ getEnumRbTaskTypeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('RbTaskTypeEnum')).data.result ?? [];
+ getEnumTaskStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TaskStatusEnum')).data.result ?? [];
+ });
+
+ //灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠�
+ defineExpose({ openDialog });
+</script>
+
+
+
+
diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsTask/wmsRbLineTask/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsTask/wmsRbLineTask/index.vue
new file mode 100644
index 0000000..d10b29e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsTask/wmsRbLineTask/index.vue
@@ -0,0 +1,424 @@
+锘�<template>
+ <div class="wmsRbLineTask-container">
+ <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
+ <el-form :model="queryParamsWmsRbLineTask" 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="queryParamsWmsRbLineTask.searchKey" clearable="" placeholder="浠诲姟鍙�,浠诲姟鍚嶇О,閮ㄤ欢鏉$爜,鎵规鍙�,璁㈠崟鍙�,鍖呰鍙�,搴撲綅缂栫爜,浠诲姟绫诲瀷鍚嶇О,浠诲姟鐘舵�佸悕绉�,浠诲姟鎻忚堪,浠诲姟娑堟伅,鍒涘缓浜�,淇敼浜�"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="浠诲姟鍙�">
+ <el-input v-model="queryParamsWmsRbLineTask.taskNo" clearable="" placeholder="璇疯緭鍏ヤ换鍔″彿"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="浠诲姟鍚嶇О">
+ <el-input v-model="queryParamsWmsRbLineTask.taskName" clearable="" placeholder="璇疯緭鍏ヤ换鍔″悕绉�"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="閮ㄤ欢鏉$爜">
+ <el-input v-model="queryParamsWmsRbLineTask.upi" clearable="" placeholder="璇疯緭鍏ラ儴浠舵潯鐮�"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="闀�">
+ <el-input v-model="queryParamsWmsRbLineTask.length" clearable="" placeholder="璇疯緭鍏ラ暱"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="瀹�">
+ <el-input v-model="queryParamsWmsRbLineTask.width" clearable="" placeholder="璇疯緭鍏ュ"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="鍘�">
+ <el-input v-model="queryParamsWmsRbLineTask.thk" clearable="" placeholder="璇疯緭鍏ュ帤"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="鎵规鍙�">
+ <el-input v-model="queryParamsWmsRbLineTask.planNo" clearable="" placeholder="璇疯緭鍏ユ壒娆″彿"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="璁㈠崟鍙�">
+ <el-input v-model="queryParamsWmsRbLineTask.orderId" clearable="" placeholder="璇疯緭鍏ヨ鍗曞彿"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="鍖呰鍙�">
+ <el-input v-model="queryParamsWmsRbLineTask.packageCode" clearable="" placeholder="璇疯緭鍏ュ寘瑁呭彿"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="搴撲綅缂栫爜">
+ <el-input v-model="queryParamsWmsRbLineTask.placeCode" clearable="" placeholder="璇疯緭鍏ュ簱浣嶇紪鐮�"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="浠诲姟绫诲瀷">
+ <el-select clearable="" v-model="queryParamsWmsRbLineTask.rbTaskType" placeholder="璇烽�夋嫨浠诲姟绫诲瀷">
+ <el-option v-for="(item,index) in getEnumRbTaskTypeData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+
+ </el-select>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="浠诲姟绫诲瀷鍚嶇О">
+ <el-input v-model="queryParamsWmsRbLineTask.rbTaskTypeEnumName" clearable="" placeholder="璇疯緭鍏ヤ换鍔$被鍨嬪悕绉�"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="浠诲姟鐘舵��">
+ <el-select clearable="" v-model="queryParamsWmsRbLineTask.taskStatus" placeholder="璇烽�夋嫨浠诲姟鐘舵��">
+ <el-option v-for="(item,index) in getEnumTaskStatusData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+
+ </el-select>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="浠诲姟鐘舵�佸悕绉�">
+ <el-input v-model="queryParamsWmsRbLineTask.taskStatusName" clearable="" placeholder="璇疯緭鍏ヤ换鍔$姸鎬佸悕绉�"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="浠诲姟鎻忚堪">
+ <el-input v-model="queryParamsWmsRbLineTask.taskDescribe" clearable="" placeholder="璇疯緭鍏ヤ换鍔℃弿杩�"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="浠诲姟娑堟伅">
+ <el-input v-model="queryParamsWmsRbLineTask.taskMsg" clearable="" placeholder="璇疯緭鍏ヤ换鍔℃秷鎭�"/>
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="涓嬪彂鏃堕棿">
+ <el-date-picker placeholder="璇烽�夋嫨涓嬪彂鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsRbLineTask.issueTimeRange" />
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="浠诲姟瀹屾垚鏃堕棿">
+ <el-date-picker placeholder="璇烽�夋嫨浠诲姟瀹屾垚鏃堕棿" value-format="YYYY/MM/DD" type="daterange" v-model="queryParamsWmsRbLineTask.finishedTimeRange" />
+
+ </el-form-item>
+ </el-col>
+ <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineTask">
+ <el-form-item label="鏄惁鏍囪寮哄埗瀹屾垚">
+ <el-select clearable="" v-model="queryParamsWmsRbLineTask.isFlagFinish" placeholder="璇烽�夋嫨鏄惁鏍囪寮哄埗瀹屾垚">
+ <el-option v-for="(item,index) in getEnumIsFlagFinishData_Index" :key="index" :value="item.value" :label="`${item.describe}`" />
+
+ </el-select>
+
+ </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="handleQueryWmsRbLineTask" v-auth="'wmsRbLineTask:page'" :disabled="disabled_btnWmsRbLineTask"> 鏌ヨ </el-button>
+ <el-button icon="ele-Refresh" @click="resetWmsRbLineTask"> 閲嶇疆 </el-button>
+ <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsRbLineTask" v-if="!showAdvanceQueryUIWmsRbLineTask" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button>
+ <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsRbLineTask" v-if="showAdvanceQueryUIWmsRbLineTask" style="margin-left:5px;"> 闅愯棌 </el-button>
+ <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsRbLineTask" v-auth="'wmsRbLineTask:add'"> 鏂板 </el-button>
+ <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelWmsRbLineTask" v-auth="'wmsRbLineTask:importExcel'" > 瀵煎叆 </el-button>
+ <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelWmsRbLineTask" v-auth="'wmsRbLineTask: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="tableRefWmsRbLineTask"
+ :data="tableDataWmsRbLineTask"
+ style="width: 100%"
+ v-loading="loadingWmsRbLineTask"
+ tooltip-effect="light"
+ row-key="id"
+ @sort-change="sortChangeWmsRbLineTask"
+ border="">
+ <el-table-column type="index" label="搴忓彿" width="55" align="center"/>
+ <el-table-column prop="taskNo" label="浠诲姟鍙�" show-overflow-tooltip="" />
+ <el-table-column prop="taskName" label="浠诲姟鍚嶇О" show-overflow-tooltip="" />
+ <el-table-column prop="upi" label="閮ㄤ欢鏉$爜" show-overflow-tooltip="" />
+ <el-table-column prop="length" label="闀�" show-overflow-tooltip="" />
+ <el-table-column prop="width" label="瀹�" show-overflow-tooltip="" />
+ <el-table-column prop="thk" 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="packageCode" label="鍖呰鍙�" show-overflow-tooltip="" />
+ <el-table-column prop="placeCode" label="搴撲綅缂栫爜" show-overflow-tooltip="" />
+ <el-table-column prop="rbTaskType" label="浠诲姟绫诲瀷" show-overflow-tooltip="" >
+ <template #default="scope">
+ <el-tag>{{ getEnumDesc(scope.row.rbTaskType, getEnumRbTaskTypeData_Index)}}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column prop="rbTaskTypeEnumName" label="浠诲姟绫诲瀷鍚嶇О" show-overflow-tooltip="" />
+ <el-table-column prop="taskStatus" label="浠诲姟鐘舵��" show-overflow-tooltip="" >
+ <template #default="scope">
+ <el-tag>{{ getEnumDesc(scope.row.taskStatus, getEnumTaskStatusData_Index)}}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column prop="taskStatusName" label="浠诲姟鐘舵�佸悕绉�" show-overflow-tooltip="" />
+ <el-table-column prop="taskDescribe" label="浠诲姟鎻忚堪" show-overflow-tooltip="" />
+ <el-table-column prop="taskMsg" label="浠诲姟娑堟伅" show-overflow-tooltip="" />
+ <el-table-column prop="issueTime" label="涓嬪彂鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+ <el-table-column prop="finishedTime" label="浠诲姟瀹屾垚鏃堕棿" width="80" :formatter="formatDate_T_Date" show-overflow-tooltip="" />
+ <el-table-column prop="isFlagFinish" label="鏄惁鏍囪寮哄埗瀹屾垚" show-overflow-tooltip="">
+ <template #default="scope">
+ <el-tag v-if="scope.row.isFlagFinish"> 鏄� </el-tag>
+ <el-tag type="danger" v-else> 鍚� </el-tag>
+
+ </template>
+
+ </el-table-column>
+ <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+ <el-table-column prop="updateTime" label="淇敼鏃堕棿" width="130" :formatter="formatDate_T_Time" show-overflow-tooltip="" />
+ <el-table-column prop="createUserName" label="鍒涘缓浜�" show-overflow-tooltip="" />
+ <el-table-column prop="updateUserName" label="淇敼浜�" show-overflow-tooltip="" />
+ <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsRbLineTask:update') || auth('wmsRbLineTask:delete')">
+ <template #default="scope">
+ <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsRbLineTask(scope.row)" v-auth="'wmsRbLineTask:update'"> 缂栬緫 </el-button>
+ <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsRbLineTask(scope.row)" v-auth="'wmsRbLineTask:delete'"> 鍒犻櫎 </el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <el-pagination
+ v-model:currentPage="tableParamsWmsRbLineTask.page"
+ v-model:page-size="tableParamsWmsRbLineTask.pageSize"
+ :total="tableParamsWmsRbLineTask.total"
+ :page-sizes="[10, 20, 50, 100, 200, 500]"
+ small=""
+ background=""
+ @size-change="handleSizeChangeWmsRbLineTask"
+ @current-change="handleCurrentChangeWmsRbLineTask"
+ layout="total, sizes, prev, pager, next, jumper"
+ />
+ <printDialogWmsRbLineTask
+ ref="printDialogRefWmsRbLineTask"
+ :title="printWmsRbLineTaskTitle"
+ @reloadTable="handleQueryWmsRbLineTask" />
+ <editDialogWmsRbLineTask
+ ref="editDialogRefWmsRbLineTask"
+ :title="editWmsRbLineTaskTitle"
+ @reloadTable="handleQueryWmsRbLineTask"
+ />
+ <importExcelDialog
+ ref="importExcelDialogRefWmsRbLineTask"
+ :title="importExcelTitleWmsRbLineTask"
+ @parentUploadFun="handleImportExcelWmsRbLineTask"
+ @parentDownFun="handleDownExcelWmsRbLineTask"
+ />
+ </el-card>
+ </div>
+</template>
+
+<script lang="ts" setup="" name="wmsRbLineTask">
+ 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 importExcelDialog from '/@/components/importExcel/index.vue' //寮曞叆瀵煎叆缁勪欢
+ import { exportPageExcel } from '/@/utils/exportPageExcel' //寮曞叆瀵煎嚭鏂规硶
+
+
+ import printDialogWmsRbLineTask from '/@/views/system/print/component/hiprint/preview.vue'
+ import editDialogWmsRbLineTask from '/@/views/main/WmsTask/wmsRbLineTask/component/editDialog.vue'
+ import { pageWmsRbLineTask, deleteWmsRbLineTask,importExcelWmsRbLineTask,downloadExcelTemplateWmsRbLineTask } from '/@/api/main/WmsTask/wmsRbLineTask';
+ import { getAPI } from '/@/utils/axios-utils';
+ import { SysEnumApi } from '/@/api-services/api';
+ import commonFunction from '/@/utils/commonFunction';
+
+ const getEnumRbTaskTypeData_Index = ref<any>([]);
+ const getEnumTaskStatusData_Index = ref<any>([]);
+ const getEnumIsFlagFinishData_Index = ref<any>([]);
+
+ const { getEnumDesc } = commonFunction();
+
+ /***************************************************[鏈哄櫒浜轰换鍔¤〃鎿嶄綔]寮�濮�***************************************************/
+ const showAdvanceQueryUIWmsRbLineTask = ref(false);
+ const tableRefWmsRbLineTask = ref(null);
+ const printDialogRefWmsRbLineTask = ref();
+ const editDialogRefWmsRbLineTask = ref();
+ const loadingWmsRbLineTask = ref(false);
+ const disabled_btnWmsRbLineTask = ref(false);
+ const tableDataWmsRbLineTask = ref<any>([]);
+ const queryParamsWmsRbLineTask = ref<any>({});
+ const tableParamsWmsRbLineTask = ref({
+ page: 1,
+ pageSize: 10,
+ total: 0,
+ });
+
+ const printWmsRbLineTaskTitle = ref("");
+ const editWmsRbLineTaskTitle = ref("");
+
+ // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬�
+ const changeAdvanceQueryUIWmsRbLineTask = () => {
+ showAdvanceQueryUIWmsRbLineTask.value = !showAdvanceQueryUIWmsRbLineTask.value;
+ }
+
+ // 鏌ヨ鏈哄櫒浜轰换鍔¤〃
+ const handleQueryWmsRbLineTask = async () => {
+ loadingWmsRbLineTask.value = true;
+ disabled_btnWmsRbLineTask.value = true;
+ var res = await pageWmsRbLineTask(Object.assign(queryParamsWmsRbLineTask.value, tableParamsWmsRbLineTask.value));
+ if(res.data.type=="success"){
+ tableDataWmsRbLineTask.value = res.data.result?.items ?? [];
+ tableParamsWmsRbLineTask.value.total = res.data.result?.total;
+ }
+ loadingWmsRbLineTask.value = false;
+ disabled_btnWmsRbLineTask.value = false;
+ };
+
+ // 閲嶇疆鏈哄櫒浜轰换鍔¤〃鏌ヨ
+ const resetWmsRbLineTask = async () => {
+ queryParamsWmsRbLineTask.value = {}
+ };
+
+ // 鏈哄櫒浜轰换鍔¤〃鍒楁帓搴�
+ const sortChangeWmsRbLineTask = async (column: any) => {
+ queryParamsWmsRbLineTask.value.field = column.prop;
+ queryParamsWmsRbLineTask.value.order = column.order;
+ await handleQueryWmsRbLineTask();
+ };
+
+ // 鎵撳紑鏂板鏈哄櫒浜轰换鍔¤〃椤甸潰
+ const openAddWmsRbLineTask = () => {
+ editWmsRbLineTaskTitle.value = '娣诲姞鏈哄櫒浜轰换鍔¤〃';
+ editDialogRefWmsRbLineTask.value.openDialog(1,{});
+ };
+
+ // 鎵撳紑鎵撳嵃鏈哄櫒浜轰换鍔¤〃椤甸潰
+ const openPrintWmsRbLineTask = async (row: any) => {
+ printWmsRbLineTaskTitle.value = '鎵撳嵃鏈哄櫒浜轰换鍔¤〃';
+ }
+
+ // 鎵撳紑缂栬緫鏈哄櫒浜轰换鍔¤〃椤甸潰
+ const openEditWmsRbLineTask = (row: any) => {
+ editWmsRbLineTaskTitle.value = '缂栬緫鏈哄櫒浜轰换鍔¤〃';
+ editDialogRefWmsRbLineTask.value.openDialog(2,row);
+ };
+
+ // 鍒犻櫎鏈哄櫒浜轰换鍔¤〃
+ const delWmsRbLineTask = (row: any) => {
+ ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning",
+ })
+ .then(async () => {
+ loadingWmsRbLineTask.value = true;
+ var ret = await deleteWmsRbLineTask(row);
+ if(ret.data.type=="success"){
+ ElMessage.success("鍒犻櫎鎴愬姛");
+ }
+ loadingWmsRbLineTask.value = false;
+ handleQueryWmsRbLineTask();
+ })
+ .catch(() => {});
+ };
+
+ // 鏀瑰彉鏈哄櫒浜轰换鍔¤〃椤甸潰瀹归噺
+ const handleSizeChangeWmsRbLineTask = (val: number) => {
+ tableParamsWmsRbLineTask.value.pageSize = val;
+ handleQueryWmsRbLineTask();
+ };
+
+ // 鏀瑰彉鏈哄櫒浜轰换鍔¤〃椤电爜搴忓彿
+ const handleCurrentChangeWmsRbLineTask = (val: number) => {
+ tableParamsWmsRbLineTask.value.page = val;
+ handleQueryWmsRbLineTask();
+ };
+
+/***************************************************[鏈哄櫒浜轰换鍔¤〃鎿嶄綔]缁撴潫***************************************************/
+/***************************************************[鏈哄櫒浜轰换鍔¤〃瀵煎叆]寮�濮�***************************************************/
+const importExcelTitleWmsRbLineTask = ref("");
+const importExcelDialogRefWmsRbLineTask = ref();
+//鎵撳紑瀵煎叆鐣岄潰
+const openImportExcelWmsRbLineTask = () => {
+ importExcelTitleWmsRbLineTask.value = '瀵煎叆鏈哄櫒浜轰换鍔¤〃';
+ importExcelDialogRefWmsRbLineTask.value.openDialog({});
+};
+//瀵煎叆鏁版嵁
+const handleImportExcelWmsRbLineTask = async (formData:Blob) => {
+ var result = await importExcelWmsRbLineTask(formData);
+ importExcelDialogRefWmsRbLineTask.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+ if(result.data.type=="success"){
+ handleQueryWmsRbLineTask();
+ }
+};
+//涓嬭浇瀵煎叆妯℃澘
+const handleDownExcelWmsRbLineTask = async () => {
+ var result = await downloadExcelTemplateWmsRbLineTask();
+ importExcelDialogRefWmsRbLineTask.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶
+};
+/***************************************************[鏈哄櫒浜轰换鍔¤〃瀵煎叆]缁撴潫***************************************************/
+/***************************************************[鏈哄櫒浜轰换鍔¤〃瀵煎嚭]寮�濮�***************************************************/
+//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍
+const functionMapWmsRbLineTask = {
+ getEnumRbTaskTypeData_Index,
+ getEnumTaskStatusData_Index,
+ getEnumIsFlagFinishData_Index,
+ formatDate_T_Date,
+ formatDate_T_Time
+};
+//鐐瑰嚮瀵煎嚭鎸夐挳
+const handleExportExcelWmsRbLineTask = async (formData:Blob) => {
+ loadingWmsRbLineTask.value = true;
+ disabled_btnWmsRbLineTask.value = true;
+ var new_tableParamsWmsRbLineTask=JSON.parse(JSON.stringify(tableParamsWmsRbLineTask.value));
+ new_tableParamsWmsRbLineTask.page = 1;
+ new_tableParamsWmsRbLineTask.pageSize = 100000;
+ var res = await pageWmsRbLineTask(Object.assign(queryParamsWmsRbLineTask.value, new_tableParamsWmsRbLineTask));
+ if(res.data.type=="success"){
+ exportExcelWmsRbLineTask(res.data.result?.items ?? []);
+ }
+ loadingWmsRbLineTask.value = false;
+ disabled_btnWmsRbLineTask.value = false;
+};
+//瀵煎嚭
+const exportExcelWmsRbLineTask = async (exportDataList:Array) => {
+ exportPageExcel(exportDataList, tableRefWmsRbLineTask,"鏈哄櫒浜轰换鍔¤〃",functionMapWmsRbLineTask);
+};
+/***************************************************[鏈哄櫒浜轰换鍔¤〃瀵煎嚭]缁撴潫***************************************************/
+ // 鏈哄櫒浜轰换鍔¤〃椤甸潰鍔犺浇鏃�
+ onMounted(async () => {
+ getEnumRbTaskTypeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('RbTaskTypeEnum')).data.result ?? [];
+ getEnumTaskStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TaskStatusEnum')).data.result ?? [];
+ getEnumIsFlagFinishData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('TrueFalseEnum')).data.result ?? [];
+ });
+
+ handleQueryWmsRbLineTask();
+</script>
+<style scoped>
+:deep(.el-input),
+:deep(.el-select),
+:deep(.el-input-number) {
+ width: 100%;
+}
+</style>
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/Dto/WmsRbLineTaskInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/Dto/WmsRbLineTaskInput.cs
new file mode 100644
index 0000000..727817e
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/Dto/WmsRbLineTaskInput.cs
@@ -0,0 +1,369 @@
+锘縰sing Admin.NET.Core;
+using System.ComponentModel.DataAnnotations;
+
+namespace Admin.NET.Application;
+
+ /// <summary>
+ /// 鏈哄櫒浜轰换鍔¤〃鍩虹杈撳叆鍙傛暟
+ /// </summary>
+ public class WmsRbLineTaskBaseInput
+ {
+ /// <summary>
+ /// 浠诲姟鍙�
+ /// </summary>
+ public virtual string TaskNo { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍚嶇О
+ /// </summary>
+ public virtual string TaskName { get; set; }
+
+ /// <summary>
+ /// 閮ㄤ欢鏉$爜
+ /// </summary>
+ public virtual string UPI { get; set; }
+
+ /// <summary>
+ /// 闀�
+ /// </summary>
+ public virtual float Length { get; set; }
+
+ /// <summary>
+ /// 瀹�
+ /// </summary>
+ public virtual float Width { get; set; }
+
+ /// <summary>
+ /// 鍘�
+ /// </summary>
+ public virtual float Thk { get; set; }
+
+ /// <summary>
+ /// 鎵规鍙�
+ /// </summary>
+ public virtual string PlanNo { get; set; }
+
+ /// <summary>
+ /// 璁㈠崟鍙�
+ /// </summary>
+ public virtual string OrderId { get; set; }
+
+ /// <summary>
+ /// 鍖呰鍙�
+ /// </summary>
+ public virtual string PackageCode { get; set; }
+
+ /// <summary>
+ /// 搴撲綅缂栫爜
+ /// </summary>
+ public virtual string PlaceCode { get; set; }
+
+ /// <summary>
+ /// 浠诲姟绫诲瀷
+ /// </summary>
+ public virtual Admin.NET.Application.RbTaskTypeEnum? RbTaskType { get; set; }
+
+ /// <summary>
+ /// 浠诲姟绫诲瀷鍚嶇О
+ /// </summary>
+ public virtual string RbTaskTypeEnumName { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鐘舵��
+ /// </summary>
+ public virtual Admin.NET.Application.TaskStatusEnum TaskStatus { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鐘舵�佸悕绉�
+ /// </summary>
+ public virtual string TaskStatusName { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鎻忚堪
+ /// </summary>
+ public virtual string TaskDescribe { get; set; }
+
+ /// <summary>
+ /// 浠诲姟娑堟伅
+ /// </summary>
+ public virtual string TaskMsg { get; set; }
+
+ /// <summary>
+ /// 涓嬪彂鏃堕棿
+ /// </summary>
+ public virtual DateTime? IssueTime { get; set; }
+
+ /// <summary>
+ /// 浠诲姟瀹屾垚鏃堕棿
+ /// </summary>
+ public virtual DateTime? FinishedTime { get; set; }
+
+ /// <summary>
+ /// 鏄惁鏍囪寮哄埗瀹屾垚
+ /// </summary>
+ public virtual bool IsFlagFinish { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ /// </summary>
+ public virtual DateTime? CreateTime { get; set; }
+
+ /// <summary>
+ /// 淇敼鏃堕棿
+ /// </summary>
+ public virtual DateTime? UpdateTime { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜篒d
+ /// </summary>
+ public virtual long? CreateUserId { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ public virtual string CreateUserName { get; set; }
+
+ /// <summary>
+ /// 淇敼浜篒d
+ /// </summary>
+ public virtual long? UpdateUserId { get; set; }
+
+ /// <summary>
+ /// 淇敼浜�
+ /// </summary>
+ public virtual string UpdateUserName { get; set; }
+
+ /// <summary>
+ /// 杞垹闄�
+ /// </summary>
+ public virtual bool IsDelete { get; set; }
+
+ }
+
+ /// <summary>
+ /// 鏈哄櫒浜轰换鍔¤〃鍒嗛〉鏌ヨ杈撳叆鍙傛暟
+ /// </summary>
+ public class WmsRbLineTaskInput : BasePageInput
+ {
+ /// <summary>
+ /// 鍏抽敭瀛楁煡璇�
+ /// </summary>
+ public string? SearchKey { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍙�
+ /// </summary>
+ public string? TaskNo { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍚嶇О
+ /// </summary>
+ public string? TaskName { get; set; }
+
+ /// <summary>
+ /// 閮ㄤ欢鏉$爜
+ /// </summary>
+ public string? UPI { get; set; }
+
+ /// <summary>
+ /// 闀�
+ /// </summary>
+ public float? Length { get; set; }
+
+ /// <summary>
+ /// 瀹�
+ /// </summary>
+ public float? Width { get; set; }
+
+ /// <summary>
+ /// 鍘�
+ /// </summary>
+ public float? Thk { get; set; }
+
+ /// <summary>
+ /// 鎵规鍙�
+ /// </summary>
+ public string? PlanNo { get; set; }
+
+ /// <summary>
+ /// 璁㈠崟鍙�
+ /// </summary>
+ public string? OrderId { get; set; }
+
+ /// <summary>
+ /// 鍖呰鍙�
+ /// </summary>
+ public string? PackageCode { get; set; }
+
+ /// <summary>
+ /// 搴撲綅缂栫爜
+ /// </summary>
+ public string? PlaceCode { get; set; }
+
+ /// <summary>
+ /// 浠诲姟绫诲瀷
+ /// </summary>
+ public Admin.NET.Application.RbTaskTypeEnum? RbTaskType { get; set; }
+
+ /// <summary>
+ /// 浠诲姟绫诲瀷鍚嶇О
+ /// </summary>
+ public string? RbTaskTypeEnumName { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鐘舵��
+ /// </summary>
+ public Admin.NET.Application.TaskStatusEnum? TaskStatus { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鐘舵�佸悕绉�
+ /// </summary>
+ public string? TaskStatusName { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鎻忚堪
+ /// </summary>
+ public string? TaskDescribe { get; set; }
+
+ /// <summary>
+ /// 浠诲姟娑堟伅
+ /// </summary>
+ public string? TaskMsg { get; set; }
+
+ /// <summary>
+ /// 涓嬪彂鏃堕棿
+ /// </summary>
+ public DateTime? IssueTime { get; set; }
+
+ /// <summary>
+ /// 涓嬪彂鏃堕棿鑼冨洿
+ /// </summary>
+ public List<DateTime?> IssueTimeRange { get; set; }
+ /// <summary>
+ /// 浠诲姟瀹屾垚鏃堕棿
+ /// </summary>
+ public DateTime? FinishedTime { get; set; }
+
+ /// <summary>
+ /// 浠诲姟瀹屾垚鏃堕棿鑼冨洿
+ /// </summary>
+ public List<DateTime?> FinishedTimeRange { get; set; }
+ /// <summary>
+ /// 鏄惁鏍囪寮哄埗瀹屾垚
+ /// </summary>
+ public bool? IsFlagFinish { get; set; }
+
+ }
+
+ /// <summary>
+ /// 鏈哄櫒浜轰换鍔¤〃澧炲姞杈撳叆鍙傛暟
+ /// </summary>
+ public class AddWmsRbLineTaskInput : WmsRbLineTaskBaseInput
+ {
+ /// <summary>
+ /// 浠诲姟鍙�
+ /// </summary>
+ [Required(ErrorMessage = "浠诲姟鍙蜂笉鑳戒负绌�")]
+ public override string TaskNo { get; set; }
+
+ /// <summary>
+ /// 閮ㄤ欢鏉$爜
+ /// </summary>
+ [Required(ErrorMessage = "閮ㄤ欢鏉$爜涓嶈兘涓虹┖")]
+ public override string UPI { get; set; }
+
+ /// <summary>
+ /// 闀�
+ /// </summary>
+ [Required(ErrorMessage = "闀夸笉鑳戒负绌�")]
+ public override float Length { get; set; }
+
+ /// <summary>
+ /// 瀹�
+ /// </summary>
+ [Required(ErrorMessage = "瀹戒笉鑳戒负绌�")]
+ public override float Width { get; set; }
+
+ /// <summary>
+ /// 鍘�
+ /// </summary>
+ [Required(ErrorMessage = "鍘氫笉鑳戒负绌�")]
+ public override float Thk { 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 PackageCode { get; set; }
+
+ /// <summary>
+ /// 搴撲綅缂栫爜
+ /// </summary>
+ [Required(ErrorMessage = "搴撲綅缂栫爜涓嶈兘涓虹┖")]
+ public override string PlaceCode { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鐘舵��
+ /// </summary>
+ [Required(ErrorMessage = "浠诲姟鐘舵�佷笉鑳戒负绌�")]
+ public override Admin.NET.Application.TaskStatusEnum TaskStatus { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鐘舵�佸悕绉�
+ /// </summary>
+ [Required(ErrorMessage = "浠诲姟鐘舵�佸悕绉颁笉鑳戒负绌�")]
+ public override string TaskStatusName { get; set; }
+
+ /// <summary>
+ /// 鏄惁鏍囪寮哄埗瀹屾垚
+ /// </summary>
+ [Required(ErrorMessage = "鏄惁鏍囪寮哄埗瀹屾垚涓嶈兘涓虹┖")]
+ public override bool IsFlagFinish { get; set; }
+
+ /// <summary>
+ /// 杞垹闄�
+ /// </summary>
+ [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")]
+ public override bool IsDelete { get; set; }
+
+ }
+
+ /// <summary>
+ /// 鏈哄櫒浜轰换鍔¤〃鍒犻櫎杈撳叆鍙傛暟
+ /// </summary>
+ public class DeleteWmsRbLineTaskInput : BaseIdInput
+ {
+ }
+
+ /// <summary>
+ /// 鏈哄櫒浜轰换鍔¤〃鏇存柊杈撳叆鍙傛暟
+ /// </summary>
+ public class UpdateWmsRbLineTaskInput : AddWmsRbLineTaskInput
+ {
+ /// <summary>
+ /// 涓婚敭Id
+ /// </summary>
+ [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")]
+ public long Id { get; set; }
+
+ }
+
+ /// <summary>
+ /// 鏈哄櫒浜轰换鍔¤〃涓婚敭鏌ヨ杈撳叆鍙傛暟
+ /// </summary>
+ public class QueryByIdWmsRbLineTaskInput : DeleteWmsRbLineTaskInput
+ {
+
+ }
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/Dto/WmsRbLineTaskOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/Dto/WmsRbLineTaskOutput.cs
new file mode 100644
index 0000000..b0771a4
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/Dto/WmsRbLineTaskOutput.cs
@@ -0,0 +1,145 @@
+锘縩amespace Admin.NET.Application;
+
+/// <summary>
+/// 鏈哄櫒浜轰换鍔¤〃杈撳嚭鍙傛暟
+/// </summary>
+public class WmsRbLineTaskOutput
+{
+ /// <summary>
+ /// 涓婚敭Id
+ /// </summary>
+ public long? Id { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍙�
+ /// </summary>
+ public string TaskNo { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鍚嶇О
+ /// </summary>
+ public string TaskName { get; set; }
+
+ /// <summary>
+ /// 閮ㄤ欢鏉$爜
+ /// </summary>
+ public string UPI { get; set; }
+
+ /// <summary>
+ /// 闀�
+ /// </summary>
+ public float Length { get; set; }
+
+ /// <summary>
+ /// 瀹�
+ /// </summary>
+ public float Width { get; set; }
+
+ /// <summary>
+ /// 鍘�
+ /// </summary>
+ public float Thk { get; set; }
+
+ /// <summary>
+ /// 鎵规鍙�
+ /// </summary>
+ public string PlanNo { get; set; }
+
+ /// <summary>
+ /// 璁㈠崟鍙�
+ /// </summary>
+ public string OrderId { get; set; }
+
+ /// <summary>
+ /// 鍖呰鍙�
+ /// </summary>
+ public string PackageCode { get; set; }
+
+ /// <summary>
+ /// 搴撲綅缂栫爜
+ /// </summary>
+ public string PlaceCode { get; set; }
+
+ /// <summary>
+ /// 浠诲姟绫诲瀷
+ /// </summary>
+ public Admin.NET.Application.RbTaskTypeEnum? RbTaskType { get; set; }
+
+ /// <summary>
+ /// 浠诲姟绫诲瀷鍚嶇О
+ /// </summary>
+ public string RbTaskTypeEnumName { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鐘舵��
+ /// </summary>
+ public Admin.NET.Application.TaskStatusEnum TaskStatus { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鐘舵�佸悕绉�
+ /// </summary>
+ public string TaskStatusName { get; set; }
+
+ /// <summary>
+ /// 浠诲姟鎻忚堪
+ /// </summary>
+ public string TaskDescribe { get; set; }
+
+ /// <summary>
+ /// 浠诲姟娑堟伅
+ /// </summary>
+ public string TaskMsg { get; set; }
+
+ /// <summary>
+ /// 涓嬪彂鏃堕棿
+ /// </summary>
+ public DateTime? IssueTime { get; set; }
+
+ /// <summary>
+ /// 浠诲姟瀹屾垚鏃堕棿
+ /// </summary>
+ public DateTime? FinishedTime { get; set; }
+
+ /// <summary>
+ /// 鏄惁鏍囪寮哄埗瀹屾垚
+ /// </summary>
+ public bool IsFlagFinish { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏃堕棿
+ /// </summary>
+ public DateTime? CreateTime { get; set; }
+
+ /// <summary>
+ /// 淇敼鏃堕棿
+ /// </summary>
+ public DateTime? UpdateTime { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜篒d
+ /// </summary>
+ public long? CreateUserId { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓浜�
+ /// </summary>
+ public string CreateUserName { get; set; }
+
+ /// <summary>
+ /// 淇敼浜篒d
+ /// </summary>
+ public long? UpdateUserId { get; set; }
+
+ /// <summary>
+ /// 淇敼浜�
+ /// </summary>
+ public string UpdateUserName { get; set; }
+
+ /// <summary>
+ /// 杞垹闄�
+ /// </summary>
+ public bool IsDelete { get; set; }
+
+ }
+
+
diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/WmsRbLineTaskService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/WmsRbLineTaskService.cs
new file mode 100644
index 0000000..a007bc2
--- /dev/null
+++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsTask/WmsRbLineTask/WmsRbLineTaskService.cs
@@ -0,0 +1,511 @@
+锘縰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.WmsTaskGroupName, Order = 100)]
+public class WmsRbLineTaskService : IDynamicApiController, ITransient
+{
+ private readonly SqlSugarRepository<WmsRbLineTask> _rep;
+ public WmsRbLineTaskService(SqlSugarRepository<WmsRbLineTask> rep)
+ {
+ _rep = rep;
+ }
+
+ /// <summary>
+ /// 鍒嗛〉鏌ヨ鏈哄櫒浜轰换鍔¤〃
+ /// </summary>
+ /// <param name="input"></param>
+ /// <returns></returns>
+ [HttpPost]
+ [ApiDescriptionSettings(Name = "Page")]
+ [Description("WmsRbLineTask/Page")]
+ public async Task<SqlSugarPagedList<WmsRbLineTaskOutput>> Page(WmsRbLineTaskInput 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("WmsRbLineTask/List")]
+ public async Task<List<WmsRbLineTaskOutput>> List([FromQuery] WmsRbLineTaskInput input)
+ {
+ var query = CommonPageFilter(input);
+ return await query.OrderBuilder(input, "", "Id").Select<WmsRbLineTaskOutput>().ToListAsync();
+ }
+
+ /// <summary>
+ /// 澧炲姞鏈哄櫒浜轰换鍔¤〃
+ /// </summary>
+ /// <param name="input"></param>
+ /// <returns></returns>
+ [HttpPost]
+ [ApiDescriptionSettings(Name = "Add")]
+ [Description("WmsRbLineTask/Add")]
+ public async Task<long> Add(AddWmsRbLineTaskInput input)
+ {
+ var entity = input.Adapt<WmsRbLineTask>();
+
+ //閲嶅鎬ч獙璇�
+ await CheckExist(entity);
+
+ await _rep.InsertAsync(entity);
+ return entity.Id;
+ }
+
+ /// <summary>
+ /// 鍒犻櫎鏈哄櫒浜轰换鍔¤〃
+ /// </summary>
+ /// <param name="input"></param>
+ /// <returns></returns>
+ [HttpPost]
+ [ApiDescriptionSettings(Name = "Delete")]
+ [Description("WmsRbLineTask/Delete")]
+ public async Task Delete(DeleteWmsRbLineTaskInput 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("WmsRbLineTask/Update")]
+ public async Task Update(UpdateWmsRbLineTaskInput input)
+ {
+ var entity = input.Adapt<WmsRbLineTask>();
+
+ //閲嶅鎬ч獙璇�
+ 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("WmsRbLineTask/Detail")]
+ public async Task<WmsRbLineTask> Detail([FromQuery] QueryByIdWmsRbLineTaskInput input)
+ {
+ return await _rep.GetFirstAsync(u => u.Id == input.Id);
+ }
+
+
+
+
+
+ #region 瀵煎叆
+
+ /// <summary>
+ /// Excel妯℃澘瀵煎叆鏈哄櫒浜轰换鍔¤〃鍔熻兘
+ /// </summary>
+ /// <param name="file">Excel妯℃澘鏂囦欢</param>
+ /// <returns>瀵煎叆鐨勮褰曟暟</returns>
+ [HttpPost]
+ [ApiDescriptionSettings(Name = "ImportExcel")]
+ [Description("WmsRbLineTask/ImportExcel")]
+ public async Task<int> ImportExcelAsync(IFormFile file)
+ {
+ int _HeadStartLine = 2;//绗�1琛屾槸璇存槑,绗�2琛屾槸鍒楀悕
+ int _DataStartLine = 3;//绗�3琛屽紑濮嬫槸鏁版嵁
+ DataTable importDataTable = ExcelUtil.ImportExcelToDataTable(file, _HeadStartLine, _DataStartLine);
+ var addList = await CommonImport(importDataTable, _DataStartLine);
+ await _rep.InsertRangeAsync(addList);
+ return addList.Count;
+ }
+
+ /// <summary>
+ /// DataTable杞崲瀹炰綋瀵硅薄鍒楄〃
+ /// </summary>
+ /// <param name="dataTable"></param>
+ /// <param name="dataStartLine">妯$増鍒楀悕寮�濮嬭</param>
+ /// <returns></returns>
+ private async Task<List<WmsRbLineTask>> CommonImport(DataTable dataTable, int dataStartLine)
+ {
+ var details = new List<WmsRbLineTask>();
+ int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭
+ foreach (System.Data.DataRow row in dataTable.Rows)
+ {
+ index++;
+ //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛�
+
+ var addItem = new WmsRbLineTask();
+ #region 瀹氫箟鍙橀噺
+ var _TaskNo = "";//浠诲姟鍙�
+ var _TaskName = "";//浠诲姟鍚嶇О
+ var _UPI = "";//閮ㄤ欢鏉$爜
+ var _Length = "";//闀�
+ var _Width = "";//瀹�
+ var _Thk = "";//鍘�
+ var _PlanNo = "";//鎵规鍙�
+ var _OrderId = "";//璁㈠崟鍙�
+ var _PackageCode = "";//鍖呰鍙�
+ var _PlaceCode = "";//搴撲綅缂栫爜
+ var _RbTaskType = "";//浠诲姟绫诲瀷
+ var _RbTaskTypeEnumName = "";//浠诲姟绫诲瀷鍚嶇О
+ var _TaskStatus = "";//浠诲姟鐘舵��
+ var _TaskStatusName = "";//浠诲姟鐘舵�佸悕绉�
+ var _TaskDescribe = "";//浠诲姟鎻忚堪
+ var _TaskMsg = "";//浠诲姟娑堟伅
+ var _IssueTime = "";//涓嬪彂鏃堕棿
+ var _FinishedTime = "";//浠诲姟瀹屾垚鏃堕棿
+ var _IsFlagFinish = "";//鏄惁鏍囪寮哄埗瀹屾垚
+ #endregion
+
+
+ #region 鍙栧��
+ _TaskNo = row["浠诲姟鍙�"]?.ToString();
+ _TaskName = row["浠诲姟鍚嶇О"]?.ToString();
+ _UPI = row["閮ㄤ欢鏉$爜"]?.ToString();
+ _Length = row["闀�"]?.ToString();
+ _Width = row["瀹�"]?.ToString();
+ _Thk = row["鍘�"]?.ToString();
+ _PlanNo = row["鎵规鍙�"]?.ToString();
+ _OrderId = row["璁㈠崟鍙�"]?.ToString();
+ _PackageCode = row["鍖呰鍙�"]?.ToString();
+ _PlaceCode = row["搴撲綅缂栫爜"]?.ToString();
+ _RbTaskType = row["浠诲姟绫诲瀷"]?.ToString();
+ _RbTaskTypeEnumName = row["浠诲姟绫诲瀷鍚嶇О"]?.ToString();
+ _TaskStatus = row["浠诲姟鐘舵��"]?.ToString();
+ _TaskStatusName = row["浠诲姟鐘舵�佸悕绉�"]?.ToString();
+ _TaskDescribe = row["浠诲姟鎻忚堪"]?.ToString();
+ _TaskMsg = row["浠诲姟娑堟伅"]?.ToString();
+ _IssueTime = row["涓嬪彂鏃堕棿"]?.ToString();
+ _FinishedTime = row["浠诲姟瀹屾垚鏃堕棿"]?.ToString();
+ _IsFlagFinish = row["鏄惁鏍囪寮哄埗瀹屾垚"]?.ToString();
+ #endregion
+
+
+ #region 楠岃瘉
+
+ if (string.IsNullOrEmpty(_TaskNo))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾浠诲姟鍙穄{_TaskNo}涓嶈兘涓虹┖锛�");
+ }
+
+ if (!string.IsNullOrEmpty(_TaskNo))
+ {
+ addItem.TaskNo = (string)(_TaskNo.Trim());
+ }
+ if (!string.IsNullOrEmpty(_TaskName))
+ {
+ addItem.TaskName = (string)(_TaskName.Trim());
+ }
+
+ if (string.IsNullOrEmpty(_UPI))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾閮ㄤ欢鏉$爜]{_UPI}涓嶈兘涓虹┖锛�");
+ }
+
+ if (!string.IsNullOrEmpty(_UPI))
+ {
+ addItem.UPI = (string)(_UPI.Trim());
+ }
+
+ if (string.IsNullOrEmpty(_Length))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾闀縘{_Length}涓嶈兘涓虹┖锛�");
+ }
+
+ //if(!string.IsNullOrEmpty(_Length))
+ //{
+ // addItem.Length = (float)(_Length.Trim());
+ // }
+
+ //if (string.IsNullOrEmpty(_Width))
+ //{
+ // throw Oops.Oh($"绗瑊index}琛孾瀹絔{_Width}涓嶈兘涓虹┖锛�");
+ //}
+
+ //if(!string.IsNullOrEmpty(_Width))
+ //{
+ // addItem.Width = (float)(_Width.Trim());
+ // }
+
+ if (string.IsNullOrEmpty(_Thk))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾鍘歖{_Thk}涓嶈兘涓虹┖锛�");
+ }
+
+ //if(!string.IsNullOrEmpty(_Thk))
+ //{
+ // addItem.Thk = (float)(_Thk.Trim());
+ // }
+
+ if (string.IsNullOrEmpty(_PlanNo))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾鎵规鍙穄{_PlanNo}涓嶈兘涓虹┖锛�");
+ }
+
+ if (!string.IsNullOrEmpty(_PlanNo))
+ {
+ addItem.PlanNo = (string)(_PlanNo.Trim());
+ }
+
+ if (string.IsNullOrEmpty(_OrderId))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾璁㈠崟鍙穄{_OrderId}涓嶈兘涓虹┖锛�");
+ }
+
+ if (!string.IsNullOrEmpty(_OrderId))
+ {
+ addItem.OrderId = (string)(_OrderId.Trim());
+ }
+
+ if (string.IsNullOrEmpty(_PackageCode))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾鍖呰鍙穄{_PackageCode}涓嶈兘涓虹┖锛�");
+ }
+
+ if (!string.IsNullOrEmpty(_PackageCode))
+ {
+ addItem.PackageCode = (string)(_PackageCode.Trim());
+ }
+
+ if (string.IsNullOrEmpty(_PlaceCode))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾搴撲綅缂栫爜]{_PlaceCode}涓嶈兘涓虹┖锛�");
+ }
+
+ if (!string.IsNullOrEmpty(_PlaceCode))
+ {
+ addItem.PlaceCode = (string)(_PlaceCode.Trim());
+ }
+ if (!string.IsNullOrEmpty(_RbTaskType))
+ {
+ Admin.NET.Application.RbTaskTypeEnum enumRbTaskType = default(Admin.NET.Application.RbTaskTypeEnum);
+
+ if (!Enum.TryParse<Admin.NET.Application.RbTaskTypeEnum>(_RbTaskType, out enumRbTaskType) && !string.IsNullOrEmpty(_RbTaskType))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾浠诲姟绫诲瀷]{_RbTaskType}鍊间笉姝g‘锛�");
+ }
+ else
+ {
+ addItem.RbTaskType = enumRbTaskType;
+ }
+
+ }
+ if (!string.IsNullOrEmpty(_RbTaskTypeEnumName))
+ {
+ addItem.RbTaskTypeEnumName = (string)(_RbTaskTypeEnumName.Trim());
+ }
+
+ if (string.IsNullOrEmpty(_TaskStatus))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾浠诲姟鐘舵�乚{_TaskStatus}涓嶈兘涓虹┖锛�");
+ }
+
+ if (!string.IsNullOrEmpty(_TaskStatus))
+ {
+ Admin.NET.Application.TaskStatusEnum enumTaskStatus = default(Admin.NET.Application.TaskStatusEnum);
+
+ if (!Enum.TryParse<Admin.NET.Application.TaskStatusEnum>(_TaskStatus, out enumTaskStatus) && !string.IsNullOrEmpty(_TaskStatus))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾浠诲姟鐘舵�乚{_TaskStatus}鍊间笉姝g‘锛�");
+ }
+ else
+ {
+ addItem.TaskStatus = enumTaskStatus;
+ }
+
+ }
+
+ if (string.IsNullOrEmpty(_TaskStatusName))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾浠诲姟鐘舵�佸悕绉癩{_TaskStatusName}涓嶈兘涓虹┖锛�");
+ }
+
+ if (!string.IsNullOrEmpty(_TaskStatusName))
+ {
+ addItem.TaskStatusName = (string)(_TaskStatusName.Trim());
+ }
+ if (!string.IsNullOrEmpty(_TaskDescribe))
+ {
+ addItem.TaskDescribe = (string)(_TaskDescribe.Trim());
+ }
+ if (!string.IsNullOrEmpty(_TaskMsg))
+ {
+ addItem.TaskMsg = (string)(_TaskMsg.Trim());
+ }
+ if (!string.IsNullOrEmpty(_IssueTime))
+ {
+ addItem.IssueTime = Convert.ToDateTime(Convert.ToDateTime(_IssueTime.Trim()).ToShortDateString());
+ }
+ if (!string.IsNullOrEmpty(_FinishedTime))
+ {
+ addItem.FinishedTime = Convert.ToDateTime(Convert.ToDateTime(_FinishedTime.Trim()).ToShortDateString());
+ }
+
+ if (string.IsNullOrEmpty(_IsFlagFinish))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾鏄惁鏍囪寮哄埗瀹屾垚]{_IsFlagFinish}涓嶈兘涓虹┖锛�");
+ }
+
+ if (!string.IsNullOrEmpty(_IsFlagFinish))
+ {
+ if (!_IsFlagFinish.Equals("鏄�") && !_IsFlagFinish.Equals("鍚�"))
+ {
+ throw Oops.Oh($"绗瑊index}琛孾鏄惁鏍囪寮哄埗瀹屾垚]{_IsFlagFinish}鍊间笉姝g‘锛�");
+ }
+ else
+ {
+ bool outIsFlagFinish = _IsFlagFinish.Equals("鏄�") ? true : false;
+ addItem.IsFlagFinish = outIsFlagFinish;
+ }
+ }
+
+ #endregion
+
+
+ details.Add(addItem);
+ }
+ //楠岄噸
+ await CheckExisitForImport(details);
+ return details;
+ }
+
+ /// <summary>
+ /// 鏍规嵁鐗堟湰涓嬭浇鏈哄櫒浜轰换鍔¤〃鐨凟xcel瀵煎叆妯℃澘
+ /// </summary>
+ /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns>
+ [HttpGet]
+ [ApiDescriptionSettings(Name = "DownloadExcelTemplate")]
+ [Description("WmsRbLineTask/DownloadExcelTemplate")]
+ public IActionResult DownloadExcelTemplate()
+ {
+ string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\鏈哄櫒浜轰换鍔¤〃{TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx";
+ var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(鏈哄櫒浜轰换鍔¤〃).xlsx", Encoding.GetEncoding("UTF-8"));
+ return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName };
+ }
+
+ #endregion
+
+ #region 绉佹湁鏂规硶
+
+ /// <summary>
+ /// 鍏叡鏌ヨ鏈哄櫒浜轰换鍔¤〃鏉′欢
+ /// </summary>
+ /// <param name="input"></param>
+ /// <returns></returns>
+ private ISugarQueryable<WmsRbLineTaskOutput> CommonPageFilter(WmsRbLineTaskInput input)
+ {
+ var query = _rep.AsQueryable()
+ .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
+ u.TaskNo.Contains(input.SearchKey.Trim())
+ || u.TaskName.Contains(input.SearchKey.Trim())
+ || u.UPI.Contains(input.SearchKey.Trim())
+ || u.PlanNo.Contains(input.SearchKey.Trim())
+ || u.OrderId.Contains(input.SearchKey.Trim())
+ || u.PackageCode.Contains(input.SearchKey.Trim())
+ || u.PlaceCode.Contains(input.SearchKey.Trim())
+ || u.RbTaskTypeEnumName.Contains(input.SearchKey.Trim())
+ || u.TaskStatusName.Contains(input.SearchKey.Trim())
+ || u.TaskDescribe.Contains(input.SearchKey.Trim())
+ || u.TaskMsg.Contains(input.SearchKey.Trim())
+ || u.CreateUserName.Contains(input.SearchKey.Trim())
+ || u.UpdateUserName.Contains(input.SearchKey.Trim())
+ )
+ .WhereIF(!string.IsNullOrWhiteSpace(input.TaskNo), u => u.TaskNo.Contains(input.TaskNo.Trim()))
+ .WhereIF(!string.IsNullOrWhiteSpace(input.TaskName), u => u.TaskName.Contains(input.TaskName.Trim()))
+ .WhereIF(!string.IsNullOrWhiteSpace(input.UPI), u => u.UPI.Contains(input.UPI.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.PackageCode), u => u.PackageCode.Contains(input.PackageCode.Trim()))
+ .WhereIF(!string.IsNullOrWhiteSpace(input.PlaceCode), u => u.PlaceCode.Contains(input.PlaceCode.Trim()))
+ .WhereIF(input.RbTaskType.HasValue, u => u.RbTaskType == input.RbTaskType)
+ .WhereIF(!string.IsNullOrWhiteSpace(input.RbTaskTypeEnumName), u => u.RbTaskTypeEnumName.Contains(input.RbTaskTypeEnumName.Trim()))
+ .WhereIF(input.TaskStatus.HasValue, u => u.TaskStatus == input.TaskStatus)
+ .WhereIF(!string.IsNullOrWhiteSpace(input.TaskStatusName), u => u.TaskStatusName.Contains(input.TaskStatusName.Trim()))
+ .WhereIF(!string.IsNullOrWhiteSpace(input.TaskDescribe), u => u.TaskDescribe.Contains(input.TaskDescribe.Trim()))
+ .WhereIF(!string.IsNullOrWhiteSpace(input.TaskMsg), u => u.TaskMsg.Contains(input.TaskMsg.Trim()))
+ .WhereIF(input.IsFlagFinish.HasValue, u => u.IsFlagFinish == input.IsFlagFinish)
+ .Select<WmsRbLineTaskOutput>();
+ if (input.IssueTimeRange != null && input.IssueTimeRange.Count > 0)
+ {
+ DateTime? start = input.IssueTimeRange[0].Value.AddDays(-1);
+ query = query.WhereIF(start.HasValue, u => u.IssueTime > start);
+ if (input.IssueTimeRange.Count > 1 && input.IssueTimeRange[1].HasValue)
+ {
+ var end = input.IssueTimeRange[1].Value.AddDays(1);
+ query = query.Where(u => u.IssueTime < end);
+ }
+ }
+ if (input.FinishedTimeRange != null && input.FinishedTimeRange.Count > 0)
+ {
+ DateTime? start = input.FinishedTimeRange[0].Value.AddDays(-1);
+ query = query.WhereIF(start.HasValue, u => u.FinishedTime > start);
+ if (input.FinishedTimeRange.Count > 1 && input.FinishedTimeRange[1].HasValue)
+ {
+ var end = input.FinishedTimeRange[1].Value.AddDays(1);
+ query = query.Where(u => u.FinishedTime < end);
+ }
+ }
+ return query;
+ }
+
+ /// <summary>
+ /// 閲嶅鎬ч獙璇�
+ /// </summary>
+ /// <param name="input">楠岃瘉瀵硅薄</param>
+ /// <param name="isEdit">鏄惁鏄紪杈�</param>
+ /// <returns></returns>
+ private async Task CheckExist(WmsRbLineTask input, bool isEdit = false)
+ {
+
+
+
+ //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲�
+
+
+ //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲�
+ }
+
+ /// <summary>
+ /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇�
+ /// </summary>
+ /// <param name="inputs"></param>
+ /// <returns></returns>
+ private async Task CheckExisitForImport(List<WmsRbLineTask> inputs)
+ {
+ if (inputs?.Count <= 0)
+ {
+ throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖");
+ }
+ //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+
+
+
+
+
+
+
+
+ //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹�
+
+
+
+ }
+ #endregion
+
+}
+
diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\234\272\345\231\250\344\272\272\344\273\273\345\212\241\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\234\272\345\231\250\344\272\272\344\273\273\345\212\241\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
new file mode 100644
index 0000000..573b7e2
--- /dev/null
+++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\234\272\345\231\250\344\272\272\344\273\273\345\212\241\350\241\250\345\257\274\345\205\245\346\250\241\346\235\277.xlsx"
Binary files differ
--
Gitblit v1.9.3