From 1ae8669338989e827bd38237b7322306332e3b29 Mon Sep 17 00:00:00 2001 From: schangxiang@126.com <schangxiang@126.com> Date: 周四, 21 11月 2024 16:55:25 +0800 Subject: [PATCH] 2 --- LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/Mes_BatchOrderUPI_New/Dto/Mes_BatchOrderUPI_NewOutput.cs | 170 +++++ LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/mes_BatchOrderUPI_New.ts | 78 ++ LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mes_BatchOrderUPI_New/index.vue | 446 +++++++++++++ LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/Mes_BatchOrderUPI_New/Dto/Mes_BatchOrderUPI_NewInput.cs | 393 +++++++++++ LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mes_BatchOrderUPI_New/component/editDialog.vue | 322 +++++++++ LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/Mes_BatchOrderUPI_New/Mes_BatchOrderUPI_NewService.cs | 561 +++++++++++++++++ LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/批次数据导入模板.xlsx | 0 7 files changed, 1,970 insertions(+), 0 deletions(-) diff --git a/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/mes_BatchOrderUPI_New.ts b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/mes_BatchOrderUPI_New.ts new file mode 100644 index 0000000..88f458a --- /dev/null +++ b/LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/mes_BatchOrderUPI_New.ts @@ -0,0 +1,78 @@ +锘縤mport request from '/@/utils/request'; +enum Api { + AddMes_BatchOrderUPI_New = '/api/mes_BatchOrderUPI_New/add', + DeleteMes_BatchOrderUPI_New = '/api/mes_BatchOrderUPI_New/delete', + UpdateMes_BatchOrderUPI_New = '/api/mes_BatchOrderUPI_New/update', + PageMes_BatchOrderUPI_New = '/api/mes_BatchOrderUPI_New/page', + ListMes_BatchOrderUPI_New = '/api/mes_BatchOrderUPI_New/list', + DetailMes_BatchOrderUPI_New = '/api/mes_BatchOrderUPI_New/detail', + ImportExcelMes_BatchOrderUPI_New = '/api/mes_BatchOrderUPI_New/importExcel', + DownloadExcelTemplateMes_BatchOrderUPI_New = '/api/mes_BatchOrderUPI_New/downloadExcelTemplate', +} + +// 澧炲姞鎵规鏁版嵁 +export const addMes_BatchOrderUPI_New = (params?: any) => + request({ + url: Api.AddMes_BatchOrderUPI_New, + method: 'post', + data: params + }); + +// 鍒犻櫎鎵规鏁版嵁 +export const deleteMes_BatchOrderUPI_New = (params?: any) => + request({ + url: Api.DeleteMes_BatchOrderUPI_New, + method: 'post', + data: params + }); + +// 缂栬緫鎵规鏁版嵁 +export const updateMes_BatchOrderUPI_New = (params?: any) => + request({ + url: Api.UpdateMes_BatchOrderUPI_New, + method: 'post', + data: params + }); + +// 瀵煎叆鎵规鏁版嵁 +export const importExcelMes_BatchOrderUPI_New = (params?: any) => + request({ + url: Api.ImportExcelMes_BatchOrderUPI_New, + method: 'post', + data: params + }); + +// 涓嬭浇瀵煎叆鎵规鏁版嵁妯℃澘 +export const downloadExcelTemplateMes_BatchOrderUPI_New = (params?: any) => + request({ + url: Api.DownloadExcelTemplateMes_BatchOrderUPI_New, + method: 'get', + data: params, + responseType: 'blob' + }); + + +// 鍒嗛〉鏌ヨ鎵规鏁版嵁 +export const pageMes_BatchOrderUPI_New = (params?: any) => + request({ + url: Api.PageMes_BatchOrderUPI_New, + method: 'post', + data: params + }); + +// 涓嶅垎椤垫煡璇㈡壒娆℃暟鎹� +export const listMes_BatchOrderUPI_New = (params?: any) => + request({ + url: Api.ListMes_BatchOrderUPI_New, + method: 'get', + data: params + }); + +// 璇︽儏鎵规鏁版嵁 +export const detailMes_BatchOrderUPI_New = (id: any) => + request({ + url: Api.DetailMes_BatchOrderUPI_New, + method: 'get', + data: { id } + }); + diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mes_BatchOrderUPI_New/component/editDialog.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mes_BatchOrderUPI_New/component/editDialog.vue new file mode 100644 index 0000000..3393d9a --- /dev/null +++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mes_BatchOrderUPI_New/component/editDialog.vue @@ -0,0 +1,322 @@ +锘�<template> + <div class="mes_BatchOrderUPI_New-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="areaCode"> + <el-select clearable v-model="ruleForm.areaCode" placeholder="璇烽�夋嫨鎵�鍦ㄥ尯鍩�"> + <el-option v-for="(item,index) in getEnumAreaCodeData" :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="upiStatus"> + <el-select clearable v-model="ruleForm.upiStatus" placeholder="璇烽�夋嫨鏉挎枡鐘舵��"> + <el-option v-for="(item,index) in getEnumUpiStatusData" :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="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="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="detailName"> + <el-input v-model="ruleForm.detailName" placeholder="璇疯緭鍏ラ儴浠跺悕绉�" maxlength="50" show-word-limit clearable /> + + </el-form-item> + + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> + <el-form-item label="闀�" prop="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="matgrid"> + <el-input v-model="ruleForm.matgrid" 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="isEB"> + <el-input-number v-model="ruleForm.isEB" 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="dRNum"> + <el-input-number v-model="ruleForm.dRNum" 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="isPA"> + <el-input-number v-model="ruleForm.isPA" 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="materialIndeX"> + <el-input-number v-model="ruleForm.materialIndeX" 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="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="鍖呰X鍧愭爣" prop="machineXCenter"> + <el-input v-model="ruleForm.machineXCenter" 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="鍖呰Y鍧愭爣" prop="machineYCenter"> + <el-input v-model="ruleForm.machineYCenter" 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="鍖呰Z鍧愭爣" prop="machineZCenter"> + <el-input v-model="ruleForm.machineZCenter" 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="sequence"> + <el-input-number v-model="ruleForm.sequence" 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="shelf"> + <el-input-number v-model="ruleForm.shelf" 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="rotation"> + <el-input v-model="ruleForm.rotation" 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="info1"> + <el-input v-model="ruleForm.info1" 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="info2"> + <el-input v-model="ruleForm.info2" 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="info3"> + <el-input v-model="ruleForm.info3" placeholder="璇疯緭鍏ョ焊绠遍珮" maxlength="53" 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 { addMes_BatchOrderUPI_New, updateMes_BatchOrderUPI_New, detailMes_BatchOrderUPI_New } from "/@/api/main/WmsOrder/mes_BatchOrderUPI_New"; + import { getAPI } from '/@/utils/axios-utils'; + import { SysEnumApi } from '/@/api-services/api'; + + const getEnumAreaCodeData = ref<any>([]); + const getEnumUpiStatusData = 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>({ + upiStatus: [{required: true, message: '璇烽�夋嫨鏉挎枡鐘舵�侊紒', trigger: 'change',},], + planNo: [{required: true, message: '璇疯緭鍏ユ壒娆″彿锛�', trigger: 'blur',},], + orderId: [{required: true, message: '璇疯緭鍏ヨ鍗曞彿锛�', trigger: 'blur',},], + uPI: [{required: true, message: '璇疯緭鍏ラ儴浠舵潯鐮侊紒', trigger: 'blur',},], + detailName: [{required: true, message: '璇疯緭鍏ラ儴浠跺悕绉帮紒', trigger: 'blur',},], + length: [{required: true, message: '璇疯緭鍏ラ暱锛�', trigger: 'blur',},], + width: [{required: true, message: '璇疯緭鍏ュ锛�', trigger: 'blur',},], + thk: [{required: true, message: '璇疯緭鍏ュ帤锛�', trigger: 'blur',},], + packageCode: [{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 detailMes_BatchOrderUPI_New(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 addMes_BatchOrderUPI_New(values); + } else { + title='缂栬緫'; + ret = await updateMes_BatchOrderUPI_New(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 () => { + getEnumAreaCodeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AreaCodeEnum')).data.result ?? []; + getEnumUpiStatusData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('UpiStatusEnum')).data.result ?? []; + }); + + //灏嗗睘鎬ф垨鑰呭嚱鏁版毚闇茬粰鐖剁粍浠� + defineExpose({ openDialog }); +</script> + + + + diff --git a/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mes_BatchOrderUPI_New/index.vue b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mes_BatchOrderUPI_New/index.vue new file mode 100644 index 0000000..42ad58c --- /dev/null +++ b/LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/mes_BatchOrderUPI_New/index.vue @@ -0,0 +1,446 @@ +锘�<template> + <div class="mes_BatchOrderUPI_New-container"> + <el-card shadow="hover" :body-style="{ paddingBottom: '0' }"> + <el-form :model="queryParamsMes_BatchOrderUPI_New" 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="queryParamsMes_BatchOrderUPI_New.searchKey" clearable="" placeholder="鎵规鍙�,璁㈠崟鍙�,閮ㄤ欢鏉$爜,閮ㄤ欢鍚嶇О,閮ㄤ欢绾圭悊,鍖呰鍙�,鍒涘缓浜�,淇敼浜�"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="鎵�鍦ㄥ尯鍩�"> + <el-select clearable="" v-model="queryParamsMes_BatchOrderUPI_New.areaCode" placeholder="璇烽�夋嫨鎵�鍦ㄥ尯鍩�"> + <el-option v-for="(item,index) in getEnumAreaCodeData_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="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="鏉挎枡鐘舵��"> + <el-select clearable="" v-model="queryParamsMes_BatchOrderUPI_New.upiStatus" placeholder="璇烽�夋嫨鏉挎枡鐘舵��"> + <el-option v-for="(item,index) in getEnumUpiStatusData_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="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="鎵规鍙�"> + <el-input v-model="queryParamsMes_BatchOrderUPI_New.planNo" clearable="" placeholder="璇疯緭鍏ユ壒娆″彿"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="璁㈠崟鍙�"> + <el-input v-model="queryParamsMes_BatchOrderUPI_New.orderId" clearable="" placeholder="璇疯緭鍏ヨ鍗曞彿"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="閮ㄤ欢鏉$爜"> + <el-input v-model="queryParamsMes_BatchOrderUPI_New.uPI" clearable="" placeholder="璇疯緭鍏ラ儴浠舵潯鐮�"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="閮ㄤ欢鍚嶇О"> + <el-input v-model="queryParamsMes_BatchOrderUPI_New.detailName" clearable="" placeholder="璇疯緭鍏ラ儴浠跺悕绉�"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="闀�"> + <el-input v-model="queryParamsMes_BatchOrderUPI_New.length" clearable="" placeholder="璇疯緭鍏ラ暱"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="瀹�"> + <el-input v-model="queryParamsMes_BatchOrderUPI_New.width" clearable="" placeholder="璇疯緭鍏ュ"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="鍘�"> + <el-input v-model="queryParamsMes_BatchOrderUPI_New.thk" clearable="" placeholder="璇疯緭鍏ュ帤"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="閮ㄤ欢绾圭悊"> + <el-input v-model="queryParamsMes_BatchOrderUPI_New.matgrid" clearable="" placeholder="璇疯緭鍏ラ儴浠剁汗鐞�"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="鏄惁灏佽竟"> + <el-input-number v-model="queryParamsMes_BatchOrderUPI_New.isEB" clearable="" placeholder="璇疯緭鍏ユ槸鍚﹀皝杈�"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="鎵撳瓟璁惧缂栧彿"> + <el-input-number v-model="queryParamsMes_BatchOrderUPI_New.dRNum" clearable="" placeholder="璇疯緭鍏ユ墦瀛旇澶囩紪鍙�"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="鏄惁浼樺寲鍖呰"> + <el-input-number v-model="queryParamsMes_BatchOrderUPI_New.isPA" clearable="" placeholder="璇疯緭鍏ユ槸鍚︿紭鍖栧寘瑁�"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="閿垏鍥惧彿"> + <el-input-number v-model="queryParamsMes_BatchOrderUPI_New.materialIndeX" clearable="" placeholder="璇疯緭鍏ラ敮鍒囧浘鍙�"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="鍖呰鍙�"> + <el-input v-model="queryParamsMes_BatchOrderUPI_New.packageCode" clearable="" placeholder="璇疯緭鍏ュ寘瑁呭彿"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="鍖呰X鍧愭爣"> + <el-input v-model="queryParamsMes_BatchOrderUPI_New.machineXCenter" clearable="" placeholder="璇疯緭鍏ュ寘瑁匵鍧愭爣"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="鍖呰Y鍧愭爣"> + <el-input v-model="queryParamsMes_BatchOrderUPI_New.machineYCenter" clearable="" placeholder="璇疯緭鍏ュ寘瑁匶鍧愭爣"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="鍖呰Z鍧愭爣"> + <el-input v-model="queryParamsMes_BatchOrderUPI_New.machineZCenter" clearable="" placeholder="璇疯緭鍏ュ寘瑁匷鍧愭爣"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="灞傛暟"> + <el-input-number v-model="queryParamsMes_BatchOrderUPI_New.sequence" clearable="" placeholder="璇疯緭鍏ュ眰鏁�"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="娆″簭"> + <el-input-number v-model="queryParamsMes_BatchOrderUPI_New.shelf" clearable="" placeholder="璇疯緭鍏ユ搴�"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="杞悜瑙掑害"> + <el-input v-model="queryParamsMes_BatchOrderUPI_New.rotation" clearable="" placeholder="璇疯緭鍏ヨ浆鍚戣搴�"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="绾哥闀�"> + <el-input v-model="queryParamsMes_BatchOrderUPI_New.info1" clearable="" placeholder="璇疯緭鍏ョ焊绠遍暱"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="绾哥瀹�"> + <el-input v-model="queryParamsMes_BatchOrderUPI_New.info2" clearable="" placeholder="璇疯緭鍏ョ焊绠卞"/> + + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New"> + <el-form-item label="绾哥楂�"> + <el-input v-model="queryParamsMes_BatchOrderUPI_New.info3" 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="handleQueryMes_BatchOrderUPI_New" v-auth="'mes_BatchOrderUPI_New:page'" :disabled="disabled_btnMes_BatchOrderUPI_New"> 鏌ヨ </el-button> + <el-button icon="ele-Refresh" @click="resetMes_BatchOrderUPI_New"> 閲嶇疆 </el-button> + <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIMes_BatchOrderUPI_New" v-if="!showAdvanceQueryUIMes_BatchOrderUPI_New" style="margin-left:5px;"> 楂樼骇鏌ヨ </el-button> + <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIMes_BatchOrderUPI_New" v-if="showAdvanceQueryUIMes_BatchOrderUPI_New" style="margin-left:5px;"> 闅愯棌 </el-button> + <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddMes_BatchOrderUPI_New" v-auth="'mes_BatchOrderUPI_New:add'"> 鏂板 </el-button> + <el-button type="primary" style="margin-left:5px;" icon="ele-Upload" @click="openImportExcelMes_BatchOrderUPI_New" v-auth="'mes_BatchOrderUPI_New:importExcel'" > 瀵煎叆 </el-button> + <el-button type="primary" style="margin-left:5px;" icon="ele-Download" @click="handleExportExcelMes_BatchOrderUPI_New" v-auth="'mes_BatchOrderUPI_New: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="tableRefMes_BatchOrderUPI_New" + :data="tableDataMes_BatchOrderUPI_New" + style="width: 100%" + v-loading="loadingMes_BatchOrderUPI_New" + tooltip-effect="light" + row-key="id" + @sort-change="sortChangeMes_BatchOrderUPI_New" + border=""> + <el-table-column type="index" label="搴忓彿" width="55" align="center"/> + <el-table-column prop="areaCode" label="鎵�鍦ㄥ尯鍩�" show-overflow-tooltip="" > + <template #default="scope"> + <el-tag>{{ getEnumDesc(scope.row.areaCode, getEnumAreaCodeData_Index)}}</el-tag> + </template> + </el-table-column> + <el-table-column prop="upiStatus" label="鏉挎枡鐘舵��" show-overflow-tooltip="" > + <template #default="scope"> + <el-tag>{{ getEnumDesc(scope.row.upiStatus, getEnumUpiStatusData_Index)}}</el-tag> + </template> + </el-table-column> + <el-table-column prop="planNo" label="鎵规鍙�" show-overflow-tooltip="" /> + <el-table-column prop="orderId" label="璁㈠崟鍙�" show-overflow-tooltip="" /> + <el-table-column prop="uPI" label="閮ㄤ欢鏉$爜" show-overflow-tooltip="" /> + <el-table-column prop="detailName" 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="matgrid" label="閮ㄤ欢绾圭悊" show-overflow-tooltip="" /> + <el-table-column prop="isEB" label="鏄惁灏佽竟" show-overflow-tooltip="" /> + <el-table-column prop="dRNum" label="鎵撳瓟璁惧缂栧彿" show-overflow-tooltip="" /> + <el-table-column prop="isPA" label="鏄惁浼樺寲鍖呰" show-overflow-tooltip="" /> + <el-table-column prop="materialIndeX" label="閿垏鍥惧彿" show-overflow-tooltip="" /> + <el-table-column prop="packageCode" label="鍖呰鍙�" show-overflow-tooltip="" /> + <el-table-column prop="machineXCenter" label="鍖呰X鍧愭爣" show-overflow-tooltip="" /> + <el-table-column prop="machineYCenter" label="鍖呰Y鍧愭爣" show-overflow-tooltip="" /> + <el-table-column prop="machineZCenter" label="鍖呰Z鍧愭爣" show-overflow-tooltip="" /> + <el-table-column prop="sequence" label="灞傛暟" show-overflow-tooltip="" /> + <el-table-column prop="shelf" label="娆″簭" show-overflow-tooltip="" /> + <el-table-column prop="rotation" label="杞悜瑙掑害" show-overflow-tooltip="" /> + <el-table-column prop="info1" label="绾哥闀�" show-overflow-tooltip="" /> + <el-table-column prop="info2" label="绾哥瀹�" show-overflow-tooltip="" /> + <el-table-column prop="info3" 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 label="鎿嶄綔" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('mes_BatchOrderUPI_New:update') || auth('mes_BatchOrderUPI_New:delete')"> + <template #default="scope"> + <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditMes_BatchOrderUPI_New(scope.row)" v-auth="'mes_BatchOrderUPI_New:update'"> 缂栬緫 </el-button> + <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delMes_BatchOrderUPI_New(scope.row)" v-auth="'mes_BatchOrderUPI_New:delete'"> 鍒犻櫎 </el-button> + </template> + </el-table-column> + </el-table> + <el-pagination + v-model:currentPage="tableParamsMes_BatchOrderUPI_New.page" + v-model:page-size="tableParamsMes_BatchOrderUPI_New.pageSize" + :total="tableParamsMes_BatchOrderUPI_New.total" + :page-sizes="[10, 20, 50, 100, 200, 500]" + small="" + background="" + @size-change="handleSizeChangeMes_BatchOrderUPI_New" + @current-change="handleCurrentChangeMes_BatchOrderUPI_New" + layout="total, sizes, prev, pager, next, jumper" + /> + <printDialogMes_BatchOrderUPI_New + ref="printDialogRefMes_BatchOrderUPI_New" + :title="printMes_BatchOrderUPI_NewTitle" + @reloadTable="handleQueryMes_BatchOrderUPI_New" /> + <editDialogMes_BatchOrderUPI_New + ref="editDialogRefMes_BatchOrderUPI_New" + :title="editMes_BatchOrderUPI_NewTitle" + @reloadTable="handleQueryMes_BatchOrderUPI_New" + /> + <importExcelDialog + ref="importExcelDialogRefMes_BatchOrderUPI_New" + :title="importExcelTitleMes_BatchOrderUPI_New" + @parentUploadFun="handleImportExcelMes_BatchOrderUPI_New" + @parentDownFun="handleDownExcelMes_BatchOrderUPI_New" + /> + </el-card> + </div> +</template> + +<script lang="ts" setup="" name="mes_BatchOrderUPI_New"> + 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 printDialogMes_BatchOrderUPI_New from '/@/views/system/print/component/hiprint/preview.vue' + import editDialogMes_BatchOrderUPI_New from '/@/views/main/WmsOrder/mes_BatchOrderUPI_New/component/editDialog.vue' + import { pageMes_BatchOrderUPI_New, deleteMes_BatchOrderUPI_New,importExcelMes_BatchOrderUPI_New,downloadExcelTemplateMes_BatchOrderUPI_New } from '/@/api/main/WmsOrder/mes_BatchOrderUPI_New'; + import { getAPI } from '/@/utils/axios-utils'; + import { SysEnumApi } from '/@/api-services/api'; + import commonFunction from '/@/utils/commonFunction'; + + const getEnumAreaCodeData_Index = ref<any>([]); + const getEnumUpiStatusData_Index = ref<any>([]); + + const { getEnumDesc } = commonFunction(); + + /***************************************************[鎵规鏁版嵁鎿嶄綔]寮�濮�***************************************************/ + const showAdvanceQueryUIMes_BatchOrderUPI_New = ref(false); + const tableRefMes_BatchOrderUPI_New = ref(null); + const printDialogRefMes_BatchOrderUPI_New = ref(); + const editDialogRefMes_BatchOrderUPI_New = ref(); + const loadingMes_BatchOrderUPI_New = ref(false); + const disabled_btnMes_BatchOrderUPI_New = ref(false); + const tableDataMes_BatchOrderUPI_New = ref<any>([]); + const queryParamsMes_BatchOrderUPI_New = ref<any>({}); + const tableParamsMes_BatchOrderUPI_New = ref({ + page: 1, + pageSize: 10, + total: 0, + }); + + const printMes_BatchOrderUPI_NewTitle = ref(""); + const editMes_BatchOrderUPI_NewTitle = ref(""); + + // 鏀瑰彉楂樼骇鏌ヨ鐨勬帶浠舵樉绀虹姸鎬� + const changeAdvanceQueryUIMes_BatchOrderUPI_New = () => { + showAdvanceQueryUIMes_BatchOrderUPI_New.value = !showAdvanceQueryUIMes_BatchOrderUPI_New.value; + } + + // 鏌ヨ鎵规鏁版嵁 + const handleQueryMes_BatchOrderUPI_New = async () => { + loadingMes_BatchOrderUPI_New.value = true; + disabled_btnMes_BatchOrderUPI_New.value = true; + var res = await pageMes_BatchOrderUPI_New(Object.assign(queryParamsMes_BatchOrderUPI_New.value, tableParamsMes_BatchOrderUPI_New.value)); + if(res.data.type=="success"){ + tableDataMes_BatchOrderUPI_New.value = res.data.result?.items ?? []; + tableParamsMes_BatchOrderUPI_New.value.total = res.data.result?.total; + } + loadingMes_BatchOrderUPI_New.value = false; + disabled_btnMes_BatchOrderUPI_New.value = false; + }; + + // 閲嶇疆鎵规鏁版嵁鏌ヨ + const resetMes_BatchOrderUPI_New = async () => { + queryParamsMes_BatchOrderUPI_New.value = {} + }; + + // 鎵规鏁版嵁鍒楁帓搴� + const sortChangeMes_BatchOrderUPI_New = async (column: any) => { + queryParamsMes_BatchOrderUPI_New.value.field = column.prop; + queryParamsMes_BatchOrderUPI_New.value.order = column.order; + await handleQueryMes_BatchOrderUPI_New(); + }; + + // 鎵撳紑鏂板鎵规鏁版嵁椤甸潰 + const openAddMes_BatchOrderUPI_New = () => { + editMes_BatchOrderUPI_NewTitle.value = '娣诲姞鎵规鏁版嵁'; + editDialogRefMes_BatchOrderUPI_New.value.openDialog(1,{}); + }; + + // 鎵撳紑鎵撳嵃鎵规鏁版嵁椤甸潰 + const openPrintMes_BatchOrderUPI_New = async (row: any) => { + printMes_BatchOrderUPI_NewTitle.value = '鎵撳嵃鎵规鏁版嵁'; + } + + // 鎵撳紑缂栬緫鎵规鏁版嵁椤甸潰 + const openEditMes_BatchOrderUPI_New = (row: any) => { + editMes_BatchOrderUPI_NewTitle.value = '缂栬緫鎵规鏁版嵁'; + editDialogRefMes_BatchOrderUPI_New.value.openDialog(2,row); + }; + + // 鍒犻櫎鎵规鏁版嵁 + const delMes_BatchOrderUPI_New = (row: any) => { + ElMessageBox.confirm(`纭畾瑕佸垹闄ゅ悧?`, "鎻愮ず", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning", + }) + .then(async () => { + loadingMes_BatchOrderUPI_New.value = true; + var ret = await deleteMes_BatchOrderUPI_New(row); + if(ret.data.type=="success"){ + ElMessage.success("鍒犻櫎鎴愬姛"); + } + loadingMes_BatchOrderUPI_New.value = false; + handleQueryMes_BatchOrderUPI_New(); + }) + .catch(() => {}); + }; + + // 鏀瑰彉鎵规鏁版嵁椤甸潰瀹归噺 + const handleSizeChangeMes_BatchOrderUPI_New = (val: number) => { + tableParamsMes_BatchOrderUPI_New.value.pageSize = val; + handleQueryMes_BatchOrderUPI_New(); + }; + + // 鏀瑰彉鎵规鏁版嵁椤电爜搴忓彿 + const handleCurrentChangeMes_BatchOrderUPI_New = (val: number) => { + tableParamsMes_BatchOrderUPI_New.value.page = val; + handleQueryMes_BatchOrderUPI_New(); + }; + +/***************************************************[鎵规鏁版嵁鎿嶄綔]缁撴潫***************************************************/ +/***************************************************[鎵规鏁版嵁瀵煎叆]寮�濮�***************************************************/ +const importExcelTitleMes_BatchOrderUPI_New = ref(""); +const importExcelDialogRefMes_BatchOrderUPI_New = ref(); +//鎵撳紑瀵煎叆鐣岄潰 +const openImportExcelMes_BatchOrderUPI_New = () => { + importExcelTitleMes_BatchOrderUPI_New.value = '瀵煎叆鎵规鏁版嵁'; + importExcelDialogRefMes_BatchOrderUPI_New.value.openDialog({}); +}; +//瀵煎叆鏁版嵁 +const handleImportExcelMes_BatchOrderUPI_New = async (formData:Blob) => { + var result = await importExcelMes_BatchOrderUPI_New(formData); + importExcelDialogRefMes_BatchOrderUPI_New.value.callBackUploadFun(result.data);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶 + if(result.data.type=="success"){ + handleQueryMes_BatchOrderUPI_New(); + } +}; +//涓嬭浇瀵煎叆妯℃澘 +const handleDownExcelMes_BatchOrderUPI_New = async () => { + var result = await downloadExcelTemplateMes_BatchOrderUPI_New(); + importExcelDialogRefMes_BatchOrderUPI_New.value.callBackDownFun(result);//鍥炶皟瀵煎叆瀛愰〉闈㈢殑鏂规硶 +}; +/***************************************************[鎵规鏁版嵁瀵煎叆]缁撴潫***************************************************/ +/***************************************************[鎵规鏁版嵁瀵煎嚭]寮�濮�***************************************************/ +//瀹氫箟褰撳墠椤甸潰鐨勬柟娉曠粍 +const functionMapMes_BatchOrderUPI_New = { + getEnumAreaCodeData_Index, + getEnumUpiStatusData_Index, + formatDate_T_Date, + formatDate_T_Time +}; +//鐐瑰嚮瀵煎嚭鎸夐挳 +const handleExportExcelMes_BatchOrderUPI_New = async (formData:Blob) => { + loadingMes_BatchOrderUPI_New.value = true; + disabled_btnMes_BatchOrderUPI_New.value = true; + var new_tableParamsMes_BatchOrderUPI_New=JSON.parse(JSON.stringify(tableParamsMes_BatchOrderUPI_New.value)); + new_tableParamsMes_BatchOrderUPI_New.page = 1; + new_tableParamsMes_BatchOrderUPI_New.pageSize = 100000; + var res = await pageMes_BatchOrderUPI_New(Object.assign(queryParamsMes_BatchOrderUPI_New.value, new_tableParamsMes_BatchOrderUPI_New)); + if(res.data.type=="success"){ + exportExcelMes_BatchOrderUPI_New(res.data.result?.items ?? []); + } + loadingMes_BatchOrderUPI_New.value = false; + disabled_btnMes_BatchOrderUPI_New.value = false; +}; +//瀵煎嚭 +const exportExcelMes_BatchOrderUPI_New = async (exportDataList:Array) => { + exportPageExcel(exportDataList, tableRefMes_BatchOrderUPI_New,"鎵规鏁版嵁",functionMapMes_BatchOrderUPI_New); +}; +/***************************************************[鎵规鏁版嵁瀵煎嚭]缁撴潫***************************************************/ + // 鎵规鏁版嵁椤甸潰鍔犺浇鏃� + onMounted(async () => { + getEnumAreaCodeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('AreaCodeEnum')).data.result ?? []; + getEnumUpiStatusData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('UpiStatusEnum')).data.result ?? []; + }); + + handleQueryMes_BatchOrderUPI_New(); +</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/WmsOrder/Mes_BatchOrderUPI_New/Dto/Mes_BatchOrderUPI_NewInput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/Mes_BatchOrderUPI_New/Dto/Mes_BatchOrderUPI_NewInput.cs new file mode 100644 index 0000000..7f0b613 --- /dev/null +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/Mes_BatchOrderUPI_New/Dto/Mes_BatchOrderUPI_NewInput.cs @@ -0,0 +1,393 @@ +锘縰sing Admin.NET.Core; +using System.ComponentModel.DataAnnotations; + +namespace Admin.NET.Application; + + /// <summary> + /// 鎵规鏁版嵁鍩虹杈撳叆鍙傛暟 + /// </summary> + public class Mes_BatchOrderUPI_NewBaseInput + { + /// <summary> + /// 鎵�鍦ㄥ尯鍩� + /// </summary> + public virtual Admin.NET.Application.AreaCodeEnum? AreaCode { get; set; } + + /// <summary> + /// 鏉挎枡鐘舵�� + /// </summary> + public virtual Admin.NET.Application.UpiStatusEnum UpiStatus { get; set; } + + /// <summary> + /// 鎵规鍙� + /// </summary> + public virtual string PlanNo { get; set; } + + /// <summary> + /// 璁㈠崟鍙� + /// </summary> + public virtual string OrderId { get; set; } + + /// <summary> + /// 閮ㄤ欢鏉$爜 + /// </summary> + public virtual string UPI { get; set; } + + /// <summary> + /// 閮ㄤ欢鍚嶇О + /// </summary> + public virtual string DetailName { 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 Matgrid { get; set; } + + /// <summary> + /// 鏄惁灏佽竟 + /// </summary> + public virtual int? IsEB { get; set; } + + /// <summary> + /// 鎵撳瓟璁惧缂栧彿 + /// </summary> + public virtual int? DRNum { get; set; } + + /// <summary> + /// 鏄惁浼樺寲鍖呰 + /// </summary> + public virtual int? IsPA { get; set; } + + /// <summary> + /// 閿垏鍥惧彿 + /// </summary> + public virtual int? MaterialIndeX { get; set; } + + /// <summary> + /// 鍖呰鍙� + /// </summary> + public virtual string PackageCode { get; set; } + + /// <summary> + /// 鍖呰X鍧愭爣 + /// </summary> + public virtual float? MachineXCenter { get; set; } + + /// <summary> + /// 鍖呰Y鍧愭爣 + /// </summary> + public virtual float? MachineYCenter { get; set; } + + /// <summary> + /// 鍖呰Z鍧愭爣 + /// </summary> + public virtual float? MachineZCenter { get; set; } + + /// <summary> + /// 灞傛暟 + /// </summary> + public virtual int? Sequence { get; set; } + + /// <summary> + /// 娆″簭 + /// </summary> + public virtual int? Shelf { get; set; } + + /// <summary> + /// 杞悜瑙掑害 + /// </summary> + public virtual float? Rotation { get; set; } + + /// <summary> + /// 绾哥闀� + /// </summary> + public virtual float? Info1 { get; set; } + + /// <summary> + /// 绾哥瀹� + /// </summary> + public virtual float? Info2 { get; set; } + + /// <summary> + /// 绾哥楂� + /// </summary> + public virtual float? Info3 { 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 Mes_BatchOrderUPI_NewInput : BasePageInput + { + /// <summary> + /// 鍏抽敭瀛楁煡璇� + /// </summary> + public string? SearchKey { get; set; } + + /// <summary> + /// 鎵�鍦ㄥ尯鍩� + /// </summary> + public Admin.NET.Application.AreaCodeEnum? AreaCode { get; set; } + + /// <summary> + /// 鏉挎枡鐘舵�� + /// </summary> + public Admin.NET.Application.UpiStatusEnum? UpiStatus { get; set; } + + /// <summary> + /// 鎵规鍙� + /// </summary> + public string? PlanNo { get; set; } + + /// <summary> + /// 璁㈠崟鍙� + /// </summary> + public string? OrderId { get; set; } + + /// <summary> + /// 閮ㄤ欢鏉$爜 + /// </summary> + public string? UPI { get; set; } + + /// <summary> + /// 閮ㄤ欢鍚嶇О + /// </summary> + public string? DetailName { 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? Matgrid { get; set; } + + /// <summary> + /// 鏄惁灏佽竟 + /// </summary> + public int? IsEB { get; set; } + + /// <summary> + /// 鎵撳瓟璁惧缂栧彿 + /// </summary> + public int? DRNum { get; set; } + + /// <summary> + /// 鏄惁浼樺寲鍖呰 + /// </summary> + public int? IsPA { get; set; } + + /// <summary> + /// 閿垏鍥惧彿 + /// </summary> + public int? MaterialIndeX { get; set; } + + /// <summary> + /// 鍖呰鍙� + /// </summary> + public string? PackageCode { get; set; } + + /// <summary> + /// 鍖呰X鍧愭爣 + /// </summary> + public float? MachineXCenter { get; set; } + + /// <summary> + /// 鍖呰Y鍧愭爣 + /// </summary> + public float? MachineYCenter { get; set; } + + /// <summary> + /// 鍖呰Z鍧愭爣 + /// </summary> + public float? MachineZCenter { get; set; } + + /// <summary> + /// 灞傛暟 + /// </summary> + public int? Sequence { get; set; } + + /// <summary> + /// 娆″簭 + /// </summary> + public int? Shelf { get; set; } + + /// <summary> + /// 杞悜瑙掑害 + /// </summary> + public float? Rotation { get; set; } + + /// <summary> + /// 绾哥闀� + /// </summary> + public float? Info1 { get; set; } + + /// <summary> + /// 绾哥瀹� + /// </summary> + public float? Info2 { get; set; } + + /// <summary> + /// 绾哥楂� + /// </summary> + public float? Info3 { get; set; } + + } + + /// <summary> + /// 鎵规鏁版嵁澧炲姞杈撳叆鍙傛暟 + /// </summary> + public class AddMes_BatchOrderUPI_NewInput : Mes_BatchOrderUPI_NewBaseInput + { + /// <summary> + /// 鏉挎枡鐘舵�� + /// </summary> + [Required(ErrorMessage = "鏉挎枡鐘舵�佷笉鑳戒负绌�")] + public override Admin.NET.Application.UpiStatusEnum UpiStatus { 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 UPI { get; set; } + + /// <summary> + /// 閮ㄤ欢鍚嶇О + /// </summary> + [Required(ErrorMessage = "閮ㄤ欢鍚嶇О涓嶈兘涓虹┖")] + public override string DetailName { 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 PackageCode { get; set; } + + /// <summary> + /// 杞垹闄� + /// </summary> + [Required(ErrorMessage = "杞垹闄や笉鑳戒负绌�")] + public override bool IsDelete { get; set; } + + } + + /// <summary> + /// 鎵规鏁版嵁鍒犻櫎杈撳叆鍙傛暟 + /// </summary> + public class DeleteMes_BatchOrderUPI_NewInput : BaseIdInput + { + } + + /// <summary> + /// 鎵规鏁版嵁鏇存柊杈撳叆鍙傛暟 + /// </summary> + public class UpdateMes_BatchOrderUPI_NewInput : AddMes_BatchOrderUPI_NewInput + { + /// <summary> + /// 涓婚敭Id + /// </summary> + [Required(ErrorMessage = "涓婚敭Id涓嶈兘涓虹┖")] + public long Id { get; set; } + + } + + /// <summary> + /// 鎵规鏁版嵁涓婚敭鏌ヨ杈撳叆鍙傛暟 + /// </summary> + public class QueryByIdMes_BatchOrderUPI_NewInput : DeleteMes_BatchOrderUPI_NewInput + { + + } diff --git a/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/Mes_BatchOrderUPI_New/Dto/Mes_BatchOrderUPI_NewOutput.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/Mes_BatchOrderUPI_New/Dto/Mes_BatchOrderUPI_NewOutput.cs new file mode 100644 index 0000000..4f77f0e --- /dev/null +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/Mes_BatchOrderUPI_New/Dto/Mes_BatchOrderUPI_NewOutput.cs @@ -0,0 +1,170 @@ +锘縩amespace Admin.NET.Application; + +/// <summary> +/// 鎵规鏁版嵁杈撳嚭鍙傛暟 +/// </summary> +public class Mes_BatchOrderUPI_NewOutput +{ + /// <summary> + /// 涓婚敭Id + /// </summary> + public long? Id { get; set; } + + /// <summary> + /// 鎵�鍦ㄥ尯鍩� + /// </summary> + public Admin.NET.Application.AreaCodeEnum? AreaCode { get; set; } + + /// <summary> + /// 鏉挎枡鐘舵�� + /// </summary> + public Admin.NET.Application.UpiStatusEnum UpiStatus { get; set; } + + /// <summary> + /// 鎵规鍙� + /// </summary> + public string PlanNo { get; set; } + + /// <summary> + /// 璁㈠崟鍙� + /// </summary> + public string OrderId { get; set; } + + /// <summary> + /// 閮ㄤ欢鏉$爜 + /// </summary> + public string UPI { get; set; } + + /// <summary> + /// 閮ㄤ欢鍚嶇О + /// </summary> + public string DetailName { 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 Matgrid { get; set; } + + /// <summary> + /// 鏄惁灏佽竟 + /// </summary> + public int? IsEB { get; set; } + + /// <summary> + /// 鎵撳瓟璁惧缂栧彿 + /// </summary> + public int? DRNum { get; set; } + + /// <summary> + /// 鏄惁浼樺寲鍖呰 + /// </summary> + public int? IsPA { get; set; } + + /// <summary> + /// 閿垏鍥惧彿 + /// </summary> + public int? MaterialIndeX { get; set; } + + /// <summary> + /// 鍖呰鍙� + /// </summary> + public string PackageCode { get; set; } + + /// <summary> + /// 鍖呰X鍧愭爣 + /// </summary> + public float? MachineXCenter { get; set; } + + /// <summary> + /// 鍖呰Y鍧愭爣 + /// </summary> + public float? MachineYCenter { get; set; } + + /// <summary> + /// 鍖呰Z鍧愭爣 + /// </summary> + public float? MachineZCenter { get; set; } + + /// <summary> + /// 灞傛暟 + /// </summary> + public int? Sequence { get; set; } + + /// <summary> + /// 娆″簭 + /// </summary> + public int? Shelf { get; set; } + + /// <summary> + /// 杞悜瑙掑害 + /// </summary> + public float? Rotation { get; set; } + + /// <summary> + /// 绾哥闀� + /// </summary> + public float? Info1 { get; set; } + + /// <summary> + /// 绾哥瀹� + /// </summary> + public float? Info2 { get; set; } + + /// <summary> + /// 绾哥楂� + /// </summary> + public float? Info3 { 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/WmsOrder/Mes_BatchOrderUPI_New/Mes_BatchOrderUPI_NewService.cs b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/Mes_BatchOrderUPI_New/Mes_BatchOrderUPI_NewService.cs new file mode 100644 index 0000000..b366b3e --- /dev/null +++ b/LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/Mes_BatchOrderUPI_New/Mes_BatchOrderUPI_NewService.cs @@ -0,0 +1,561 @@ +锘縰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.WmsOrderGroupName, Order = 100)] +public class Mes_BatchOrderUPI_NewService : IDynamicApiController, ITransient +{ + private readonly SqlSugarRepository<Mes_BatchOrderUPI_New> _rep; + public Mes_BatchOrderUPI_NewService(SqlSugarRepository<Mes_BatchOrderUPI_New> rep) + { + _rep = rep; + } + + /// <summary> + /// 鍒嗛〉鏌ヨ鎵规鏁版嵁 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [ApiDescriptionSettings(Name = "Page")] + [Description("Mes_BatchOrderUPI_New/Page")] + public async Task<SqlSugarPagedList<Mes_BatchOrderUPI_NewOutput>> Page(Mes_BatchOrderUPI_NewInput 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("Mes_BatchOrderUPI_New/List")] + public async Task<List<Mes_BatchOrderUPI_NewOutput>> List([FromQuery] Mes_BatchOrderUPI_NewInput input) + { + var query = CommonPageFilter(input); + return await query.OrderBuilder(input, "", "Id").Select<Mes_BatchOrderUPI_NewOutput>().ToListAsync(); + } + + /// <summary> + /// 澧炲姞鎵规鏁版嵁 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [ApiDescriptionSettings(Name = "Add")] + [Description("Mes_BatchOrderUPI_New/Add")] + public async Task<long> Add(AddMes_BatchOrderUPI_NewInput input) + { + var entity = input.Adapt<Mes_BatchOrderUPI_New>(); + + //閲嶅鎬ч獙璇� + await CheckExist(entity); + + await _rep.InsertAsync(entity); + return entity.Id; + } + + /// <summary> + /// 鍒犻櫎鎵规鏁版嵁 + /// </summary> + /// <param name="input"></param> + /// <returns></returns> + [HttpPost] + [ApiDescriptionSettings(Name = "Delete")] + [Description("Mes_BatchOrderUPI_New/Delete")] + public async Task Delete(DeleteMes_BatchOrderUPI_NewInput 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("Mes_BatchOrderUPI_New/Update")] + public async Task Update(UpdateMes_BatchOrderUPI_NewInput input) + { + var entity = input.Adapt<Mes_BatchOrderUPI_New>(); + + //閲嶅鎬ч獙璇� + 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("Mes_BatchOrderUPI_New/Detail")] + public async Task<Mes_BatchOrderUPI_New> Detail([FromQuery] QueryByIdMes_BatchOrderUPI_NewInput 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("Mes_BatchOrderUPI_New/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<Mes_BatchOrderUPI_New>> CommonImport(DataTable dataTable, int dataStartLine) + { + var details = new List<Mes_BatchOrderUPI_New>(); + int index = dataStartLine;//妯$増鍒楀悕寮�濮嬭 + foreach (System.Data.DataRow row in dataTable.Rows) + { + index++; + //瀵煎叆妯$増瀹氬埗鍖栦唬鐮侊紙鏇挎崲妯$増浣跨敤锛� + + var addItem = new Mes_BatchOrderUPI_New(); + #region 瀹氫箟鍙橀噺 + var _AreaCode = "";//鎵�鍦ㄥ尯鍩� + var _UpiStatus = "";//鏉挎枡鐘舵�� + var _PlanNo = "";//鎵规鍙� + var _OrderId = "";//璁㈠崟鍙� + var _UPI = "";//閮ㄤ欢鏉$爜 + var _DetailName = "";//閮ㄤ欢鍚嶇О + var _Length = "";//闀� + var _Width = "";//瀹� + var _Thk = "";//鍘� + var _Matgrid = "";//閮ㄤ欢绾圭悊 + var _IsEB = "";//鏄惁灏佽竟 + var _DRNum = "";//鎵撳瓟璁惧缂栧彿 + var _IsPA = "";//鏄惁浼樺寲鍖呰 + var _MaterialIndeX = "";//閿垏鍥惧彿 + var _PackageCode = "";//鍖呰鍙� + var _MachineXCenter = "";//鍖呰X鍧愭爣 + var _MachineYCenter = "";//鍖呰Y鍧愭爣 + var _MachineZCenter = "";//鍖呰Z鍧愭爣 + var _Sequence = "";//灞傛暟 + var _Shelf = "";//娆″簭 + var _Rotation = "";//杞悜瑙掑害 + var _Info1 = "";//绾哥闀� + var _Info2 = "";//绾哥瀹� + var _Info3 = "";//绾哥楂� + #endregion + + + #region 鍙栧�� + _AreaCode = row["鎵�鍦ㄥ尯鍩�"]?.ToString(); + _UpiStatus = row["鏉挎枡鐘舵��"]?.ToString(); + _PlanNo = row["鎵规鍙�"]?.ToString(); + _OrderId = row["璁㈠崟鍙�"]?.ToString(); + _UPI = row["閮ㄤ欢鏉$爜"]?.ToString(); + _DetailName = row["閮ㄤ欢鍚嶇О"]?.ToString(); + _Length = row["闀�"]?.ToString(); + _Width = row["瀹�"]?.ToString(); + _Thk = row["鍘�"]?.ToString(); + _Matgrid = row["閮ㄤ欢绾圭悊"]?.ToString(); + _IsEB = row["鏄惁灏佽竟"]?.ToString(); + _DRNum = row["鎵撳瓟璁惧缂栧彿"]?.ToString(); + _IsPA = row["鏄惁浼樺寲鍖呰"]?.ToString(); + _MaterialIndeX = row["閿垏鍥惧彿"]?.ToString(); + _PackageCode = row["鍖呰鍙�"]?.ToString(); + _MachineXCenter = row["鍖呰X鍧愭爣"]?.ToString(); + _MachineYCenter = row["鍖呰Y鍧愭爣"]?.ToString(); + _MachineZCenter = row["鍖呰Z鍧愭爣"]?.ToString(); + _Sequence = row["灞傛暟"]?.ToString(); + _Shelf = row["娆″簭"]?.ToString(); + _Rotation = row["杞悜瑙掑害"]?.ToString(); + _Info1 = row["绾哥闀�"]?.ToString(); + _Info2 = row["绾哥瀹�"]?.ToString(); + _Info3 = row["绾哥楂�"]?.ToString(); + #endregion + + + #region 楠岃瘉 + if (!string.IsNullOrEmpty(_AreaCode)) + { + Admin.NET.Application.AreaCodeEnum enumAreaCode = default(Admin.NET.Application.AreaCodeEnum); + + if (!Enum.TryParse<Admin.NET.Application.AreaCodeEnum>(_AreaCode, out enumAreaCode) && !string.IsNullOrEmpty(_AreaCode)) + { + throw Oops.Oh($"绗瑊index}琛孾鎵�鍦ㄥ尯鍩焆{_AreaCode}鍊间笉姝g‘锛�"); + } + else + { + addItem.AreaCode = enumAreaCode; + } + + } + + if (string.IsNullOrEmpty(_UpiStatus)) + { + throw Oops.Oh($"绗瑊index}琛孾鏉挎枡鐘舵�乚{_UpiStatus}涓嶈兘涓虹┖锛�"); + } + + if (!string.IsNullOrEmpty(_UpiStatus)) + { + Admin.NET.Application.UpiStatusEnum enumUpiStatus = default(Admin.NET.Application.UpiStatusEnum); + + if (!Enum.TryParse<Admin.NET.Application.UpiStatusEnum>(_UpiStatus, out enumUpiStatus) && !string.IsNullOrEmpty(_UpiStatus)) + { + throw Oops.Oh($"绗瑊index}琛孾鏉挎枡鐘舵�乚{_UpiStatus}鍊间笉姝g‘锛�"); + } + else + { + addItem.UpiStatus = enumUpiStatus; + } + + } + + 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(_UPI)) + { + throw Oops.Oh($"绗瑊index}琛孾閮ㄤ欢鏉$爜]{_UPI}涓嶈兘涓虹┖锛�"); + } + + if (!string.IsNullOrEmpty(_UPI)) + { + addItem.UPI = (string)(_UPI.Trim()); + } + + if (string.IsNullOrEmpty(_DetailName)) + { + throw Oops.Oh($"绗瑊index}琛孾閮ㄤ欢鍚嶇О]{_DetailName}涓嶈兘涓虹┖锛�"); + } + + if (!string.IsNullOrEmpty(_DetailName)) + { + addItem.DetailName = (string)(_DetailName.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(_Matgrid)) + { + addItem.Matgrid = (string)(_Matgrid.Trim()); + } + if (!string.IsNullOrEmpty(_IsEB)) + { + if (!int.TryParse(_IsEB, out int outIsEB) && !string.IsNullOrEmpty(_IsEB)) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁灏佽竟]{_IsEB}鍊间笉姝g‘锛�"); + } + if (outIsEB <= 0 && !string.IsNullOrEmpty(_IsEB)) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁灏佽竟]{_IsEB}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.IsEB = outIsEB; + } + + } + if (!string.IsNullOrEmpty(_DRNum)) + { + if (!int.TryParse(_DRNum, out int outDRNum) && !string.IsNullOrEmpty(_DRNum)) + { + throw Oops.Oh($"绗瑊index}琛孾鎵撳瓟璁惧缂栧彿]{_DRNum}鍊间笉姝g‘锛�"); + } + if (outDRNum <= 0 && !string.IsNullOrEmpty(_DRNum)) + { + throw Oops.Oh($"绗瑊index}琛孾鎵撳瓟璁惧缂栧彿]{_DRNum}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.DRNum = outDRNum; + } + + } + if (!string.IsNullOrEmpty(_IsPA)) + { + if (!int.TryParse(_IsPA, out int outIsPA) && !string.IsNullOrEmpty(_IsPA)) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁浼樺寲鍖呰]{_IsPA}鍊间笉姝g‘锛�"); + } + if (outIsPA <= 0 && !string.IsNullOrEmpty(_IsPA)) + { + throw Oops.Oh($"绗瑊index}琛孾鏄惁浼樺寲鍖呰]{_IsPA}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.IsPA = outIsPA; + } + + } + if (!string.IsNullOrEmpty(_MaterialIndeX)) + { + if (!int.TryParse(_MaterialIndeX, out int outMaterialIndeX) && !string.IsNullOrEmpty(_MaterialIndeX)) + { + throw Oops.Oh($"绗瑊index}琛孾閿垏鍥惧彿]{_MaterialIndeX}鍊间笉姝g‘锛�"); + } + if (outMaterialIndeX <= 0 && !string.IsNullOrEmpty(_MaterialIndeX)) + { + throw Oops.Oh($"绗瑊index}琛孾閿垏鍥惧彿]{_MaterialIndeX}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.MaterialIndeX = outMaterialIndeX; + } + + } + + if (string.IsNullOrEmpty(_PackageCode)) + { + throw Oops.Oh($"绗瑊index}琛孾鍖呰鍙穄{_PackageCode}涓嶈兘涓虹┖锛�"); + } + + if (!string.IsNullOrEmpty(_PackageCode)) + { + addItem.PackageCode = (string)(_PackageCode.Trim()); + } + //if(!string.IsNullOrEmpty(_MachineXCenter)) + //{ + // addItem.MachineXCenter = (float)(_MachineXCenter.Trim()); + // } + //if(!string.IsNullOrEmpty(_MachineYCenter)) + //{ + // addItem.MachineYCenter = (float)(_MachineYCenter.Trim()); + // } + //if(!string.IsNullOrEmpty(_MachineZCenter)) + //{ + // addItem.MachineZCenter = (float)(_MachineZCenter.Trim()); + // } + if (!string.IsNullOrEmpty(_Sequence)) + { + if (!int.TryParse(_Sequence, out int outSequence) && !string.IsNullOrEmpty(_Sequence)) + { + throw Oops.Oh($"绗瑊index}琛孾灞傛暟]{_Sequence}鍊间笉姝g‘锛�"); + } + if (outSequence <= 0 && !string.IsNullOrEmpty(_Sequence)) + { + throw Oops.Oh($"绗瑊index}琛孾灞傛暟]{_Sequence}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.Sequence = outSequence; + } + + } + if (!string.IsNullOrEmpty(_Shelf)) + { + if (!int.TryParse(_Shelf, out int outShelf) && !string.IsNullOrEmpty(_Shelf)) + { + throw Oops.Oh($"绗瑊index}琛孾娆″簭]{_Shelf}鍊间笉姝g‘锛�"); + } + if (outShelf <= 0 && !string.IsNullOrEmpty(_Shelf)) + { + throw Oops.Oh($"绗瑊index}琛孾娆″簭]{_Shelf}鍊间笉鑳藉皬浜庣瓑浜�0锛�"); + } + else + { + addItem.Shelf = outShelf; + } + + } + //if(!string.IsNullOrEmpty(_Rotation)) + //{ + // addItem.Rotation = (float)(_Rotation.Trim()); + // } + //if(!string.IsNullOrEmpty(_Info1)) + //{ + // addItem.Info1 = (float)(_Info1.Trim()); + // } + //if(!string.IsNullOrEmpty(_Info2)) + //{ + // addItem.Info2 = (float)(_Info2.Trim()); + // } + //if(!string.IsNullOrEmpty(_Info3)) + //{ + // addItem.Info3 = (float)(_Info3.Trim()); + // } + #endregion + + + details.Add(addItem); + } + //楠岄噸 + await CheckExisitForImport(details); + return details; + } + + /// <summary> + /// 鏍规嵁鐗堟湰涓嬭浇鎵规鏁版嵁鐨凟xcel瀵煎叆妯℃澘 + /// </summary> + /// <returns>涓嬭浇鐨勬ā鏉挎枃浠�</returns> + [HttpGet] + [ApiDescriptionSettings(Name = "DownloadExcelTemplate")] + [Description("Mes_BatchOrderUPI_New/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<Mes_BatchOrderUPI_NewOutput> CommonPageFilter(Mes_BatchOrderUPI_NewInput input) + { + var query = _rep.AsQueryable() + .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u => + u.PlanNo.Contains(input.SearchKey.Trim()) + || u.OrderId.Contains(input.SearchKey.Trim()) + || u.UPI.Contains(input.SearchKey.Trim()) + || u.DetailName.Contains(input.SearchKey.Trim()) + || u.Matgrid.Contains(input.SearchKey.Trim()) + || u.PackageCode.Contains(input.SearchKey.Trim()) + || u.CreateUserName.Contains(input.SearchKey.Trim()) + || u.UpdateUserName.Contains(input.SearchKey.Trim()) + ) + .WhereIF(input.AreaCode.HasValue, u => u.AreaCode == input.AreaCode) + .WhereIF(input.UpiStatus.HasValue, u => u.UpiStatus == input.UpiStatus) + .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.UPI), u => u.UPI.Contains(input.UPI.Trim())) + .WhereIF(!string.IsNullOrWhiteSpace(input.DetailName), u => u.DetailName.Contains(input.DetailName.Trim())) + .WhereIF(!string.IsNullOrWhiteSpace(input.Matgrid), u => u.Matgrid.Contains(input.Matgrid.Trim())) + .WhereIF(input.IsEB > 0, u => u.IsEB == input.IsEB) + .WhereIF(input.DRNum > 0, u => u.DRNum == input.DRNum) + .WhereIF(input.IsPA > 0, u => u.IsPA == input.IsPA) + .WhereIF(input.MaterialIndeX > 0, u => u.MaterialIndeX == input.MaterialIndeX) + .WhereIF(!string.IsNullOrWhiteSpace(input.PackageCode), u => u.PackageCode.Contains(input.PackageCode.Trim())) + .WhereIF(input.Sequence > 0, u => u.Sequence == input.Sequence) + .WhereIF(input.Shelf > 0, u => u.Shelf == input.Shelf) + .Select<Mes_BatchOrderUPI_NewOutput>(); + return query; + } + + /// <summary> + /// 閲嶅鎬ч獙璇� + /// </summary> + /// <param name="input">楠岃瘉瀵硅薄</param> + /// <param name="isEdit">鏄惁鏄紪杈�</param> + /// <returns></returns> + private async Task CheckExist(Mes_BatchOrderUPI_New input, bool isEdit = false) + { + + + + //娌℃湁閰嶇疆缁勫悎鏍¢獙锛屼笉闇�瑕侀獙閲� + + + //娌℃湁閰嶇疆鍗曠嫭鏍¢獙锛屼笉闇�瑕侀獙閲� + } + + /// <summary> + /// 鏍规嵁缁勫悎鏍¢獙鍜屽崟鐙牎楠岄獙璇佹暟鎹槸鍚﹀凡瀛樺湪-瀵煎叆鏃堕獙璇� + /// </summary> + /// <param name="inputs"></param> + /// <returns></returns> + private async Task CheckExisitForImport(List<Mes_BatchOrderUPI_New> inputs) + { + if (inputs?.Count <= 0) + { + throw Oops.Oh($"瀵煎叆鏁版嵁涓嶈兘涓虹┖"); + } + //鏍规嵁缁勫悎鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� + + + + + + + + + //鏍规嵁鍗曠嫭鏍¢獙楠岃瘉琛ㄦ牸涓腑鏄惁宸插瓨鍦ㄧ浉鍚屾暟鎹� + + + + } + #endregion + +} + diff --git "a/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\211\271\346\254\241\346\225\260\346\215\256\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\211\271\346\254\241\346\225\260\346\215\256\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" new file mode 100644 index 0000000..4dc5348 --- /dev/null +++ "b/LA24030_LuLiPackageLine_Wms/Admin.NET.Web.Entry/wwwroot/ExcelTemplateFile/\346\211\271\346\254\241\346\225\260\346\215\256\345\257\274\345\205\245\346\250\241\346\235\277.xlsx" Binary files differ -- Gitblit v1.9.3