修复组件属性并更新路由配置
在 `VolTable.vue` 中修复了组件属性赋值方式,确保 `@change` 事件处理函数格式正确。更新了多个路由的 `meta` 属性,将 `keepAlive` 设置为 `true`,以保持组件状态。新增了 `/Message` 路由并配置相应组件。
注释掉了异常处理中的错误记录,简化了任务处理逻辑,并在 `TaskController` 中移除了节流过滤器的应用。修改了请求频率过快时的返回结果,新增了 `MOMErrorMessageController.cs` 的引用。
最后,在 `Message.vue` 中新增了一个 Vue 组件,用于展示 MOM 消息的相关信息。
| | |
| | | <!-- 2020.10.10ç§»é¤table第ä¸è¡å¼ºå¶æåº --> |
| | | <el-table-column v-for="(column, cindex) in filterColumns" :prop="column.field" :label="column.title" |
| | | :min-width="column.width" :formatter="formatter" :fixed="column.fixed" :key="column.field + cindex" |
| | | :align="column.align" :sortable="column.sort ? 'custom' : false" |
| | | :show-overflow-tooltip="column.showOverflowTooltip"> |
| | | :align="column.align" :sortable="column.sort ? 'custom' : false" :show-overflow-tooltip=true> |
| | | <template #header> |
| | | <span v-if="(column.require || column.required) && column.edit" class="column-required">*</span>{{ |
| | | column.title }} |
| | |
| | | column.onChange && |
| | | column.onChange(scope.row, column, val); |
| | | } |
| | | " :type="column.edit.type" :placeholder="column.placeholder || column.title" |
| | | " :type="column.edit.type" :placeholder="column.placeholder || column.title" |
| | | :disabledDate="(val) => getDateOptions(val, column)" :value-format="getDateFormat(column)" |
| | | :disabled="initColumnDisabled(scope.row, column)"> |
| | | </el-date-picker> |
| | |
| | | column.onChange && |
| | | column.onChange(scope.row, column, val); |
| | | } |
| | | " :placeholder="column.placeholder || column.title" :value-format="column.format || 'HH:mm:ss'" |
| | | " :placeholder="column.placeholder || column.title" :value-format="column.format || 'HH:mm:ss'" |
| | | :disabled="initColumnDisabled(scope.row, column)"> |
| | | </el-time-picker> |
| | | <el-switch v-else-if="column.edit.type == 'switch'" v-model="scope.row[column.field]" |
| | |
| | | inline-prompt @change="(val) => { |
| | | switchChange(val, scope.row, column); |
| | | } |
| | | " :active-value="typeof scope.row[column.field] == 'boolean' |
| | | " :active-value="typeof scope.row[column.field] == 'boolean' |
| | | ? true |
| | | : typeof scope.row[column.field] == 'string' |
| | | ? '1' |
| | | : 1 |
| | | " :inactive-value="typeof scope.row[column.field] == 'boolean' |
| | | ? false |
| | | : typeof scope.row[column.field] == 'string' |
| | | ? '0' |
| | | : 0 |
| | | " :disabled="initColumnDisabled(scope.row, column)"> |
| | | ? false |
| | | : typeof scope.row[column.field] == 'string' |
| | | ? '0' |
| | | : 0 |
| | | " :disabled="initColumnDisabled(scope.row, column)"> |
| | | </el-switch> |
| | | <template v-else-if=" |
| | | ['select', 'selectList'].indexOf(column.edit.type) != -1 |
| | |
| | | <div @click="() => { |
| | | column.click && formatterClick(scope.row, column); |
| | | } |
| | | " v-else-if="column.bind"> |
| | | " v-else-if="column.bind"> |
| | | <el-tag v-if="useTag" class="cell-tag" :class="[isEmptyTag(scope.row, column)]" |
| | | :type="getColor(scope.row, column)" :effect="column.effect">{{ formatter(scope.row, column, true) |
| | | }}</el-tag> |
| | |
| | | name: 'UserInfo', |
| | | component: () => import('@/views/system/UserInfo.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'sysMenu', |
| | | component: () => import('@/views/system/Sys_Menu.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'signalR', |
| | | component: () => import('@/views/signalR/Index.vue'), |
| | | meta:{ |
| | | keepAlive:false |
| | | } |
| | | }, |
| | | ] |
| | |
| | | name: 'Dt_AreaInfo', |
| | | component: () => import('@/views/widesea_wms/basicinfo/Dt_AreaInfo.vue'), |
| | | meta: { |
| | | keepAlive: true |
| | | |
| | | } |
| | | }, |
| | | { |
| | | path: '/Dt_BillGroupStock', |
| | | name: 'Dt_BillGroupStock', |
| | | component: () => import('@/views/widesea_wms/stock/Dt_BillGroupStock.vue'), |
| | | meta: { |
| | | keepAlive: true |
| | | } |
| | | }, |
| | | // { |
| | | // path: '/Dt_BillGroupStockDetail', |
| | | // name: 'Dt_BillGroupStockDetail', |
| | | // component: () => import('@/views/widesea_wms/stock/Dt_BillGroupStockDetail.vue'), |
| | | // meta: { |
| | | // keepAlive: true |
| | | // |
| | | // } |
| | | // }, |
| | | { |
| | |
| | | name: 'Dt_InboundOrder', |
| | | component: () => import('@/views/widesea_wms/invoices/Dt_InboundOrder.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Dt_InboundOrderDetail', |
| | | component: () => import('@/views/widesea_wms/invoices/Dt_InboundOrderDetail.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Dt_LocationInfo', |
| | | component: () => import('@/views/widesea_wms/basicinfo/Dt_LocationInfo.vue'), |
| | | meta: { |
| | | keepAlive: true |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Dt_MaterielAttribute', |
| | | component: () => import('@/views/widesea_wms/material/Dt_MaterielAttribute.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Dt_MaterielInfo', |
| | | component: () => import('@/views/widesea_wms/material/Dt_MaterielInfo.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Dt_OutOrder', |
| | | component: () => import('@/views/widesea_wms/invoices/Dt_OutOrder.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Dt_OutOrderAndStock', |
| | | component: () => import('@/views/widesea_wms/invoices/Dt_OutOrderAndStock.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Dt_OutOrderDetail', |
| | | component: () => import('@/views/widesea_wms/invoices/Dt_OutOrderDetail.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Dt_OutOrderProduction', |
| | | component: () => import('@/views/widesea_wms/invoices/Dt_OutOrderProduction.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Dt_OutOrderProductionDetail', |
| | | component: () => import('@/views/widesea_wms/invoices/Dt_OutOrderProductionDetail.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Dt_OutOrderTransfer', |
| | | component: () => import('@/views/widesea_wms/invoices/Dt_OutOrderTransfer.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Dt_OutOrderTransferDetail', |
| | | component: () => import('@/views/widesea_wms/invoices/Dt_OutOrderTransferDetail.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Dt_RoadWayInfo', |
| | | component: () => import('@/views/widesea_wms/basicinfo/Dt_RoadWayInfo.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Dt_Strategy', |
| | | component: () => import('@/views/widesea_wms/basicinfo/Dt_Strategy.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Dt_Task', |
| | | component: () => import('@/views/widesea_wms/taskinfo/Dt_Task.vue'), |
| | | meta: { |
| | | keepAlive: true |
| | | |
| | | } |
| | | },{ |
| | | path: '/Dt_Task_Hty', |
| | | name: 'Dt_Task_Hty', |
| | | component: () => import('@/views/widesea_wms/taskinfo/Dt_Task_Hty.vue'), |
| | | meta: { |
| | | keepAlive: true |
| | | |
| | | } |
| | | }, |
| | | // { |
| | |
| | | // name: 'Dt_TaskOut', |
| | | // component: () => import('@/views/widesea_wms/taskinfo/Dt_TaskOut.vue'), |
| | | // meta: { |
| | | // keepAlive: false |
| | | // |
| | | // } |
| | | // }, |
| | | // { |
| | |
| | | // name: 'Dt_TaskExecuteDetail', |
| | | // component: () => import('@/views/widesea_wms/taskinfo/Dt_TaskExecuteDetail.vue'), |
| | | // meta: { |
| | | // keepAlive: false |
| | | // |
| | | // } |
| | | // }, |
| | | { |
| | |
| | | name: 'Dt_UnitInfo', |
| | | component: () => import('@/views/widesea_wms/basicinfo/Dt_UnitInfo.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Dt_WareAreaInfo', |
| | | component: () => import('@/views/widesea_wms/basicinfo/Dt_WareAreaInfo.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Dt_OutOrderSorting', |
| | | component: () => import('@/views/widesea_wms/invoices/Dt_OutOrderSorting.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | // { |
| | |
| | | name: 'PointStackerRelation', |
| | | component: () => import('@/views/widesea_wms/basicinfo/PointStackerRelation.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'LocationStatusChange', |
| | | component: () => import('@/views/widesea_wms/basicinfo/LocationStatusChange.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'DtBoxing', |
| | | component: () => import('@/views/widesea_wms/stock/DtBoxingInfo.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'momTest', |
| | | component: () => import('@/views/widesea_wms/MOM/momTest.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'ProductionModel', |
| | | component: () => import('@/views/widesea_wms/MOM/ProductionModel.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Dt_StationManager', |
| | | component: () => import('@/views/widesea_wms/basicinfo/Dt_StationManager.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | },{ |
| | | path: '/Dt_needBarcode', |
| | | name: 'Dt_needBarcode', |
| | | component: () => import('@/views/widesea_wms/basicinfo/Dt_needBarcode.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | },{ |
| | | path: '/Message', |
| | | name: 'Message', |
| | | component: () => import('@/views/widesea_wms/MOM/ErrorMessage/Message.vue'), |
| | | meta: { |
| | | |
| | | } |
| | | }, |
| | | ] |
| | |
| | | name: 'sys_Log', |
| | | component: () => import('@/views/system/Sys_Log.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Sys_User', |
| | | component: () => import('@/views/system/Sys_User.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'permission', |
| | | component: () => import('@/views/system/Permission.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | |
| | |
| | | name: 'Sys_Dictionary', |
| | | component: () => import('@/views/system/Sys_Dictionary.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | { |
| | |
| | | name: 'Sys_Role', |
| | | component: () => import('@/views/system/Sys_Role.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | // { |
| | | // path: '/Sys_Role1', |
| | | // name: 'Sys_Role1', |
| | | // component: () => import('@/views/system/Sys_Role1.vue') |
| | | // } |
| | | // , |
| | | { |
| | | path: '/Sys_DictionaryList', |
| | | name: 'Sys_DictionaryList', |
| | | component: () => import('@/views/system/Sys_DictionaryList.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | }, |
| | | // { |
| | | // path: '/FormDesignOptions', |
| | | // name: 'FormDesignOptions', |
| | | // component: () => import('@/views/system/form/FormDesignOptions.vue'), |
| | | // meta: { |
| | | // keepAlive: false |
| | | // } |
| | | // }, |
| | | // { |
| | | // path: '/FormCollectionObject', |
| | | // name: 'FormCollectionObject', |
| | | // component: () => import('@/views/system/form/FormCollectionObject.vue'), |
| | | // meta: { |
| | | // keepAlive: false |
| | | // } |
| | | // }, |
| | | // { |
| | | // path: '/Sys_WorkFlow', |
| | | // name: 'Sys_WorkFlow', |
| | | // component: () => import('@/views/system/flow/Sys_WorkFlow.vue'), |
| | | // meta: { |
| | | // keepAlive: false |
| | | // } |
| | | // }, |
| | | // { |
| | | // path: '/Sys_WorkFlowTable', |
| | | // name: 'Sys_WorkFlowTable', |
| | | // component: () => import('@/views/system/flow/Sys_WorkFlowTable.vue'), |
| | | // meta: { |
| | | // keepAlive: false |
| | | // } |
| | | // }, |
| | | // { |
| | | // path: '/Sys_QuartzOptions', |
| | | // name: 'Sys_QuartzOptions', |
| | | // component: () => import('@/views/system/quartz/Sys_QuartzOptions.vue'), |
| | | // meta: { |
| | | // keepAlive: false |
| | | // } |
| | | // }, |
| | | // { |
| | | // path: '/Sys_QuartzLog', |
| | | // name: 'Sys_QuartzLog', |
| | | // component: () => import('@/views/system/quartz/Sys_QuartzLog.vue'), |
| | | // meta: { |
| | | // keepAlive: false |
| | | // } |
| | | // }, |
| | | { |
| | | },{ |
| | | path: '/Sys_Department', |
| | | name: 'Sys_Department', |
| | | component: () => import('@/views/system/system/Sys_Department.vue'), |
| | | meta: { |
| | | keepAlive: false |
| | | |
| | | } |
| | | } |
| | | ] |
¶Ô±ÈÐÂÎļþ |
| | |
| | | <!-- |
| | | *Authorï¼jxx |
| | | *Contactï¼283591387@qq.com |
| | | *代ç ç±æ¡æ¶çæ,任使´æ¹é½å¯è½å¯¼è´è¢«ä»£ç çæå¨è¦ç |
| | | *ä¸å¡è¯·å¨@/extension/widesea_wms/basicinfo/Dt_AreaInfo.jsæ¤å¤ç¼å |
| | | --> |
| | | <template> |
| | | <view-grid ref="grid" :columns="columns" :detail="detail" :editFormFields="editFormFields" |
| | | :editFormOptions="editFormOptions" :searchFormFields="searchFormFields" :searchFormOptions="searchFormOptions" |
| | | :table="table" :extend="extend"> |
| | | </view-grid> |
| | | </template> |
| | | <script> |
| | | import extend from "@/extension/widesea_wms/MOM/MOMMessage.js"; |
| | | import { ref, defineComponent } from "vue"; |
| | | export default defineComponent({ |
| | | setup() { |
| | | const table = ref({ |
| | | key: 'id', |
| | | footer: "Foots", |
| | | cnName: 'MOMæ¶æ¯', |
| | | name: 'MOM/MOMErrorMessage', |
| | | url: "/MOMErrorMessage/", |
| | | sortName: "CreateTime" |
| | | }); |
| | | const editFormFields = ref({}); |
| | | const editFormOptions = ref([]); |
| | | const searchFormFields = ref({}); |
| | | const searchFormOptions = ref([ |
| | | [ |
| | | { "title": "æçå·", "field": "palletCode", type: "text" }, |
| | | { "title": "ä»»å¡å·", "field": "taskNum", type: "text" , hidden: true}, |
| | | { "title": "å¼å¸¸æ¶æ¯", "field": "errorMessage", type: "text" }, |
| | | ], |
| | | [ |
| | | { "title": "apiåç§°", "field": "apiName", type: "text" }, |
| | | { "title": "å建æ¶é´", "field": "createTime", type: "text" }, |
| | | ] |
| | | ]); |
| | | const columns = ref([{ field: 'id', title: '主é®', type: 'int', sort: true, hidden: true, width: 110, readonly: true, require: true, align: 'left' }, |
| | | { field: 'taskNum', title: 'ä»»å¡å·', type: 'string', sort: true, width: 110, require: true, align: 'left', sort: true , hidden: true}, |
| | | { field: 'palletCode', title: 'æçå·', type: 'string', sort: true, width: 110, align: 'left' }, |
| | | { field: 'errorMessage', title: 'å¼å¸¸æ¶æ¯', type: 'string', sort: true, width: 200, align: 'left' }, |
| | | { field: 'apiName', title: 'apiåç§°', type: 'string', sort: true, width: 110, align: 'left' }, |
| | | { field: 'createTime', title: 'å建æ¶é´', type: 'string', sort: true, width: 110, align: 'left' },]); |
| | | const detail = ref({ |
| | | cnName: "#detailCnName", |
| | | table: "#detailTable", |
| | | columns: [], |
| | | sortName: "", |
| | | key: "" |
| | | }); |
| | | return { |
| | | table, |
| | | extend, |
| | | editFormFields, |
| | | editFormOptions, |
| | | searchFormFields, |
| | | searchFormOptions, |
| | | columns, |
| | | detail, |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | |
| | | } |
| | | catch (Exception err) |
| | | { |
| | | MoMErrorMsg.AddMoMErrorMsg(0, input.TrayBarcode, err.Message, SysConfigConst.AgingInput); |
| | | //MoMErrorMsg.AddMoMErrorMsg(0, input.TrayBarcode, err.Message, SysConfigConst.AgingInput); |
| | | Console.WriteLine(err.Message.ToString()); |
| | | LogFactory.GetLog("éç½®éåå
¥åºï¼æ´æçï¼").Error(true, $"\r\r--------------------------------------"); |
| | | LogFactory.GetLog("éç½®éåå
¥åºï¼æ´æçï¼").Error(true, err.StackTrace); |
| | |
| | | } |
| | | catch (Exception err) |
| | | { |
| | | MoMErrorMsg.AddMoMErrorMsg(0, input.TrayBarcode, err.Message, SysConfigConst.AgingOutput); |
| | | //MoMErrorMsg.AddMoMErrorMsg(0, input.TrayBarcode, err.Message, SysConfigConst.AgingOutput); |
| | | Console.WriteLine(err.Message.ToString()); |
| | | LogFactory.GetLog("éç½®éååºåºï¼æ´æçï¼").Error(true, $"\r\r--------------------------------------"); |
| | | LogFactory.GetLog("éç½®éååºåºï¼æ´æçï¼").Error(true, err.StackTrace); |
| | |
| | | } |
| | | catch (Exception err) |
| | | { |
| | | MoMErrorMsg.AddMoMErrorMsg(0, input.TrayBarcode, err.Message, SysConfigConst.TrayCellsStatus); |
| | | //MoMErrorMsg.AddMoMErrorMsg(0, input.TrayBarcode, err.Message, SysConfigConst.TrayCellsStatus); |
| | | |
| | | Console.WriteLine(err.Message.ToString()); |
| | | LogFactory.GetLog("æ´ççµè¯å±æ§è·å").Error(true, $"\r\r--------------------------------------"); |
| | |
| | | { |
| | | if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound) |
| | | { |
| | | #region èçæ¬ |
| | | //var process = await SqlSugarHelper.Db.Queryable<Dt_EquipmentProcess>() |
| | | // .FirstAsync(x => x.EquipmentName == task.Roadway); |
| | | //var info = JsonConvert.DeserializeObject<ResponseEqptRunDto>(process.ProcessValue); |
| | | //if (!task.Roadway.Contains("FR") && stock.ProcessCode != "OCVB") //éå容åºåºä¸å½åå·¥åºæ¯OCVBå䏿¥MOMåºå
¥ç« |
| | | //{ |
| | | // var agingOutputDto = MapToAgingOutputDto(stock); |
| | | // content = await _agingInOrOutInputService.GetOCVOutputAsync(agingOutputDto); |
| | | // //ValidateResponse(content); |
| | | // var result = JsonConvert.DeserializeObject<BasicResult>(content.Data.ToString()); |
| | | // if (!result.Success || !agingOutputDto.SerialNos[0].SerialNoResult) |
| | | // { |
| | | // if (result.MessageCode == "E10001") |
| | | // { |
| | | // var area = _areaInfoRepository.QueryFirst(x => x.AreaCode == stock.AreaCode); |
| | | // if (area == null) |
| | | // { |
| | | // throw new Exception("æªæ¾å°å¯¹åºçåºåºä¿¡æ¯"); |
| | | // } |
| | | // var trayCells = new TrayCellsStatusDto() |
| | | // { |
| | | // Software = area.Spare3, |
| | | // TrayBarcode = task.PalletCode, |
| | | // EquipmentCode = area.Spare2, |
| | | // SceneType = area.Spare4 |
| | | // }; |
| | | // content = await _cellStateService.GetTrayCellStatusAsync(trayCells); |
| | | // if (!content.Status) return content; |
| | | |
| | | // var ResultTray = JsonConvert.DeserializeObject<ResultTrayCellsStatus>(content.Data.ToString()); |
| | | // if (ResultTray.SerialNos.Count > 0) |
| | | // { |
| | | // var parameterInfo = JsonConvert.DeserializeObject<List<ParameterInfo>>(stock.ParameterInfos).FirstOrDefault(y => y.Description.Contains("æ¶é´")); |
| | | // if (parameterInfo == null) throw new Exception(""); |
| | | |
| | | // var outHours = (DateTime.Now - (stock.LinedProcessFeedbackTime == null ? stock.CreateDate : stock.LinedProcessFeedbackTime.ToDateTime())).TotalHours; |
| | | |
| | | // var isNG = outHours > parameterInfo.LowerSpecificationsLimit.ToDouble() && outHours < parameterInfo.UpperSpecificationsLimit.ToDouble(); |
| | | |
| | | // var defectCode = string.Empty; |
| | | // if (!isNG) defectCode = "TQCK"; |
| | | // var outputDto = new AgingOutputDto |
| | | // { |
| | | // OpFlag = 1, |
| | | // Software = area.Spare3, |
| | | // EquipmentCode = area.Spare2, |
| | | // TrayBarcode = stock.PalletCode, |
| | | // SerialNos = ResultTray.SerialNos.Select(x => new SerialNoOutDto |
| | | // { |
| | | // SlotNo = x.PositionNo, |
| | | // SerialNo = x.SerialNo, |
| | | // SerialNoResult = true, //isNG, |
| | | // ParameterInfo = new List<ParameterInfoOutput> { |
| | | // new ParameterInfoOutput() { |
| | | // Value = outHours.ToString(), |
| | | // ParameterCode =parameterInfo.ParameterCode, |
| | | // ParameterDesc = parameterInfo.Description, |
| | | // ParameterResult = "OK", //isNG.ToString(), |
| | | // TargetValue = parameterInfo.TargetValue, |
| | | // LowerLomit = parameterInfo.LowerSpecificationsLimit, |
| | | // UpperLimit = parameterInfo.UpperSpecificationsLimit, |
| | | // DefectCode = defectCode, |
| | | // UOMCode = parameterInfo.UOMCode, |
| | | // } |
| | | // } |
| | | // }).ToList() |
| | | // }; |
| | | |
| | | // content = await _agingInOrOutInputService.GetOCVOutputAsync(outputDto); |
| | | // result = JsonConvert.DeserializeObject<BasicResult>(content.Data.ToString()); |
| | | // if (!result.Success) |
| | | // task.Remark = "NG"; |
| | | // } |
| | | // } |
| | | // else |
| | | // task.Remark = "NG"; |
| | | // } |
| | | //} |
| | | #endregion èçæ¬ |
| | | |
| | | if (task.TaskType == (int)TaskOutboundTypeEnum.Outbound) |
| | | { |
| | | if (!task.Roadway.Contains("FR") && stock.ProcessCode != "OCVB") |
| | |
| | | /// <param name="saveModel">ä»»å¡å·</param> |
| | | /// <returns>æåæå¤±è´¥</returns> |
| | | [HttpGet, Route("CompleteTaskAsync"), AllowAnonymous] |
| | | [TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5ç§èæµ |
| | | //[TypeFilter(typeof(ThrottleFilter), Arguments = new object[] { 5 })] // 5ç§èæµ |
| | | public async Task<WebResponseContent> CompleteTaskAsync(int taskNum) |
| | | { |
| | | return await _taskService.CompleteAsync(taskNum); |
| | |
| | | var elapsedTime = DateTime.Now - lastExecutionTime; |
| | | if (elapsedTime.TotalSeconds < _intervalInSeconds) |
| | | { |
| | | context.Result = new Microsoft.AspNetCore.Mvc.StatusCodeResult(429); |
| | | context.Result = new OkObjectResult(new WebResponseContent().Error("请æ±è¿äºé¢ç¹ï¼è¯·ç¨ååè¯")); |
| | | return; |
| | | } |
| | | } |
| | |
| | | </ItemGroup> |
| | | |
| | | <ItemGroup> |
| | | <None Include="Controllers\Basic\MOMErrorMessageController.cs" /> |
| | | <None Include="wwwroot\WIDESEA_DB.DBSeed.Json\Sys_Tenant.tsv" /> |
| | | <None Include="wwwroot\WIDESEA_DB.DBSeed.Json\Sys_User.tsv" /> |
| | | </ItemGroup> |