11
schangxiang@126.com
2024-12-13 138497ecffb6dbf468c458ed9f7e72bc88d2e7a0
11
已添加6个文件
已修改2个文件
1023 ■■■■■ 文件已修改
CC/iWareCC_ASRS/ThreadService/01_BZ01工位(清灰,洗板后工位)/DataProcess_BZ01.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsRbLineRunMode.ts 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsRbLineRunMode/component/editDialog.vue 196 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsRbLineRunMode/index.vue 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsTask/WmsRbLineRunMode.cs 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/WmsRbLineRunMode/Dto/WmsRbLineRunModeInput.cs 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/WmsRbLineRunMode/Dto/WmsRbLineRunModeOutput.cs 90 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/WmsRbLineRunMode/WmsRbLineRunModeService.cs 195 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CC/iWareCC_ASRS/ThreadService/01_BZ01¹¤Î»£¨Çå»Ò£¬Ï´°åºó¹¤Î»£©/DataProcess_BZ01.cs
@@ -150,7 +150,7 @@
                                {
                                    upiObj.AreaCode = (int)AreaCodeEnum.码垛区域;
                                }
                                /*
                                //查询是否齐包
                                var allList = wmsDB.mes_batchOrderUPI_new.Where(x => x.PackageCode == upiObj.PackageCode).ToList();
                                var isQiTaoList = allList.Where(x => x.AreaCode == (int)AreaCodeEnum.待缓存分拣区
@@ -267,7 +267,7 @@
                                        wmsDB.mes_upi_linequeue.Remove(lastUpiLineQueue);
                                    }
                                }
                                //*/
                                //if (qitaoReault == false) {
                                //    //临时
                                //    SystemWarningMsg._lbl_alert_DataProcess_BZ01 = $"模拟啊啊,暂停啊啊";
@@ -316,6 +316,7 @@
                                }
                                //更新 æœ€åŽä¸€æ¬¡åœ¨ BZ_01的系统处理的板件 æ•°æ®
                                var rbRunMode = wmsDB.wms_rbline_runmode.FirstOrDefault();
                                rbRunMode.UPI = upiObj.UPI;
                                rbRunMode.PlanNo = upiObj.PlanNo;
                                rbRunMode.OrderId = upiObj.OrderId;
                                rbRunMode.PackageCode = upiObj.PackageCode;
LA24030_LuLiPackageLine_Web/src/api/main/WmsOrder/wmsRbLineRunMode.ts
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,78 @@
import request from '/@/utils/request';
enum Api {
  AddWmsRbLineRunMode = '/api/wmsRbLineRunMode/add',
  DeleteWmsRbLineRunMode = '/api/wmsRbLineRunMode/delete',
  UpdateWmsRbLineRunMode = '/api/wmsRbLineRunMode/update',
  PageWmsRbLineRunMode = '/api/wmsRbLineRunMode/page',
  ListWmsRbLineRunMode = '/api/wmsRbLineRunMode/list',
  DetailWmsRbLineRunMode = '/api/wmsRbLineRunMode/detail',
  ImportExcelWmsRbLineRunMode = '/api/wmsRbLineRunMode/importExcel',
  DownloadExcelTemplateWmsRbLineRunMode = '/api/wmsRbLineRunMode/downloadExcelTemplate',
}
// å¢žåŠ åŒ…è£…çº¿ç¼“å­˜æ•°æ®
export const addWmsRbLineRunMode = (params?: any) =>
    request({
        url: Api.AddWmsRbLineRunMode,
        method: 'post',
        data: params
    });
// åˆ é™¤åŒ…装线缓存数据
export const deleteWmsRbLineRunMode = (params?: any) =>
    request({
            url: Api.DeleteWmsRbLineRunMode,
            method: 'post',
            data: params
        });
// ç¼–辑包装线缓存数据
export const updateWmsRbLineRunMode = (params?: any) =>
    request({
            url: Api.UpdateWmsRbLineRunMode,
            method: 'post',
            data: params
        });
// å¯¼å…¥åŒ…装线缓存数据
export const importExcelWmsRbLineRunMode = (params?: any) =>
    request({
        url: Api.ImportExcelWmsRbLineRunMode,
        method: 'post',
        data: params
    });
// ä¸‹è½½å¯¼å…¥åŒ…装线缓存数据模板
export const downloadExcelTemplateWmsRbLineRunMode = (params?: any) =>
    request({
            url: Api.DownloadExcelTemplateWmsRbLineRunMode,
            method: 'get',
            data: params,
            responseType: 'blob'
        });
// åˆ†é¡µæŸ¥è¯¢åŒ…装线缓存数据
export const pageWmsRbLineRunMode = (params?: any) =>
    request({
            url: Api.PageWmsRbLineRunMode,
            method: 'post',
            data: params
        });
// ä¸åˆ†é¡µæŸ¥è¯¢åŒ…装线缓存数据
export const listWmsRbLineRunMode = (params?: any) =>
    request({
            url: Api.ListWmsRbLineRunMode,
            method: 'get',
            data: params
        });
// è¯¦æƒ…包装线缓存数据
export const detailWmsRbLineRunMode = (id: any) =>
    request({
            url: Api.DetailWmsRbLineRunMode,
            method: 'get',
            data: { id }
        });
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsRbLineRunMode/component/editDialog.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,196 @@
<template>
    <div class="wmsRbLineRunMode-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="BZ01处理的板件" prop="uPI">
                            <el-input v-model="ruleForm.uPI" placeholder="请输入BZ01处理的板件" 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="BZ01处理的批次号" prop="planNo">
                            <el-input v-model="ruleForm.planNo" placeholder="请输入BZ01处理的批次号" 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="BZ01处理的订单号" prop="orderId">
                            <el-input v-model="ruleForm.orderId" placeholder="请输入BZ01处理的订单号" 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="BZ01处理的包装号" prop="packageCode">
                            <el-input v-model="ruleForm.packageCode" placeholder="请输入BZ01处理的包装号" 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="lineRunMode">
                            <el-select clearable v-model="ruleForm.lineRunMode" placeholder="请选择运行模式">
                                <el-option v-for="(item,index) in  getEnumLineRunModeData" :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="lineRunModeName">
                            <el-input v-model="ruleForm.lineRunModeName" 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="palletizingUPI">
                            <el-input v-model="ruleForm.palletizingUPI" 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="palletizingStation">
                            <el-input-number v-model="ruleForm.palletizingStation" placeholder="请输入上一次码垛站点" 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 { addWmsRbLineRunMode, updateWmsRbLineRunMode, detailWmsRbLineRunMode } from "/@/api/main/WmsOrder/wmsRbLineRunMode";
    import { getAPI } from '/@/utils/axios-utils';
    import { SysEnumApi } from '/@/api-services/api';
    const getEnumLineRunModeData = 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>({
        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 detailWmsRbLineRunMode(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 addWmsRbLineRunMode(values);
                } else {
                    title='编辑';
                    ret = await updateWmsRbLineRunMode(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 () => {
            getEnumLineRunModeData.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('RbRunModeEnum')).data.result ?? [];
    });
    //将属性或者函数暴露给父组件
    defineExpose({ openDialog });
</script>
LA24030_LuLiPackageLine_Web/src/views/main/WmsOrder/wmsRbLineRunMode/index.vue
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,266 @@
<template>
  <div class="wmsRbLineRunMode-container">
    <el-card shadow="hover" :body-style="{ paddingBottom: '0' }">
      <el-form :model="queryParamsWmsRbLineRunMode" 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="queryParamsWmsRbLineRunMode.searchKey" clearable="" placeholder="BZ01处理的板件,BZ01处理的批次号,BZ01处理的订单号,BZ01处理的包装号,运行模式名称,创建人,修改人,上一次码垛板件"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineRunMode">
            <el-form-item label="BZ01处理的板件">
              <el-input v-model="queryParamsWmsRbLineRunMode.uPI" clearable="" placeholder="请输入BZ01处理的板件"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineRunMode">
            <el-form-item label="BZ01处理的批次号">
              <el-input v-model="queryParamsWmsRbLineRunMode.planNo" clearable="" placeholder="请输入BZ01处理的批次号"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineRunMode">
            <el-form-item label="BZ01处理的订单号">
              <el-input v-model="queryParamsWmsRbLineRunMode.orderId" clearable="" placeholder="请输入BZ01处理的订单号"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineRunMode">
            <el-form-item label="BZ01处理的包装号">
              <el-input v-model="queryParamsWmsRbLineRunMode.packageCode" clearable="" placeholder="请输入BZ01处理的包装号"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineRunMode">
            <el-form-item label="运行模式">
              <el-select clearable="" v-model="queryParamsWmsRbLineRunMode.lineRunMode" placeholder="请选择运行模式">
                <el-option v-for="(item,index) in getEnumLineRunModeData_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="showAdvanceQueryUIWmsRbLineRunMode">
            <el-form-item label="运行模式名称">
              <el-input v-model="queryParamsWmsRbLineRunMode.lineRunModeName" clearable="" placeholder="请输入运行模式名称"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineRunMode">
            <el-form-item label="上一次码垛板件">
              <el-input v-model="queryParamsWmsRbLineRunMode.palletizingUPI" clearable="" placeholder="请输入上一次码垛板件"/>
            </el-form-item>
          </el-col>
          <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="4" class="mb10" v-if="showAdvanceQueryUIWmsRbLineRunMode">
            <el-form-item label="上一次码垛站点">
              <el-input-number v-model="queryParamsWmsRbLineRunMode.palletizingStation"  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="handleQueryWmsRbLineRunMode" v-auth="'wmsRbLineRunMode:page'" :disabled="disabled_btnWmsRbLineRunMode"> æŸ¥è¯¢ </el-button>
                      <el-button icon="ele-Refresh" @click="resetWmsRbLineRunMode"> é‡ç½® </el-button>
                        <el-button icon="ele-ZoomIn" @click="changeAdvanceQueryUIWmsRbLineRunMode" v-if="!showAdvanceQueryUIWmsRbLineRunMode" style="margin-left:5px;"> é«˜çº§æŸ¥è¯¢ </el-button>
                        <el-button icon="ele-ZoomOut" @click="changeAdvanceQueryUIWmsRbLineRunMode" v-if="showAdvanceQueryUIWmsRbLineRunMode" style="margin-left:5px;"> éšè— </el-button>
                <el-button type="primary" style="margin-left:5px;" icon="ele-Plus" @click="openAddWmsRbLineRunMode" v-auth="'wmsRbLineRunMode:add'"> æ–°å¢ž </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="tableRefWmsRbLineRunMode"
                :data="tableDataWmsRbLineRunMode"
                style="width: 100%"
                v-loading="loadingWmsRbLineRunMode"
                tooltip-effect="light"
                                row-key="id"
                @sort-change="sortChangeWmsRbLineRunMode"
                border="">
        <el-table-column type="index" label="序号" width="55" align="center"/>
        <el-table-column prop="uPI" label="BZ01处理的板件"  show-overflow-tooltip="" />
        <el-table-column prop="planNo" label="BZ01处理的批次号"  show-overflow-tooltip="" />
        <el-table-column prop="orderId" label="BZ01处理的订单号"  show-overflow-tooltip="" />
        <el-table-column prop="packageCode" label="BZ01处理的包装号"  show-overflow-tooltip="" />
          <el-table-column prop="lineRunMode" label="运行模式"  show-overflow-tooltip="" >
            <template #default="scope">
              <el-tag>{{ getEnumDesc(scope.row.lineRunMode, getEnumLineRunModeData_Index)}}</el-tag>
            </template>
          </el-table-column>
        <el-table-column prop="lineRunModeName" 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="palletizingUPI" label="上一次码垛板件"  show-overflow-tooltip="" />
        <el-table-column prop="palletizingStation" label="上一次码垛站点"  show-overflow-tooltip="" />
        <el-table-column label="操作" width="140" align="center" fixed="right" show-overflow-tooltip="" v-if="auth('wmsRbLineRunMode:update') || auth('wmsRbLineRunMode:delete')">
          <template #default="scope">
            <el-button icon="ele-Edit" size="small" text="" type="primary" @click="openEditWmsRbLineRunMode(scope.row)" v-auth="'wmsRbLineRunMode:update'"> ç¼–辑 </el-button>
            <el-button icon="ele-Delete" size="small" text="" type="primary" @click="delWmsRbLineRunMode(scope.row)" v-auth="'wmsRbLineRunMode:delete'"> åˆ é™¤ </el-button>
          </template>
        </el-table-column>
      </el-table>
      <el-pagination
                v-model:currentPage="tableParamsWmsRbLineRunMode.page"
                v-model:page-size="tableParamsWmsRbLineRunMode.pageSize"
                :total="tableParamsWmsRbLineRunMode.total"
                :page-sizes="[10, 20, 50, 100, 200, 500]"
                small=""
                background=""
                @size-change="handleSizeChangeWmsRbLineRunMode"
                @current-change="handleCurrentChangeWmsRbLineRunMode"
                layout="total, sizes, prev, pager, next, jumper"
    />
      <printDialogWmsRbLineRunMode
        ref="printDialogRefWmsRbLineRunMode"
        :title="printWmsRbLineRunModeTitle"
        @reloadTable="handleQueryWmsRbLineRunMode" />
      <editDialogWmsRbLineRunMode
        ref="editDialogRefWmsRbLineRunMode"
        :title="editWmsRbLineRunModeTitle"
        @reloadTable="handleQueryWmsRbLineRunMode"
      />
    </el-card>
  </div>
</template>
<script lang="ts" setup="" name="wmsRbLineRunMode">
  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 printDialogWmsRbLineRunMode from '/@/views/system/print/component/hiprint/preview.vue'
  import editDialogWmsRbLineRunMode from '/@/views/main/WmsOrder/wmsRbLineRunMode/component/editDialog.vue'
  import { pageWmsRbLineRunMode, deleteWmsRbLineRunMode,importExcelWmsRbLineRunMode,downloadExcelTemplateWmsRbLineRunMode } from '/@/api/main/WmsOrder/wmsRbLineRunMode';
    import { getAPI } from '/@/utils/axios-utils';
    import { SysEnumApi } from '/@/api-services/api';
  import commonFunction from '/@/utils/commonFunction';
  const getEnumLineRunModeData_Index = ref<any>([]);
    const { getEnumDesc } = commonFunction();
  /***************************************************[包装线缓存数据操作]开始***************************************************/
  const showAdvanceQueryUIWmsRbLineRunMode = ref(false);
  const tableRefWmsRbLineRunMode = ref(null);
  const printDialogRefWmsRbLineRunMode = ref();
  const editDialogRefWmsRbLineRunMode = ref();
  const loadingWmsRbLineRunMode = ref(false);
  const disabled_btnWmsRbLineRunMode = ref(false);
  const tableDataWmsRbLineRunMode = ref<any>([]);
  const queryParamsWmsRbLineRunMode = ref<any>({});
  const tableParamsWmsRbLineRunMode = ref({
    page: 1,
    pageSize: 10,
    total: 0,
  });
  const printWmsRbLineRunModeTitle = ref("");
  const editWmsRbLineRunModeTitle = ref("");
  // æ”¹å˜é«˜çº§æŸ¥è¯¢çš„æŽ§ä»¶æ˜¾ç¤ºçŠ¶æ€
  const changeAdvanceQueryUIWmsRbLineRunMode = () => {
    showAdvanceQueryUIWmsRbLineRunMode.value = !showAdvanceQueryUIWmsRbLineRunMode.value;
  }
  // æŸ¥è¯¢åŒ…装线缓存数据
  const handleQueryWmsRbLineRunMode = async () => {
    loadingWmsRbLineRunMode.value = true;
    disabled_btnWmsRbLineRunMode.value = true;
    var res = await pageWmsRbLineRunMode(Object.assign(queryParamsWmsRbLineRunMode.value, tableParamsWmsRbLineRunMode.value));
    if(res.data.type=="success"){
      tableDataWmsRbLineRunMode.value = res.data.result?.items ?? [];
      tableParamsWmsRbLineRunMode.value.total = res.data.result?.total;
    }
    loadingWmsRbLineRunMode.value = false;
    disabled_btnWmsRbLineRunMode.value = false;
  };
  // é‡ç½®åŒ…装线缓存数据查询
  const resetWmsRbLineRunMode = async () => {
    queryParamsWmsRbLineRunMode.value = {}
  };
  // åŒ…装线缓存数据列排序
  const sortChangeWmsRbLineRunMode = async (column: any) => {
    queryParamsWmsRbLineRunMode.value.field = column.prop;
    queryParamsWmsRbLineRunMode.value.order = column.order;
    await handleQueryWmsRbLineRunMode();
  };
  // æ‰“开新增包装线缓存数据页面
  const openAddWmsRbLineRunMode = () => {
    editWmsRbLineRunModeTitle.value = '添加包装线缓存数据';
    editDialogRefWmsRbLineRunMode.value.openDialog(1,{});
  };
  // æ‰“开打印包装线缓存数据页面
  const openPrintWmsRbLineRunMode = async (row: any) => {
    printWmsRbLineRunModeTitle.value = '打印包装线缓存数据';
  }
  // æ‰“开编辑包装线缓存数据页面
  const openEditWmsRbLineRunMode = (row: any) => {
    editWmsRbLineRunModeTitle.value = '编辑包装线缓存数据';
    editDialogRefWmsRbLineRunMode.value.openDialog(2,row);
  };
  // åˆ é™¤åŒ…装线缓存数据
  const delWmsRbLineRunMode = (row: any) => {
    ElMessageBox.confirm(`确定要删除吗?`, "提示", {
    confirmButtonText: "确定",
    cancelButtonText: "取消",
    type: "warning",
  })
  .then(async () => {
    loadingWmsRbLineRunMode.value = true;
    var ret = await deleteWmsRbLineRunMode(row);
    if(ret.data.type=="success"){
        ElMessage.success("删除成功");
    }
    loadingWmsRbLineRunMode.value = false;
    handleQueryWmsRbLineRunMode();
  })
  .catch(() => {});
  };
  // æ”¹å˜åŒ…装线缓存数据页面容量
  const handleSizeChangeWmsRbLineRunMode = (val: number) => {
    tableParamsWmsRbLineRunMode.value.pageSize = val;
    handleQueryWmsRbLineRunMode();
  };
  // æ”¹å˜åŒ…装线缓存数据页码序号
  const handleCurrentChangeWmsRbLineRunMode = (val: number) => {
    tableParamsWmsRbLineRunMode.value.page = val;
    handleQueryWmsRbLineRunMode();
  };
/***************************************************[包装线缓存数据操作]结束***************************************************/
  // åŒ…装线缓存数据页面加载时
  onMounted(async () => {
    getEnumLineRunModeData_Index.value = (await getAPI(SysEnumApi).apiSysEnumEnumDataListGet('RbRunModeEnum')).data.result ?? [];
  });
  handleQueryWmsRbLineRunMode();
</script>
<style scoped>
:deep(.el-input),
:deep(.el-select),
:deep(.el-input-number) {
    width: 100%;
}
</style>
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Entity/WmsTask/WmsRbLineRunMode.cs
@@ -8,33 +8,33 @@
namespace Admin.NET.Application.Entity
{
    /// <summary>
    /// æœºå™¨äººç¼“存岛运行模式
    /// åŒ…装线缓存数据
    /// </summary>
    [SugarTable("wms_rbline_runmode", "机器人缓存岛运行模式")]
    [SugarTable("wms_rbline_runmode", "包装线缓存数据")]
    public class WmsRbLineRunMode : EntityBase
    {
        /// <summary>
        /// æœ€åŽä¸€æ¬¡åœ¨ BZ_01的系统处理的板件
        [SugarColumn(ColumnName = "UPI", ColumnDescription = "部件条码", Length = 50)]
        [SugarColumn(ColumnName = "UPI", ColumnDescription = "BZ01处理的板件", Length = 50)]
        public string? UPI { get; set; }
        /// <summary>
        /// æœ€åŽä¸€æ¬¡åœ¨ BZ_01的系统处理的板件
        /// </summary>
        [SugarColumn(ColumnName = "PlanNo", ColumnDescription = "批次号", Length = 50)]
        [SugarColumn(ColumnName = "PlanNo", ColumnDescription = "BZ01处理的批次号", Length = 50)]
        public string? PlanNo { get; set; }
        /// <summary>
        /// æœ€åŽä¸€æ¬¡åœ¨ BZ_01的系统处理的板件
        /// </summary>
        [SugarColumn(ColumnName = "OrderId", ColumnDescription = "订单号", Length = 50)]
        [SugarColumn(ColumnName = "OrderId", ColumnDescription = "BZ01处理的订单号", Length = 50)]
        public string? OrderId { get; set; }
        /// <summary>
        /// æœ€åŽä¸€æ¬¡åœ¨ BZ_01的系统处理的板件
        /// </summary>
        [SugarColumn(ColumnName = "PackageCode", ColumnDescription = "包装号", Length = 50)]
        [SugarColumn(ColumnName = "PackageCode", ColumnDescription = "BZ01处理的包装号", Length = 50)]
        public string? PackageCode { get; set; }
@@ -56,7 +56,7 @@
        /// <summary>
        /// ä¸Šä¸€æ¬¡ç åž›ç¼–号
        /// </summary>
        [SugarColumn(ColumnName = "PalletizingUPI", ColumnDescription = "上一次码垛编号", Length = 50)]
        [SugarColumn(ColumnName = "PalletizingUPI", ColumnDescription = "上一次码垛包装号", Length = 50)]
        public string? PalletizingUPI { get; set; }
        /// <summary>
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/WmsRbLineRunMode/Dto/WmsRbLineRunModeInput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,179 @@
using Admin.NET.Core;
using System.ComponentModel.DataAnnotations;
namespace Admin.NET.Application;
    /// <summary>
    /// åŒ…装线缓存数据基础输入参数
    /// </summary>
    public class WmsRbLineRunModeBaseInput
    {
        /// <summary>
        /// BZ01处理的板件
        /// </summary>
        public virtual string UPI { get; set; }
        /// <summary>
        /// BZ01处理的批次号
        /// </summary>
        public virtual string PlanNo { get; set; }
        /// <summary>
        /// BZ01处理的订单号
        /// </summary>
        public virtual string OrderId { get; set; }
        /// <summary>
        /// BZ01处理的包装号
        /// </summary>
        public virtual string PackageCode { get; set; }
        /// <summary>
        /// è¿è¡Œæ¨¡å¼
        /// </summary>
        public virtual Admin.NET.Application.RbRunModeEnum? LineRunMode { get; set; }
        /// <summary>
        /// è¿è¡Œæ¨¡å¼åç§°
        /// </summary>
        public virtual string LineRunModeName { get; set; }
        /// <summary>
        /// åˆ›å»ºæ—¶é—´
        /// </summary>
        public virtual DateTime? CreateTime { get; set; }
        /// <summary>
        /// ä¿®æ”¹æ—¶é—´
        /// </summary>
        public virtual DateTime? UpdateTime { get; set; }
        /// <summary>
        /// åˆ›å»ºäººId
        /// </summary>
        public virtual long? CreateUserId { get; set; }
        /// <summary>
        /// åˆ›å»ºäºº
        /// </summary>
        public virtual string CreateUserName { get; set; }
        /// <summary>
        /// ä¿®æ”¹äººId
        /// </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 virtual string PalletizingUPI { get; set; }
        /// <summary>
        /// ä¸Šä¸€æ¬¡ç åž›ç«™ç‚¹
        /// </summary>
        public virtual int? PalletizingStation { get; set; }
    }
    /// <summary>
    /// åŒ…装线缓存数据分页查询输入参数
    /// </summary>
    public class WmsRbLineRunModeInput : BasePageInput
    {
        /// <summary>
        /// å…³é”®å­—查询
        /// </summary>
        public string? SearchKey { get; set; }
        /// <summary>
        /// BZ01处理的板件
        /// </summary>
        public string? UPI { get; set; }
        /// <summary>
        /// BZ01处理的批次号
        /// </summary>
        public string? PlanNo { get; set; }
        /// <summary>
        /// BZ01处理的订单号
        /// </summary>
        public string? OrderId { get; set; }
        /// <summary>
        /// BZ01处理的包装号
        /// </summary>
        public string? PackageCode { get; set; }
        /// <summary>
        /// è¿è¡Œæ¨¡å¼
        /// </summary>
        public Admin.NET.Application.RbRunModeEnum? LineRunMode { get; set; }
        /// <summary>
        /// è¿è¡Œæ¨¡å¼åç§°
        /// </summary>
        public string? LineRunModeName { get; set; }
        /// <summary>
        /// ä¸Šä¸€æ¬¡ç åž›æ¿ä»¶
        /// </summary>
        public string? PalletizingUPI { get; set; }
        /// <summary>
        /// ä¸Šä¸€æ¬¡ç åž›ç«™ç‚¹
        /// </summary>
        public int? PalletizingStation { get; set; }
    }
    /// <summary>
    /// åŒ…装线缓存数据增加输入参数
    /// </summary>
    public class AddWmsRbLineRunModeInput : WmsRbLineRunModeBaseInput
    {
        /// <summary>
        /// è½¯åˆ é™¤
        /// </summary>
        [Required(ErrorMessage = "软删除不能为空")]
        public override bool IsDelete { get; set; }
    }
    /// <summary>
    /// åŒ…装线缓存数据删除输入参数
    /// </summary>
    public class DeleteWmsRbLineRunModeInput : BaseIdInput
    {
    }
    /// <summary>
    /// åŒ…装线缓存数据更新输入参数
    /// </summary>
    public class UpdateWmsRbLineRunModeInput : AddWmsRbLineRunModeInput
    {
        /// <summary>
        /// ä¸»é”®Id
        /// </summary>
        [Required(ErrorMessage = "主键Id不能为空")]
        public long Id { get; set; }
    }
    /// <summary>
    /// åŒ…装线缓存数据主键查询输入参数
    /// </summary>
    public class QueryByIdWmsRbLineRunModeInput : DeleteWmsRbLineRunModeInput
    {
    }
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/WmsRbLineRunMode/Dto/WmsRbLineRunModeOutput.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,90 @@
namespace Admin.NET.Application;
/// <summary>
/// åŒ…装线缓存数据输出参数
/// </summary>
public class WmsRbLineRunModeOutput
{
    /// <summary>
    /// ä¸»é”®Id
    /// </summary>
    public long? Id { get; set; }
    /// <summary>
    /// BZ01处理的板件
    /// </summary>
    public string UPI { get; set; }
    /// <summary>
    /// BZ01处理的批次号
    /// </summary>
    public string PlanNo { get; set; }
    /// <summary>
    /// BZ01处理的订单号
    /// </summary>
    public string OrderId { get; set; }
    /// <summary>
    /// BZ01处理的包装号
    /// </summary>
    public string PackageCode { get; set; }
    /// <summary>
    /// è¿è¡Œæ¨¡å¼
    /// </summary>
    public Admin.NET.Application.RbRunModeEnum? LineRunMode { get; set; }
    /// <summary>
    /// è¿è¡Œæ¨¡å¼åç§°
    /// </summary>
    public string LineRunModeName { get; set; }
    /// <summary>
    /// åˆ›å»ºæ—¶é—´
    /// </summary>
    public DateTime? CreateTime { get; set; }
    /// <summary>
    /// ä¿®æ”¹æ—¶é—´
    /// </summary>
    public DateTime? UpdateTime { get; set; }
    /// <summary>
    /// åˆ›å»ºäººId
    /// </summary>
    public long? CreateUserId { get; set; }
    /// <summary>
    /// åˆ›å»ºäºº
    /// </summary>
    public string CreateUserName { get; set; }
    /// <summary>
    /// ä¿®æ”¹äººId
    /// </summary>
    public long? UpdateUserId { get; set; }
    /// <summary>
    /// ä¿®æ”¹äºº
    /// </summary>
    public string UpdateUserName { get; set; }
    /// <summary>
    /// è½¯åˆ é™¤
    /// </summary>
    public bool IsDelete { get; set; }
    /// <summary>
    /// ä¸Šä¸€æ¬¡ç åž›æ¿ä»¶
    /// </summary>
    public string PalletizingUPI { get; set; }
    /// <summary>
    /// ä¸Šä¸€æ¬¡ç åž›ç«™ç‚¹
    /// </summary>
    public int? PalletizingStation { get; set; }
    }
LA24030_LuLiPackageLine_Wms/Admin.NET.Application/Service/WmsOrder/WmsRbLineRunMode/WmsRbLineRunModeService.cs
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,195 @@
using 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 WmsRbLineRunModeService : IDynamicApiController, ITransient
{
    private readonly SqlSugarRepository<WmsRbLineRunMode> _rep;
    public WmsRbLineRunModeService(SqlSugarRepository<WmsRbLineRunMode> rep)
    {
        _rep = rep;
    }
    /// <summary>
    /// åˆ†é¡µæŸ¥è¯¢åŒ…装线缓存数据
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    [HttpPost]
    [ApiDescriptionSettings(Name = "Page")]
    [Description("WmsRbLineRunMode/Page")]
    public async Task<SqlSugarPagedList<WmsRbLineRunModeOutput>> Page(WmsRbLineRunModeInput 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("WmsRbLineRunMode/List")]
    public async Task<List<WmsRbLineRunModeOutput>> List([FromQuery] WmsRbLineRunModeInput input)
    {
        var query = CommonPageFilter(input);
        return await query.OrderBuilder(input, "", "Id").Select<WmsRbLineRunModeOutput>().ToListAsync();
    }
    /// <summary>
    /// å¢žåŠ åŒ…è£…çº¿ç¼“å­˜æ•°æ®
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    [HttpPost]
    [ApiDescriptionSettings(Name = "Add")]
    [Description("WmsRbLineRunMode/Add")]
    public async Task<long> Add(AddWmsRbLineRunModeInput input)
    {
        var entity = input.Adapt<WmsRbLineRunMode>();
        //重复性验证
        await CheckExist(entity);
        await _rep.InsertAsync(entity);
        return entity.Id;
    }
    /// <summary>
    /// åˆ é™¤åŒ…装线缓存数据
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    [HttpPost]
    [ApiDescriptionSettings(Name = "Delete")]
    [Description("WmsRbLineRunMode/Delete")]
    public async Task Delete(DeleteWmsRbLineRunModeInput 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("WmsRbLineRunMode/Update")]
    public async Task Update(UpdateWmsRbLineRunModeInput input)
    {
        var entity = input.Adapt<WmsRbLineRunMode>();
        //重复性验证
        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("WmsRbLineRunMode/Detail")]
    public async Task<WmsRbLineRunMode> Detail([FromQuery] QueryByIdWmsRbLineRunModeInput input)
    {
        return await _rep.GetFirstAsync(u => u.Id == input.Id);
    }
    #region ç§æœ‰æ–¹æ³•
    /// <summary>
    /// å…¬å…±æŸ¥è¯¢åŒ…装线缓存数据条件
    /// </summary>
    /// <param name="input"></param>
    /// <returns></returns>
    private ISugarQueryable<WmsRbLineRunModeOutput> CommonPageFilter(WmsRbLineRunModeInput input)
    {
        var query = _rep.AsQueryable()
            .WhereIF(!string.IsNullOrWhiteSpace(input.SearchKey), u =>
                u.UPI.Contains(input.SearchKey.Trim())
                || u.PlanNo.Contains(input.SearchKey.Trim())
                || u.OrderId.Contains(input.SearchKey.Trim())
                || u.PackageCode.Contains(input.SearchKey.Trim())
                || u.LineRunModeName.Contains(input.SearchKey.Trim())
                || u.CreateUserName.Contains(input.SearchKey.Trim())
                || u.UpdateUserName.Contains(input.SearchKey.Trim())
                || u.PalletizingUPI.Contains(input.SearchKey.Trim())
            )
            .WhereIF(!string.IsNullOrWhiteSpace(input.UPI), u => u.UPI.Contains(input.UPI.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.PlanNo), u => u.PlanNo.Contains(input.PlanNo.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.OrderId), u => u.OrderId.Contains(input.OrderId.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.PackageCode), u => u.PackageCode.Contains(input.PackageCode.Trim()))
            .WhereIF(input.LineRunMode.HasValue, u => u.LineRunMode == input.LineRunMode)
            .WhereIF(!string.IsNullOrWhiteSpace(input.LineRunModeName), u => u.LineRunModeName.Contains(input.LineRunModeName.Trim()))
            .WhereIF(!string.IsNullOrWhiteSpace(input.PalletizingUPI), u => u.PalletizingUPI.Contains(input.PalletizingUPI.Trim()))
            .WhereIF(input.PalletizingStation>0, u => u.PalletizingStation == input.PalletizingStation)
            .Select<WmsRbLineRunModeOutput>();
        return query;
       }
        /// <summary>
        /// é‡å¤æ€§éªŒè¯
        /// </summary>
        /// <param name="input">验证对象</param>
        /// <param name="isEdit">是否是编辑</param>
        /// <returns></returns>
        private async Task CheckExist( WmsRbLineRunMode input,bool isEdit=false)
        {
            //没有配置组合校验,不需要验重
            //没有配置单独校验,不需要验重
       }
       /// <summary>
        /// æ ¹æ®ç»„合校验和单独校验验证数据是否已存在-导入时验证
        /// </summary>
        /// <param name="inputs"></param>
        /// <returns></returns>
        private async Task CheckExisitForImport(List<WmsRbLineRunMode> inputs)
        {
            if (inputs?.Count <= 0)
            {
                throw Oops.Oh($"导入数据不能为空");
            }
            //根据组合校验验证表格中中是否已存在相同数据
           //根据单独校验验证表格中中是否已存在相同数据
        }
     #endregion
}