From ab113ce9156d8ab54b3a4da9da6b3939875a928f Mon Sep 17 00:00:00 2001 From: zongzhibin <zongzhibin@weben-smart.com> Date: 周五, 22 11月 2024 13:11:12 +0800 Subject: [PATCH] add --- LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mesPushPackageCode/component/editDialog.vue | 171 ++++++++ LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mesPushPackageCode/index.vue | 289 ++++++++++++++ LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsOrder/MesPushPackageCode.cs | 49 ++ LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/MesPushPackageCode/MesPushPackageCodeService.cs | 331 ++++++++++++++++ LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/SysAuthService.cs | 12 LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/推送mes包装号导入模板.xlsx | 0 LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/MesPushPackageCode/Dto/MesPushPackageCodeOutput.cs | 80 ++++ LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/MesPushPackageCode/Dto/MesPushPackageCodeInput.cs | 172 ++++++++ LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/mesPushPackageCode.ts | 78 +++ 9 files changed, 1,176 insertions(+), 6 deletions(-) diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/mesPushPackageCode.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/mesPushPackageCode.ts new file mode 100644 index 0000000..7798b9b --- /dev/null +++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/mesPushPackageCode.ts @@ -0,0 +1,78 @@ +锘縤mport request from '/@/utils/request'; +enum Api { + AddMesPushPackageCode = '/api/mesPushPackageCode/add', + DeleteMesPushPackageCode = '/api/mesPushPackageCode/delete', + UpdateMesPushPackageCode = '/api/mesPushPackageCode/update', + PageMesPushPackageCode = '/api/mesPushPackageCode/page', + ListMesPushPackageCode = '/api/mesPushPackageCode/list', + DetailMesPushPackageCode = '/api/mesPushPackageCode/detail', + ImportExcelMesPushPackageCode = '/api/mesPushPackageCode/importExcel', + DownloadExcelTemplateMesPushPackageCode = '/api/mesPushPackageCode/downloadExcelTemplate', +} + +// 澧炲姞鎺ㄩ�乵es鍖呰鍙� +export const addMesPushPackageCode = (params?: any) => + request({ + url: Api.AddMesPushPackageCode, + method: 'post', + data: params + }); + +// 鍒犻櫎鎺ㄩ�乵es鍖呰鍙� +export const deleteMesPushPackageCode = (params?: any) => + request({ + url: Api.DeleteMesPushPackageCode, + method: 'post', + data: params + }); + +// 缂栬緫鎺ㄩ�乵es鍖呰鍙� +export const updateMesPushPackageCode = (params?: any) => + request({ + url: Api.UpdateMesPushPackageCode, + method: 'post', + data: params + }); + +// 瀵煎叆鎺ㄩ�乵es鍖呰鍙� +export const importExcelMesPushPackageCode = (params?: any) => + request({ + url: Api.ImportExcelMesPushPackageCode, + method: 'post', + data: params + }); + +// 涓嬭浇瀵煎叆鎺ㄩ�乵es鍖呰鍙锋ā鏉� +export const downloadExcelTemplateMesPushPackageCode = (params?: any) => + request({ + url: Api.DownloadExcelTemplateMesPushPackageCode, + method: 'get', + data: params, + responseType: 'blob' + }); + + +// 鍒嗛〉鏌ヨ鎺ㄩ�乵es鍖呰鍙� +export const pageMesPushPackageCode = (params?: any) => + request({ + url: Api.PageMesPushPackageCode, + method: 'post', + data: params + }); + +// 涓嶅垎椤垫煡璇㈡帹閫乵es鍖呰鍙� +export const listMesPushPackageCode = (params?: any) => + request({ + url: Api.ListMesPushPackageCode, + method: 'get', + data: params + }); + +// 璇︽儏鎺ㄩ�乵es鍖呰鍙� +export const detailMesPushPackageCode = (id: any) => + request({ + url: Api.DetailMesPushPackageCode, + method: 'get', + data: { id } + }); + diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mesPushPackageCode/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mesPushPackageCode/component/editDialog.vue new file mode 100644 index 0000000..d8d96f0 --- /dev/null +++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mesPushPackageCode/component/editDialog.vue @@ -0,0 +1,171 @@ +锘�<template> + <div class="mesPushPackageCode-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="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="pushStatus"> + <el-input-number v-model="ruleForm.pushStatus" placeholder="璇疯緭鍏ユ帹閫佺姸鎬�" 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="pushNum"> + <el-input-number v-model="ruleForm.pushNum" placeholder="璇疯緭鍏ユ帹閫佹鏁�" 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="apiMessage"> + <el-input v-model="ruleForm.apiMessage" placeholder="璇疯緭鍏ユ帴鍙h繑鍥炲弬鏁�" 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="createOrgName"> + <el-input v-model="ruleForm.createOrgName" placeholder="璇疯緭鍏ュ垱寤鸿�呴儴闂ㄥ悕绉�" maxlength="64" 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 { addMesPushPackageCode, updateMesPushPackageCode, detailMesPushPackageCode } from "/@/api/main/WmsOrder/mesPushPackageCode"; + + //鐖剁骇浼犻�掓潵鐨勫弬鏁� + 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>({ + packageCode: [{required: true, message: '璇疯緭鍏ュ寘瑁呭彿锛�', trigger: 'blur',},], + pushStatus: [{required: true, message: '璇疯緭鍏ユ帹閫佺姸鎬侊紒', trigger: 'blur',},], + pushNum: [{required: true, message: '璇疯緭鍏ユ帹閫佹鏁帮紒', trigger: 'blur',},], + 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 detailMesPushPackageCode(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 addMesPushPackageCode(values); + } else { + title='缂栬緫'; + ret = await updateMesPushPackageCode(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/WmsOrder/mesPushPackageCode/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mesPushPackageCode/index.vue new file mode 100644 index 0000000..17c6b20 --- /dev/null +++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mesPushPackageCode/index.vue @@ -0,0 +1,289 @@ +锘�<template> + <div class="mesPushPackageCode-container"> + <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> + <el-form :model="queryParamsMesPushPackageCode" 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="queryParamsMesPushPackageCode.searchKey" clearable="" placeholder="鍖呰鍙�,鎺ュ彛杩斿洖鍙傛暟,鍒涘缓浜�,淇敼浜�,鍒涘缓鑰呴儴闂ㄥ悕绉�"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMesPushPackageCode"> + <el-form-item label="鍖呰鍙�"> + <el-input v-model="queryParamsMesPushPackageCode.packageCode" clearable="" placeholder="璇疯緭鍏ュ寘瑁呭彿"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMesPushPackageCode"> + <el-form-item label="鎺ㄩ�佺姸鎬�"> + <el-input-number v-model="queryParamsMesPushPackageCode.pushStatus" clearable="" placeholder="璇疯緭鍏ユ帹閫佺姸鎬�"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMesPushPackageCode"> + <el-form-item label="鎺ㄩ�佹鏁�"> + <el-input-number v-model="queryParamsMesPushPackageCode.pushNum" clearable="" placeholder="璇疯緭鍏ユ帹閫佹鏁�"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMesPushPackageCode"> + <el-form-item label="鎺ュ彛杩斿洖鍙傛暟"> + <el-input v-model="queryParamsMesPushPackageCode.apiMessage" clearable="" placeholder="璇疯緭鍏ユ帴鍙h繑鍥炲弬鏁�"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMesPushPackageCode"> + <el-form-item label="鍒涘缓鑰呴儴闂ㄥ悕绉�"> + <el-input v-model="queryParamsMesPushPackageCode.createOrgName" clearable="" placeholder="璇疯緭鍏ュ垱寤鸿�呴儴闂ㄥ悕绉�"/> + + </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="handleQueryMesPushPackageCode" v-auth="'mesPushPackageCode:page'" :disabled="disabled_btnMesPushPackageCode"> 鏌ヨ </el-button> + <el-button icon="ele-Refresh" @click="resetMesPushPackageCode"> 閲嶇疆 </el-button> + <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIMesPushPackageCode" v-if="!showAdvanceQueryUIMesPushPackageCode" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button> + <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIMesPushPackageCode" v-if="showAdvanceQueryUIMesPushPackageCode" style="margin-left:5px;"> 闅愯棌 </el-button> + <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddMesPushPackageCode" v-auth="'mesPushPackageCode:add'"> 鏂板 </el-button> + <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelMesPushPackageCode" v-auth="'mesPushPackageCode:importExcel'" > 瀵煎叆 </el-button> + <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelMesPushPackageCode" v-auth="'mesPushPackageCode: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="tableRefMesPushPackageCode" + :data="tableDataMesPushPackageCode" + style="width: 100%" + v-loading="loadingMesPushPackageCode" + tooltip-effect="light" + row-key="id" + @sort-change="sortChangeMesPushPackageCode" + border=""> + <el-table-column type="index" label="搴忓彿" width="55" align="center"/> + <el-table-column prop="packageCode" label="鍖呰鍙�" show-overflow-tooltip="" /> + <el-table-column prop="pushStatus" label="鎺ㄩ�佺姸鎬�" show-overflow-tooltip="" /> + <el-table-column prop="pushNum" label="鎺ㄩ�佹鏁�" show-overflow-tooltip="" /> + <el-table-column prop="apiMessage" label="鎺ュ彛杩斿洖鍙傛暟" show-overflow-tooltip="" /> + <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 prop="createOrgName" label="鍒涘缓鑰呴儴闂ㄥ悕绉�" show-overflow-tooltip="" /> + <el-table-column label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('mesPushPackageCode:update') || auth('mesPushPackageCode:delete')"> + <template #default="scope"> + <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditMesPushPackageCode(scope.row)" v-auth="'mesPushPackageCode:update'"> 缂栬緫 </el-button> + <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delMesPushPackageCode(scope.row)" v-auth="'mesPushPackageCode:delete'"> 鍒犻櫎 </el-button> + </template> + </el-table-column> + </el-table> + <el-pagination + v-model:currentPage="tableParamsMesPushPackageCode.page" + v-model:page-size="tableParamsMesPushPackageCode.pageSize" + :total="tableParamsMesPushPackageCode.total" + :page-sizes="[10, 20, 50, 100, 200, 500]" + small="" + background="" + @size-change="handleSizeChangeMesPushPackageCode" + @current-change="handleCurrentChangeMesPushPackageCode" + layout="total, sizes, prev, pager, next, jumper" + /> + <printDialogMesPushPackageCode + ref="printDialogRefMesPushPackageCode" + :title="printMesPushPackageCodeTitle" + @reloadTable="handleQueryMesPushPackageCode" /> + <editDialogMesPushPackageCode + ref="editDialogRefMesPushPackageCode" + :title="editMesPushPackageCodeTitle" + @reloadTable="handleQueryMesPushPackageCode" + /> + <importExcelDialog + ref="importExcelDialogRefMesPushPackageCode" + :title="importExcelTitleMesPushPackageCode" + @parentUploadFun="handleImportExcelMesPushPackageCode" + @parentDownFun="handleDownExcelMesPushPackageCode" + /> + </el-card> + </div> +</template> + +<script lang="ts" setup="" name="mesPushPackageCode"> + 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 printDialogMesPushPackageCode from '/@/views/system/print/component/hiprint/preview.vue' + import editDialogMesPushPackageCode from '/@/views/main/WmsOrder/mesPushPackageCode/component/editDialog.vue' + import { pageMesPushPackageCode, deleteMesPushPackageCode,importExcelMesPushPackageCode,downloadExcelTemplateMesPushPackageCode } from '/@/api/main/WmsOrder/mesPushPackageCode'; + + + + /***************************************************[鎺ㄩ�乵es鍖呰鍙锋搷浣淽寮�濮�***************************************************/ + const showAdvanceQueryUIMesPushPackageCode = ref(false); + const tableRefMesPushPackageCode = ref(null); + const printDialogRefMesPushPackageCode = ref(); + const editDialogRefMesPushPackageCode = ref(); + const loadingMesPushPackageCode = ref(false); + const disabled_btnMesPushPackageCode = ref(false); + const tableDataMesPushPackageCode = ref<any>([]); + const queryParamsMesPushPackageCode = ref<any>({}); + const tableParamsMesPushPackageCode = ref({ + page: 1, + pageSize: 10, + total: 0, + }); + + const printMesPushPackageCodeTitle = ref(""); + const editMesPushPackageCodeTitle = ref(""); + + // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬� + const changeAdvanceQueryUIMesPushPackageCode = () => { + showAdvanceQueryUIMesPushPackageCode.value = !showAdvanceQueryUIMesPushPackageCode.value; + } + + // 鏌ヨ鎺ㄩ�乵es鍖呰鍙� + const handleQueryMesPushPackageCode = async () => { + loadingMesPushPackageCode.value = true; + disabled_btnMesPushPackageCode.value = true; + var res = await pageMesPushPackageCode(Object.assign(queryParamsMesPushPackageCode.value, tableParamsMesPushPackageCode.value)); + if(res.data.type=="success"){ + tableDataMesPushPackageCode.value = res.data.result?.items ?? []; + tableParamsMesPushPackageCode.value.total = res.data.result?.total; + } + loadingMesPushPackageCode.value = false; + disabled_btnMesPushPackageCode.value = false; + }; + + // 閲嶇疆鎺ㄩ�乵es鍖呰鍙锋煡璇� + const resetMesPushPackageCode = async () => { + queryParamsMesPushPackageCode.value = {} + }; + + // 鎺ㄩ�乵es鍖呰鍙峰垪鎺掑簭 + const sortChangeMesPushPackageCode = async (column: any) => { + queryParamsMesPushPackageCode.value.field = column.prop; + queryParamsMesPushPackageCode.value.order = column.order; + await handleQueryMesPushPackageCode(); + }; + + // 鎵撳紑鏂板鎺ㄩ�乵es鍖呰鍙烽〉闈� + const openAddMesPushPackageCode = () => { + editMesPushPackageCodeTitle.value = '娣诲姞鎺ㄩ�乵es鍖呰鍙�'; + editDialogRefMesPushPackageCode.value.openDialog(1,{}); + }; + + // 鎵撳紑鎵撳嵃鎺ㄩ�乵es鍖呰鍙烽〉闈� + const openPrintMesPushPackageCode = async (row: any) => { + printMesPushPackageCodeTitle.value = '鎵撳嵃鎺ㄩ�乵es鍖呰鍙�'; + } + + // 鎵撳紑缂栬緫鎺ㄩ�乵es鍖呰鍙烽〉闈� + const openEditMesPushPackageCode = (row: any) => { + editMesPushPackageCodeTitle.value = '缂栬緫鎺ㄩ�乵es鍖呰鍙�'; + editDialogRefMesPushPackageCode.value.openDialog(2,row); + }; + + // 鍒犻櫎鎺ㄩ�乵es鍖呰鍙� + const delMesPushPackageCode = (row: any) => { + ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(async () => { + loadingMesPushPackageCode.value = true; + var ret = await deleteMesPushPackageCode(row); + if(ret.data.type=="success"){ + ElMessage.success("鍒犻櫎鎴愬姛"); + } + loadingMesPushPackageCode.value = false; + handleQueryMesPushPackageCode(); + }) + .catch(() => {}); + }; + + // 鏀瑰彉鎺ㄩ�乵es鍖呰鍙烽〉闈㈠閲� + const handleSizeChangeMesPushPackageCode = (val: number) => { + tableParamsMesPushPackageCode.value.pageSize = val; + handleQueryMesPushPackageCode(); + }; + + // 鏀瑰彉鎺ㄩ�乵es鍖呰鍙烽〉鐮佸簭鍙� + const handleCurrentChangeMesPushPackageCode = (val: number) => { + tableParamsMesPushPackageCode.value.page = val; + handleQueryMesPushPackageCode(); + }; + +/***************************************************[鎺ㄩ�乵es鍖呰鍙锋搷浣淽缁撴潫***************************************************/ +/***************************************************[鎺ㄩ�乵es鍖呰鍙峰鍏寮�濮�***************************************************/ +const importExcelTitleMesPushPackageCode = ref(""); +const importExcelDialogRefMesPushPackageCode = ref(); +//鎵撳紑瀵煎叆鐣岄潰 +const openImportExcelMesPushPackageCode = () => { + importExcelTitleMesPushPackageCode.value = '瀵煎叆鎺ㄩ�乵es鍖呰鍙�'; + importExcelDialogRefMesPushPackageCode.value.openDialog({}); +}; +//瀵煎叆鏁版嵁 +const handleImportExcelMesPushPackageCode = async (formData:Blob) => { + var result = await importExcelMesPushPackageCode(formData); + importExcelDialogRefMesPushPackageCode.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶 + if(result.data.type=="success"){ + handleQueryMesPushPackageCode(); + } +}; +//涓嬭浇瀵煎叆妯℃澘 +const handleDownExcelMesPushPackageCode = async () => { + var result = await downloadExcelTemplateMesPushPackageCode(); + importExcelDialogRefMesPushPackageCode.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶 +}; +/***************************************************[鎺ㄩ�乵es鍖呰鍙峰鍏缁撴潫***************************************************/ +/***************************************************[鎺ㄩ�乵es鍖呰鍙峰鍑篯寮�濮�***************************************************/ +//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍 +const functionMapMesPushPackageCode = { + formatDate_T_Date, + formatDate_T_Time +}; +//鐐瑰嚮瀵煎嚭鎸夐挳 +const handleExportExcelMesPushPackageCode = async (formData:Blob) => { + loadingMesPushPackageCode.value = true; + disabled_btnMesPushPackageCode.value = true; + var new_tableParamsMesPushPackageCode=JSON.parse(JSON.stringify(tableParamsMesPushPackageCode.value)); + new_tableParamsMesPushPackageCode.page = 1; + new_tableParamsMesPushPackageCode.pageSize = 100000; + var res = await pageMesPushPackageCode(Object.assign(queryParamsMesPushPackageCode.value, new_tableParamsMesPushPackageCode)); + if(res.data.type=="success"){ + exportExcelMesPushPackageCode(res.data.result?.items ?? []); + } + loadingMesPushPackageCode.value = false; + disabled_btnMesPushPackageCode.value = false; +}; +//瀵煎嚭 +const exportExcelMesPushPackageCode = async (exportDataList:Array) => { + exportPageExcel(exportDataList, tableRefMesPushPackageCode,"鎺ㄩ�乵es鍖呰鍙�",functionMapMesPushPackageCode); +}; +/***************************************************[鎺ㄩ�乵es鍖呰鍙峰鍑篯缁撴潫***************************************************/ + // 鎺ㄩ�乵es鍖呰鍙烽〉闈㈠姞杞芥椂 + onMounted(async () => { + }); + + handleQueryMesPushPackageCode(); +</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/Entity/WmsOrder/MesPushPackageCode.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsOrder/MesPushPackageCode.cs new file mode 100644 index 0000000..d1050ba --- /dev/null +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsOrder/MesPushPackageCode.cs @@ -0,0 +1,49 @@ +锘縰sing Admin.NET.Core; +namespace Admin.NET.Application.Entity; + +/// <summary> +/// 鎺ㄩ�乵es鍖呰鍙疯〃 +/// </summary> +[SugarTable("mes_PushPackageCode", "鎺ㄩ�乵es鍖呰鍙疯〃")] +public class MesPushPackageCode : EntityBase +{ + /// <summary> + /// 鍖呰鍙� + /// </summary> + [Required] + [SugarColumn(ColumnName = "PackageCode", ColumnDescription = "鍖呰鍙�", Length = 50)] + public string PackageCode { get; set; } + + /// <summary> + /// 鎺ㄩ�佺姸鎬� + /// </summary> + [Required] + [SugarColumn(ColumnName = "PushStatus", ColumnDescription = "鎺ㄩ�佺姸鎬�")] + public int PushStatus { get; set; } + + /// <summary> + /// 鎺ㄩ�佹鏁� + /// </summary> + [Required] + [SugarColumn(ColumnName = "PushNum", ColumnDescription = "鎺ㄩ�佹鏁�")] + public int PushNum { get; set; } + + /// <summary> + /// 鎺ュ彛杩斿洖鍙傛暟 + /// </summary> + [SugarColumn(ColumnName = "ApiMessage", ColumnDescription = "鎺ュ彛杩斿洖鍙傛暟", Length = 50)] + public string ApiMessage { get; set; } + + /// <summary> + /// 鍒涘缓鑰呴儴闂↖d + /// </summary> + [SugarColumn(ColumnName = "CreateOrgId", ColumnDescription = "鍒涘缓鑰呴儴闂↖d")] + public long? CreateOrgId { get; set; } + + /// <summary> + /// 鍒涘缓鑰呴儴闂ㄥ悕绉� + /// </summary> + [SugarColumn(ColumnName = "CreateOrgName", ColumnDescription = "鍒涘缓鑰呴儴闂ㄥ悕绉�", Length = 64)] + public string CreateOrgName { get; set; } + +} diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/MesPushPackageCode/Dto/MesPushPackageCodeInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/MesPushPackageCode/Dto/MesPushPackageCodeInput.cs new file mode 100644 index 0000000..5e1c6fa --- /dev/null +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/MesPushPackageCode/Dto/MesPushPackageCodeInput.cs @@ -0,0 +1,172 @@ +锘縰sing Admin.NET.Core; +using System.ComponentModel.DataAnnotations; + +namespace Admin.NET.Application; + + /// <summary> + /// 鎺ㄩ�乵es鍖呰鍙峰熀纭�杈撳叆鍙傛暟 + /// </summary> + public class MesPushPackageCodeBaseInput + { + /// <summary> + /// 鍖呰鍙� + /// </summary> + public virtual string PackageCode { get; set; } + + /// <summary> + /// 鎺ㄩ�佺姸鎬� + /// </summary> + public virtual int PushStatus { get; set; } + + /// <summary> + /// 鎺ㄩ�佹鏁� + /// </summary> + public virtual int PushNum { get; set; } + + /// <summary> + /// 鎺ュ彛杩斿洖鍙傛暟 + /// </summary> + public virtual string ApiMessage { 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> + /// 鍒涘缓鑰呴儴闂↖d + /// </summary> + public virtual long? CreateOrgId { get; set; } + + /// <summary> + /// 鍒涘缓鑰呴儴闂ㄥ悕绉� + /// </summary> + public virtual string CreateOrgName { get; set; } + + /// <summary> + /// 杞垹闄� + /// </summary> + public virtual bool IsDelete { get; set; } + + } + + /// <summary> + /// 鎺ㄩ�乵es鍖呰鍙峰垎椤垫煡璇㈣緭鍏ュ弬鏁� + /// </summary> + public class MesPushPackageCodeInput : BasePageInput + { + /// <summary> + /// 鍏抽敭瀛楁煡璇� + /// </summary> + public string? SearchKey { get; set; } + + /// <summary> + /// 鍖呰鍙� + /// </summary> + public string? PackageCode { get; set; } + + /// <summary> + /// 鎺ㄩ�佺姸鎬� + /// </summary> + public int? PushStatus { get; set; } + + /// <summary> + /// 鎺ㄩ�佹鏁� + /// </summary> + public int? PushNum { get; set; } + + /// <summary> + /// 鎺ュ彛杩斿洖鍙傛暟 + /// </summary> + public string? ApiMessage { get; set; } + + /// <summary> + /// 鍒涘缓鑰呴儴闂ㄥ悕绉� + /// </summary> + public string? CreateOrgName { get; set; } + + } + + /// <summary> + /// 鎺ㄩ�乵es鍖呰鍙峰鍔犺緭鍏ュ弬鏁� + /// </summary> + public class AddMesPushPackageCodeInput : MesPushPackageCodeBaseInput + { + /// <summary> + /// 鍖呰鍙� + /// </summary> + [Required(ErrorMessage = "鍖呰鍙蜂笉鑳戒负绌�")] + public override string PackageCode { get; set; } + + /// <summary> + /// 鎺ㄩ�佺姸鎬� + /// </summary> + [Required(ErrorMessage = "鎺ㄩ�佺姸鎬佷笉鑳戒负绌�")] + public override int PushStatus { get; set; } + + /// <summary> + /// 鎺ㄩ�佹鏁� + /// </summary> + [Required(ErrorMessage = "鎺ㄩ�佹鏁颁笉鑳戒负绌�")] + public override int PushNum { get; set; } + + /// <summary> + /// 杞垹闄� + /// </summary> + [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")] + public override bool IsDelete { get; set; } + + } + + /// <summary> + /// 鎺ㄩ�乵es鍖呰鍙峰垹闄よ緭鍏ュ弬鏁� + /// </summary> + public class DeleteMesPushPackageCodeInput : BaseIdInput + { + } + + /// <summary> + /// 鎺ㄩ�乵es鍖呰鍙锋洿鏂拌緭鍏ュ弬鏁� + /// </summary> + public class UpdateMesPushPackageCodeInput : AddMesPushPackageCodeInput + { + /// <summary> + /// 涓婚敭Id + /// </summary> + [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")] + public long Id { get; set; } + + } + + /// <summary> + /// 鎺ㄩ�乵es鍖呰鍙蜂富閿煡璇㈣緭鍏ュ弬鏁� + /// </summary> + public class QueryByIdMesPushPackageCodeInput : DeleteMesPushPackageCodeInput + { + + } diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/MesPushPackageCode/Dto/MesPushPackageCodeOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/MesPushPackageCode/Dto/MesPushPackageCodeOutput.cs new file mode 100644 index 0000000..16b8c23 --- /dev/null +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/MesPushPackageCode/Dto/MesPushPackageCodeOutput.cs @@ -0,0 +1,80 @@ +锘縩amespace Admin.NET.Application; + +/// <summary> +/// 鎺ㄩ�乵es鍖呰鍙疯緭鍑哄弬鏁� +/// </summary> +public class MesPushPackageCodeOutput +{ + /// <summary> + /// 涓婚敭Id + /// </summary> + public long? Id { get; set; } + + /// <summary> + /// 鍖呰鍙� + /// </summary> + public string PackageCode { get; set; } + + /// <summary> + /// 鎺ㄩ�佺姸鎬� + /// </summary> + public int PushStatus { get; set; } + + /// <summary> + /// 鎺ㄩ�佹鏁� + /// </summary> + public int PushNum { get; set; } + + /// <summary> + /// 鎺ュ彛杩斿洖鍙傛暟 + /// </summary> + public string ApiMessage { 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> + /// 鍒涘缓鑰呴儴闂↖d + /// </summary> + public long? CreateOrgId { get; set; } + + /// <summary> + /// 鍒涘缓鑰呴儴闂ㄥ悕绉� + /// </summary> + public string CreateOrgName { get; set; } + + /// <summary> + /// 杞垹闄� + /// </summary> + public bool IsDelete { get; set; } + + } + + diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/MesPushPackageCode/MesPushPackageCodeService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/MesPushPackageCode/MesPushPackageCodeService.cs new file mode 100644 index 0000000..328032f --- /dev/null +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/MesPushPackageCode/MesPushPackageCodeService.cs @@ -0,0 +1,331 @@ +锘縰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> +/// 鎺ㄩ�乵es鍖呰鍙锋湇鍔� +/// </summary> +[ApiDescriptionSettings(ApplicationConst.WmsOrderGroupName, Order = 100)] +public class MesPushPackageCodeService : IDynamicApiController, ITransient +{ + private readonly SqlSugarRepository<MesPushPackageCode> _rep; + public MesPushPackageCodeService(SqlSugarRepository<MesPushPackageCode> rep) + { + _rep = rep; + } + + /// <summary> + /// 鍒嗛〉鏌ヨ鎺ㄩ�乵es鍖呰鍙� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [ApiDescriptionSettings(Name = "Page")] + [Description("MesPushPackageCode/Page")] + public async Task<SqlSugarPagedList<MesPushPackageCodeOutput>> Page(MesPushPackageCodeInput input) + { + var query = CommonPageFilter(input); + return await query.OrderBuilder(input, "", "Id").ToPagedListAsync(input.Page, input.PageSize); + } + + /// <summary> + /// 涓嶅垎椤垫煡璇㈡帹閫乵es鍖呰鍙� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet] + [ApiDescriptionSettings(Name = "List")] + [Description("MesPushPackageCode/List")] + public async Task<List<MesPushPackageCodeOutput>> List([FromQuery] MesPushPackageCodeInput input) + { + var query = CommonPageFilter(input); + return await query.OrderBuilder(input, "", "Id").Select<MesPushPackageCodeOutput>().ToListAsync(); + } + + /// <summary> + /// 澧炲姞鎺ㄩ�乵es鍖呰鍙� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [ApiDescriptionSettings(Name = "Add")] + [Description("MesPushPackageCode/Add")] + public async Task<long> Add(AddMesPushPackageCodeInput input) + { + var entity = input.Adapt<MesPushPackageCode>(); + + //閲嶅鎬ч獙璇� + await CheckExist(entity); + + await _rep.InsertAsync(entity); + return entity.Id; + } + + /// <summary> + /// 鍒犻櫎鎺ㄩ�乵es鍖呰鍙� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [ApiDescriptionSettings(Name = "Delete")] + [Description("MesPushPackageCode/Delete")] + public async Task Delete(DeleteMesPushPackageCodeInput 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> + /// 鏇存柊鎺ㄩ�乵es鍖呰鍙� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [ApiDescriptionSettings(Name = "Update")] + [Description("MesPushPackageCode/Update")] + public async Task Update(UpdateMesPushPackageCodeInput input) + { + var entity = input.Adapt<MesPushPackageCode>(); + + //閲嶅鎬ч獙璇� + await CheckExist(entity,true); + + await _rep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync(); + } + + /// <summary> + /// 鑾峰彇鎺ㄩ�乵es鍖呰鍙� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpGet] + [ApiDescriptionSettings(Name = "Detail")] + [Description("MesPushPackageCode/Detail")] + public async Task<MesPushPackageCode> Detail([FromQuery] QueryByIdMesPushPackageCodeInput input) + { + return await _rep.GetFirstAsync(u => u.Id == input.Id); + } + + + + + + #region 瀵煎叆 + + /// <summary> + /// Excel妯℃澘瀵煎叆鎺ㄩ�乵es鍖呰鍙峰姛鑳� + /// </summary> + /// <param name="file">Excel妯℃澘鏂囦欢</param> + /// <returns>瀵煎叆鐨勮褰曟暟</returns> + [HttpPost] + [ApiDescriptionSettings(Name = "ImportExcel")] + [Description("MesPushPackageCode/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<MesPushPackageCode>> CommonImport(DataTable dataTable, int dataStartLine) + { + var details = new List<MesPushPackageCode>(); + int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭 + foreach (System.Data.DataRow row in dataTable.Rows) + { + index++; + //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛� + + var addItem = new MesPushPackageCode(); + #region 瀹氫箟鍙橀噺 + var _PackageCode = "";//鍖呰鍙� + var _PushStatus = "";//鎺ㄩ�佺姸鎬� + var _PushNum = "";//鎺ㄩ�佹鏁� + var _ApiMessage = "";//鎺ュ彛杩斿洖鍙傛暟 + var _CreateOrgName = "";//鍒涘缓鑰呴儴闂ㄥ悕绉� + #endregion + + + #region 鍙栧�� + _PackageCode = row["鍖呰鍙�"]?.ToString() ; + _PushStatus = row["鎺ㄩ�佺姸鎬�"]?.ToString() ; + _PushNum = row["鎺ㄩ�佹鏁�"]?.ToString() ; + _ApiMessage = row["鎺ュ彛杩斿洖鍙傛暟"]?.ToString() ; + _CreateOrgName = row["鍒涘缓鑰呴儴闂ㄥ悕绉�"]?.ToString() ; + #endregion + + + #region 楠岃瘉 + + if (string.IsNullOrEmpty(_PackageCode)) + { + throw Oops.Oh($"绗瑊index}琛孾鍖呰鍙穄{_PackageCode}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_PackageCode)) + { + addItem.PackageCode = (string)(_PackageCode.Trim()); + } + + if (string.IsNullOrEmpty(_PushStatus)) + { + throw Oops.Oh($"绗瑊index}琛孾鎺ㄩ�佺姸鎬乚{_PushStatus}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_PushStatus)) + { + if (!int.TryParse(_PushStatus, out int outPushStatus)&&!string.IsNullOrEmpty(_PushStatus)) + { + throw Oops.Oh($"绗瑊index}琛孾鎺ㄩ�佺姸鎬乚{_PushStatus}鍊间笉姝g‘锛�"); + } + if (outPushStatus <= 0&&!string.IsNullOrEmpty(_PushStatus)) + { + throw Oops.Oh($"绗瑊index}琛孾鎺ㄩ�佺姸鎬乚{_PushStatus}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.PushStatus = outPushStatus; + } + + } + + if (string.IsNullOrEmpty(_PushNum)) + { + throw Oops.Oh($"绗瑊index}琛孾鎺ㄩ�佹鏁癩{_PushNum}涓嶈兘涓虹┖锛�"); + } + + if(!string.IsNullOrEmpty(_PushNum)) + { + if (!int.TryParse(_PushNum, out int outPushNum)&&!string.IsNullOrEmpty(_PushNum)) + { + throw Oops.Oh($"绗瑊index}琛孾鎺ㄩ�佹鏁癩{_PushNum}鍊间笉姝g‘锛�"); + } + if (outPushNum <= 0&&!string.IsNullOrEmpty(_PushNum)) + { + throw Oops.Oh($"绗瑊index}琛孾鎺ㄩ�佹鏁癩{_PushNum}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.PushNum = outPushNum; + } + + } + if(!string.IsNullOrEmpty(_ApiMessage)) + { + addItem.ApiMessage = (string)(_ApiMessage.Trim()); + } + if(!string.IsNullOrEmpty(_CreateOrgName)) + { + addItem.CreateOrgName = (string)(_CreateOrgName.Trim()); + } + #endregion + + + details.Add(addItem); + } + //楠岄噸 + await CheckExisitForImport(details); + return details; + } + + /// <summary> + /// 鏍规嵁鐗堟湰涓嬭浇鎺ㄩ�乵es鍖呰鍙风殑Excel瀵煎叆妯℃澘 + /// </summary> + /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> + [HttpGet] + [ApiDescriptionSettings(Name = "DownloadExcelTemplate")] + [Description("MesPushPackageCode/DownloadExcelTemplate")] + public IActionResult DownloadExcelTemplate() + { + string _path = TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増璺緞 + $"\\鎺ㄩ�乵es鍖呰鍙穥TemplateConst.EXCEL_TEMPLATEFILE_瀵煎叆妯$増鍚嶇О鍚庣紑}.xlsx"; + var fileName = HttpUtility.UrlEncode($"瀵煎叆妯℃澘(鎺ㄩ�乵es鍖呰鍙�).xlsx", Encoding.GetEncoding("UTF-8")); + return new FileStreamResult(new FileStream(_path, FileMode.Open), "application/octet-stream") { FileDownloadName = fileName }; + } + + #endregion + + #region 绉佹湁鏂规硶 + + /// <summary> + /// 鍏叡鏌ヨ鎺ㄩ�乵es鍖呰鍙锋潯浠� + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + private ISugarQueryable<MesPushPackageCodeOutput> CommonPageFilter(MesPushPackageCodeInput input) + { + var query = _rep.AsQueryable() + .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u => + u.PackageCode.Contains(input.SearchKey.Trim()) + || u.ApiMessage.Contains(input.SearchKey.Trim()) + || u.CreateUserName.Contains(input.SearchKey.Trim()) + || u.UpdateUserName.Contains(input.SearchKey.Trim()) + || u.CreateOrgName.Contains(input.SearchKey.Trim()) + ) + .WhereIF(!string.IsNullOrWhiteSpace(input.PackageCode), u => u.PackageCode.Contains(input.PackageCode.Trim())) + .WhereIF(input.PushStatus>0, u => u.PushStatus == input.PushStatus) + .WhereIF(input.PushNum>0, u => u.PushNum == input.PushNum) + .WhereIF(!string.IsNullOrWhiteSpace(input.ApiMessage), u => u.ApiMessage.Contains(input.ApiMessage.Trim())) + .WhereIF(!string.IsNullOrWhiteSpace(input.CreateOrgName), u => u.CreateOrgName.Contains(input.CreateOrgName.Trim())) + .Select<MesPushPackageCodeOutput>(); + return query; + } + + /// <summary> + /// 閲嶅鎬ч獙璇� + /// </summary> + /// <param name="input">楠岃瘉瀵硅薄</param> + /// <param name="isEdit">鏄惁鏄紪杈�</param> + /// <returns></returns> + private async Task CheckExist( MesPushPackageCode input,bool isEdit=false) + { + + + + //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲� + + + //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲� + } + + /// <summary> + /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇� + /// </summary> + /// <param name="inputs"></param> + /// <returns></returns> + private async Task CheckExisitForImport(List<MesPushPackageCode> inputs) + { + if (inputs?.Count <= 0) + { + throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖"); + } + //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� + + + + + + + + + //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� + + + + } + #endregion + +} + diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/SysAuthService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/SysAuthService.cs index 7df3874..f163b10 100644 --- a/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/SysAuthService.cs +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Core/Service/Auth/SysAuthService.cs @@ -69,12 +69,12 @@ throw Oops.Oh(ErrorCodeEnum.D1027); // 鏄惁寮�鍚獙璇佺爜 - if (await _sysConfigService.GetConfigValue<bool>(CommonConst.SysCaptcha)) - { - // 鍒ゆ柇楠岃瘉鐮� - if (!_captcha.Validate(input.CodeId.ToString(), input.Code)) - throw Oops.Oh(ErrorCodeEnum.D0008); - } + //if (await _sysConfigService.GetConfigValue<bool>(CommonConst.SysCaptcha)) + //{ + // // 鍒ゆ柇楠岃瘉鐮� + // if (!_captcha.Validate(input.CodeId.ToString(), input.Code)) + // throw Oops.Oh(ErrorCodeEnum.D0008); + //} // 璐﹀彿鏄惁瀛樺湪 var user = await _sysUserRep.AsQueryable().Includes(t => t.SysOrg).ClearFilter().FirstAsync(u => u.Account.Equals(input.Account)); diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\216\250\351\200\201mes\345\214\205\350\243\205\345\217\267\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\216\250\351\200\201mes\345\214\205\350\243\205\345\217\267\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" new file mode 100644 index 0000000..89c9d16 --- /dev/null +++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\216\250\351\200\201mes\345\214\205\350\243\205\345\217\267\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" Binary files differ -- Gitblit v1.9.3