feat: 同步全部系统改动与文档
58
work/compare-frontend-db-procedures.js
Normal file
@@ -0,0 +1,58 @@
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
|
||||
const root = path.resolve(__dirname, '..')
|
||||
|
||||
function parseCsv(text) {
|
||||
const source = text.replace(/^\uFEFF/, '').trim()
|
||||
const records = []
|
||||
let record = []
|
||||
let value = ''
|
||||
let quoted = false
|
||||
for (let i = 0; i < source.length; i++) {
|
||||
const c = source[i]
|
||||
if (c === '"') {
|
||||
if (quoted && source[i + 1] === '"') { value += '"'; i++ }
|
||||
else quoted = !quoted
|
||||
} else if (c === ',' && !quoted) {
|
||||
record.push(value); value = ''
|
||||
} else if ((c === '\r' || c === '\n') && !quoted) {
|
||||
if (c === '\r' && source[i + 1] === '\n') i++
|
||||
record.push(value); records.push(record); record = []; value = ''
|
||||
} else value += c
|
||||
}
|
||||
record.push(value)
|
||||
records.push(record)
|
||||
const headers = records.shift()
|
||||
return records.filter(row => row.some(Boolean)).map(row => Object.fromEntries(headers.map((h, i) => [h, row[i] || ''])))
|
||||
}
|
||||
|
||||
function csv(value) {
|
||||
return `"${String(value == null ? '' : value).replace(/"/g, '""')}"`
|
||||
}
|
||||
|
||||
function read(name) {
|
||||
return parseCsv(fs.readFileSync(path.join(root, 'work', name), 'utf8'))
|
||||
}
|
||||
|
||||
const frontend = read('frontend_procedure_call_inventory_20260725.csv')
|
||||
const database = read('database_procedure_inventory_20260725.csv')
|
||||
const normalizeName = value => String(value || '').toLocaleLowerCase()
|
||||
const frontendNames = new Set(frontend.map(row => normalizeName(row.Procedure)))
|
||||
const databaseNames = new Set(database.map(row => normalizeName(row.name)))
|
||||
const missing = frontend
|
||||
.filter(row => !databaseNames.has(normalizeName(row.Procedure)))
|
||||
.sort((a, b) => a.Procedure.localeCompare(b.Procedure, 'zh-CN'))
|
||||
const unused = database
|
||||
.filter(row => !frontendNames.has(normalizeName(row.name)))
|
||||
.sort((a, b) => a.name.localeCompare(b.name, 'zh-CN'))
|
||||
|
||||
const write = (name, headers, rows) => {
|
||||
const text = [headers, ...rows].map(row => row.map(csv).join(',')).join('\n') + '\n'
|
||||
fs.writeFileSync(path.join(root, 'work', name), text, 'utf8')
|
||||
}
|
||||
|
||||
write('frontend_calls_missing_db_procedure_20260725.csv', ['Procedure', 'CallCount', 'CreateDataTypes', 'SourceFiles'], missing.map(row => [row.Procedure, row.CallCount, row.CreateDataTypes, row.SourceFiles]))
|
||||
write('database_procedures_unused_by_static_frontend_20260725.csv', ['name', 'ParameterCount', 'HasWriteKeyword', 'HasExternalDependency', 'DefinitionBytes'], unused.map(row => [row.name, row.ParameterCount, row.HasWriteKeyword, row.HasExternalDependency, row.DefinitionBytes]))
|
||||
|
||||
console.log(JSON.stringify({ frontendProcedures: frontend.length, databaseProcedures: database.length, missing: missing.length, unused: unused.length }))
|
||||
772
work/createdata_calls_raw.txt
Normal file
@@ -0,0 +1,772 @@
|
||||
src\views\ProcessManagement\ProductionOrder\index.vue:CreateData('11', '设备管理_设备信息_查询')
|
||||
src\views\ProcessManagement\ProductionOrder\index.vue:CreateData('11', '工艺管理_生产工艺_查询生产工艺', param)
|
||||
src\views\ProcessManagement\ProductionOrder\index.vue:CreateData('11', '工艺管理_生产工艺_查询标准工艺', param)
|
||||
src\views\ProcessManagement\ProductionOrder\index.vue:CreateData('11', '工艺管理_工艺任务_订单查询', param)
|
||||
src\views\ProcessManagement\ProductionOrder\index.vue:CreateData('12', '计划排产_生产订单_订单任务', param)
|
||||
src\views\ProductionManagement\WorkhoursEdit\index.vue:CreateData("11", "人员管理_人员信息查询_质检部门_查询");
|
||||
src\views\ProductionManagement\WorkhoursEdit\index.vue:CreateData('11', '系统管理_人员管理_所有有效人员查询', param)
|
||||
src\views\ProductionManagement\WorkhoursEdit\index.vue:CreateData('11', '工时校验_获取订单列表', param)
|
||||
src\views\ProductionManagement\WorkhoursEdit\index.vue:CreateData('11', '工时校验_获取订单工序', param)
|
||||
src\views\ProductionManagement\WorkhoursEdit\index.vue:CreateData('11', '工时校验_获取操作记录列表', param)
|
||||
src\views\ProductionManagement\WorkhoursEdit\index.vue:CreateData('11', '工时校验_获取订单工序', params)
|
||||
src\views\ProductionManagement\WorkhoursEdit\index.vue:CreateData('11', '工时校验_获取设备数据', queryParam)
|
||||
src\views\ProductionManagement\WorkhoursEdit\index.vue:CreateData('11', '工时校验_保存校验记录', param)
|
||||
src\views\ProductionManagement\WorkhoursEdit\index.vue:CreateData('11', '工时校验_新增操作记录', param)
|
||||
src\views\SaleManagement\saleorderstatus\index.vue:CreateData("11", "生产管理_装配中心_缺料查询", params);
|
||||
src\views\SaleManagement\saleorderstatus\index.vue:CreateData('11', '销售管理_销售订单状态', param)
|
||||
src\views\SaleManagement\saleorderstatus\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\SaleManagement\saleorderstatus\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\SystemMaintenance\OrgManagement\index.vue:CreateData('11', '菜单系统模块_项目角色_查询数据_MESWORK', param)
|
||||
src\views\SystemMaintenance\OrgManagement\index.vue:CreateData('11', '菜单系统模块_项目角色_修改数据_MESWORK', param)
|
||||
src\views\SystemMaintenance\OrgManagement\index.vue:CreateData('11', '菜单系统模块_项目角色_增加_MESWORK', param)
|
||||
src\views\SystemMaintenance\OrgManagement\index.vue:CreateData('11', '菜单系统模块_项目角色_删除_MESWORK', param)
|
||||
src\views\AnomalousManagement\UrgentTask\index.vue:CreateData("11", "加急订单_加急明细查询",param);
|
||||
src\views\AnomalousManagement\UrgentTask\index.vue:CreateData('11', '生产管理_生产计划跟踪', param)
|
||||
src\views\AnomalousManagement\UrgentTask\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\AnomalousManagement\UrgentTask\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\AnomalousManagement\OutPunctualWork\index.vue:CreateData('11', '异常提醒_外协及时开工_查询',param)
|
||||
src\views\SystemMaintenance\WorkstationManagement\index.vue:CreateData('11', 'MES_登录_工位与名称_查询', param)
|
||||
src\views\SystemMaintenance\WorkstationManagement\index.vue:CreateData('11', '系统管理_工位管理_工位信息修改', param)
|
||||
src\views\SystemMaintenance\WorkstationManagement\index.vue:CreateData('11', '系统管理_工位管理_工位信息增加', param)
|
||||
src\views\SystemMaintenance\WorkstationManagement\index.vue:CreateData('11', '系统管理_工位管理_工位信息删除', param)
|
||||
src\views\SystemMaintenance\MenuManagement\index.vue:CreateData('11', '菜单系统模块_项目角色_查询数据_MESWORK', param)
|
||||
src\views\SystemMaintenance\PersonnelManagement\index.vue:CreateData('11', '人员管理_角色信息初始化查询_查询')
|
||||
src\views\SystemMaintenance\PersonnelManagement\index.vue:CreateData('12', '登录基础数据_人员信息_切换是否用户', param)
|
||||
src\views\SystemMaintenance\PersonnelManagement\index.vue:CreateData('11', '人员管理_人员信息查询_查询', param)
|
||||
src\views\SystemMaintenance\PersonnelManagement\index.vue:CreateData('12', '人员管理_人员信息修改_编辑', param)
|
||||
src\views\SystemMaintenance\PersonnelManagement\index.vue:CreateData('12', '人员管理_人员信息修改_删除', param)
|
||||
src\views\SystemMaintenance\PersonnelManagement\index.vue:CreateData('11', '人员管理_人员信息新增_新增', param)
|
||||
src\views\SystemMaintenance\PersonnelManagement\index.vue:CreateData('11', 'WEB_摄像头查看权限_查询', param)
|
||||
src\views\SystemMaintenance\PersonnelManagement\index.vue:CreateData('12', 'WEB_登录基础数据_人员信息_重置密码', param)
|
||||
src\views\SystemMaintenance\PersonnelManagement\index.vue:CreateData('11', 'WEB_人员设备查看权限_查询', param)
|
||||
src\views\SystemMaintenance\PersonnelManagement\index.vue:CreateData('12', 'WEB_人员设备查看权限_权限切换', param)
|
||||
src\views\SystemMaintenance\PersonnelManagement\index.vue:CreateData('12', 'WEB_人员摄像头查看权限_权限切换', param)
|
||||
src\views\QualityManagement\QualityDetails\index.vue:CreateData('2001', '质量管理_质检明细_导出', param)
|
||||
src\views\QualityManagement\QualityDetails\index.vue:CreateData('11', '系统管理_人员管理_所有有效人员查询', param)
|
||||
src\views\QualityManagement\QualityDetails\index.vue:CreateData('11', '工时校验_获取订单列表', param)
|
||||
src\views\QualityManagement\QualityDetails\index.vue:CreateData('11', '工时校验_获取订单工序', param)
|
||||
src\views\QualityManagement\QualityDetails\index.vue:CreateData('11', '质量管理_质检明细_查询', param)
|
||||
src\views\CraftManagement\CraftMaintain\index.vue:CreateData('11', 'WEB_基本表_产品结构_新增', param)
|
||||
src\views\CraftManagement\CraftMaintain\index.vue:CreateData('11', 'WEB_基本表_产品结构_查询', param)
|
||||
src\views\CraftManagement\CraftMaintain\index.vue:CreateData('11', 'WEB_基本表_产品结构_删除', param)
|
||||
src\views\CraftManagement\CraftMaintain\index.vue:CreateData('11', 'WEB_基本表_产品结构_修改', param)
|
||||
src\views\CraftManagement\CraftMaintain\index.vue:CreateData('12', '产品关系_变更节点排序', param)
|
||||
src\views\QualityManagement\Unqualified\index.vue:CreateData("11", "人员管理_人员信息查询_质检部门_查询");
|
||||
src\views\QualityManagement\Unqualified\index.vue:CreateData('11', '质量管理_不合格品处置_查询', param)
|
||||
src\views\AnomalousManagement\AssemblyPunctualInspection\index.vue:CreateData('11', '异常提醒_装配及时送检_查询', param)
|
||||
src\views\SystemMaintenance\SystemRrolemaintenance\index.vue:CreateData('11', '菜单系统模块_项目角色_查询数据_MESWORK', param)
|
||||
src\views\SystemMaintenance\SystemRrolemaintenance\index.vue:CreateData('11', '菜单系统模块_项目角色_修改数据_MESWORK', param)
|
||||
src\views\SystemMaintenance\SystemRrolemaintenance\index.vue:CreateData('11', '菜单系统模块_项目角色_增加_MESWORK', param)
|
||||
src\views\SystemMaintenance\SystemRrolemaintenance\index.vue:CreateData('11', '菜单系统模块_项目角色_删除_MESWORK', param)
|
||||
src\views\ProcessManagement\PartDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_查询删除记录', params)
|
||||
src\views\ProcessManagement\PartDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_零件图查询全部', param)
|
||||
src\views\ProcessManagement\PartDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_物料查询',param)
|
||||
src\views\ProcessManagement\PartDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_验证名称', param)
|
||||
src\views\ProcessManagement\PartDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param)
|
||||
src\views\ProcessManagement\PartDrawlook\index.vue:CreateData('12', '工艺管理_图纸维护_删除图纸', param)
|
||||
src\views\ProcessManagement\PartDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param)
|
||||
src\views\ProcessManagement\PartDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param)
|
||||
src\views\ProcessManagement\PartDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_零件图查询全部', param)
|
||||
src\views\ProcessManagement\PartDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_零件图查询全部', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index.vue:CreateData('11', 'usp_BatchValidateWorkTime', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index.vue:CreateData('11', 'usp_ValidateWorkTime', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index.vue:CreateData("11", "人员管理_人员信息查询_质检部门_查询");
|
||||
src\views\ProductionManagement\WorkHoursCheck\index.vue:CreateData('11', '系统管理_人员管理_所有有效人员查询', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index.vue:CreateData('11', '工时校验_获取订单列表', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index.vue:CreateData('11', '工时校验_获取订单工序', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index.vue:CreateData('11', '工时校验_获取昨日之前操作记录列表', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index.vue:CreateData('11', '工时校验_获取资源', params)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index.vue:CreateData('11', '工时校验_获取订单工序', params)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index.vue:CreateData('11', '工时校验_获取设备数据', queryParam)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index.vue:CreateData('11', '工时校验_保存校验记录', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index.vue:CreateData('11', '工时校验_批量保存校验记录', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index.vue:CreateData('11', '工时校验_批量保存校验记录', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index.vue:CreateData('11', '工时校验_保存校验记录', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index.vue:CreateData('11', '工时校验_批量保存校验记录', skipParam)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index.vue:CreateData('11', '工时校验_新增操作记录', param)
|
||||
src\views\DeviceManagement\DeviceRealData\index.vue:CreateData('11', '设备管理_设备数据_工位信息_查询')
|
||||
src\views\DeviceManagement\DeviceRealData\index.vue:CreateData('11', '设备管理_设备数据_统计数据查询', param)
|
||||
src\views\DeviceManagement\DeviceRealData\index.vue:CreateData('11', '设备管理_设备数据_统计数据查询_通过类型', param)
|
||||
src\views\AnomalousManagement\PunctualWork\index.vue:CreateData("11", "异常提醒_及时开工_查询", param);
|
||||
src\views\AnomalousManagement\PunctualWork\index.vue:CreateData("11", "MES_登录_工位与名称_查询");
|
||||
src\views\AnomalousManagement\PunctualWork\index.vue:CreateData("11", "Prog_MES_LoadProcess");
|
||||
src\views\AnomalousManagement\PunctualWork\index.vue:CreateData("11", "查询字典");
|
||||
src\views\QualityManagement\TestAssemblyTask\index.vue:CreateData('11', '质量管理_测试装配任务_查询', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本.vue:CreateData("11", "人员管理_人员信息查询_质检部门_查询");
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本.vue:CreateData('11', '系统管理_人员管理_所有有效人员查询', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本.vue:CreateData('11', '工时校验_获取订单列表', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本.vue:CreateData('11', '工时校验_获取订单工序', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本.vue:CreateData('11', '工时校验_获取昨日之前操作记录列表', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本.vue:CreateData('11', '工时校验_获取资源', params)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本.vue:CreateData('11', '工时校验_获取订单工序', params)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本.vue:CreateData('11', '工时校验_获取设备数据', queryParam)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本.vue:CreateData('11', '工时校验_保存校验记录', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本.vue:CreateData('11', '工时校验_批量保存校验记录', skipParam)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本.vue:CreateData('11', '工时校验_获取操作人当天报工记录', queryParam)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本.vue:CreateData('11', '工时校验_批量保存校验记录', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本.vue:CreateData('11', '工时校验_获取操作人当天报工记录', queryParam)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本.vue:CreateData('11', '工时校验_批量保存校验记录', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本.vue:CreateData('11', '工时校验_批量保存校验记录', successParam)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本.vue:CreateData('11', '工时校验_新增操作记录', param)
|
||||
src\views\DeviceManagement\DeviceInformation\index.vue:CreateData('11', '查询字典')
|
||||
src\views\DeviceManagement\DeviceInformation\index.vue:CreateData('11', 'MES_登录_工位与名称_查询', [])
|
||||
src\views\DeviceManagement\DeviceInformation\index.vue:CreateData('11', '设备管理_设备信息_查询', param, this.pageSize, this.pageCurrent)
|
||||
src\views\DeviceManagement\DeviceInformation\index.vue:CreateData('12', '设备管理_设备信息_增加', this.buildSubmitParams())
|
||||
src\views\DeviceManagement\DeviceInformation\index.vue:CreateData('12', '设备管理_设备信息_编辑', param)
|
||||
src\views\DeviceManagement\DeviceInformation\index.vue:CreateData('12', '设备管理_设备信息_删除', param)
|
||||
src\views\ProcessManagement\PartDrawing\index.vue:CreateData('11', '工艺管理_图纸维护_查询删除记录', params)
|
||||
src\views\ProcessManagement\PartDrawing\index.vue:CreateData('11', '工艺管理_图纸维护_零件图查询', param)
|
||||
src\views\ProcessManagement\PartDrawing\index.vue:CreateData('11', '工艺管理_图纸维护_物料查询',param)
|
||||
src\views\ProcessManagement\PartDrawing\index.vue:CreateData('11', '工艺管理_图纸维护_验证名称', param)
|
||||
src\views\ProcessManagement\PartDrawing\index.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param)
|
||||
src\views\ProcessManagement\PartDrawing\index.vue:CreateData('12', '工艺管理_图纸维护_删除图纸', param)
|
||||
src\views\ProcessManagement\PartDrawing\index.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param)
|
||||
src\views\ProcessManagement\PartDrawing\index.vue:CreateData('11', '工艺管理_图纸维护_零件图查询', param)
|
||||
src\views\ProcessManagement\PartDrawing\index.vue:CreateData('11', '工艺管理_图纸维护_零件图查询', param)
|
||||
src\views\ProcessManagement\ProcedureManagement\index.vue:CreateData('11', 'MES_ProcessManagement_ProcessGet', param)
|
||||
src\views\ProcessManagement\ProcedureManagement\index.vue:CreateData('11', 'MES_ProcessManagement_ProcessAdd', param)
|
||||
src\views\ProcessManagement\ProcedureManagement\index.vue:CreateData('12', 'MES_ProcessManagement_ProcessEdit', param)
|
||||
src\views\ProcessManagement\ProcedureManagement\index.vue:CreateData('12', 'MES_ProcessManagement_Processdel', param)
|
||||
src\views\QualityManagement\QualityStandardQuery\index.vue:CreateData("11", "MES_ProcessManagement_PartGet");
|
||||
src\views\QualityManagement\QualityStandardQuery\index.vue:CreateData("11", "Prog_MES_LoadProcess");
|
||||
src\views\QualityManagement\QualityStandardQuery\index.vue:CreateData("11", "查询字典");
|
||||
src\views\QualityManagement\QualityStandardQuery\index.vue:CreateData("12", "质量管理_检验标准表_新增", param);
|
||||
src\views\QualityManagement\QualityStandardQuery\index.vue:CreateData("11", "质量管理_检验标准表_查询", param);
|
||||
src\views\QualityManagement\QualityStandardQuery\index.vue:CreateData("12", "质量管理_检验标准表_修改", param);
|
||||
src\views\QualityManagement\QualityStandardQuery\index.vue:CreateData("12", "质量管理_检验标准表_删除", param);
|
||||
src\views\DeviceManagement\DeviceDataHistory\index.vue:CreateData('11', 'MES_登录_工位与名称_查询')
|
||||
src\views\DeviceManagement\DeviceDataHistory\index.vue:CreateData('11', '设备管理_设备数据_历史查询', param)
|
||||
src\views\DeviceManagement\DeviceDataHistory\index.vue:CreateData('11', '设备管理_设备数据_历史查询', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本 (2).vue:CreateData('11', 'usp_BatchValidateWorkTime', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本 (2).vue:CreateData('11', 'usp_ValidateWorkTime', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本 (2).vue:CreateData("11", "人员管理_人员信息查询_质检部门_查询");
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本 (2).vue:CreateData('11', '系统管理_人员管理_所有有效人员查询', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本 (2).vue:CreateData('11', '工时校验_获取订单列表', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本 (2).vue:CreateData('11', '工时校验_获取订单工序', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本 (2).vue:CreateData('11', '工时校验_获取昨日之前操作记录列表', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本 (2).vue:CreateData('11', '工时校验_获取资源', params)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本 (2).vue:CreateData('11', '工时校验_获取订单工序', params)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本 (2).vue:CreateData('11', '工时校验_获取设备数据', queryParam)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本 (2).vue:CreateData('11', '工时校验_保存校验记录', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本 (2).vue:CreateData('11', '工时校验_批量保存校验记录', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本 (2).vue:CreateData('11', '工时校验_批量保存校验记录', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本 (2).vue:CreateData('11', '工时校验_保存校验记录', param)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本 (2).vue:CreateData('11', '工时校验_批量保存校验记录', skipParam)
|
||||
src\views\ProductionManagement\WorkHoursCheck\index - 副本 (2).vue:CreateData('11', '工时校验_新增操作记录', param)
|
||||
src\views\ProcessManagement\ProcessDrawing\index.vue:CreateData('11', '工艺管理_工艺维护_工艺图查询', param)
|
||||
src\views\ProcessManagement\ProcessDrawing\index.vue:CreateData('11', '工艺管理_图纸维护_物料查询',param)
|
||||
src\views\ProcessManagement\ProcessDrawing\index.vue:CreateData('11', '工艺管理_工艺维护_验证名称', param)
|
||||
src\views\ProcessManagement\ProcessDrawing\index.vue:CreateData('11', '工艺管理_工艺维护_查看图纸', param)
|
||||
src\views\ProcessManagement\ProcessDrawing\index.vue:CreateData('12', '工艺管理_工艺维护_删除图纸', param)
|
||||
src\views\ProcessManagement\ProcessDrawing\index.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param)
|
||||
src\views\ProcessManagement\ProcessDrawing\index.vue:CreateData('11', '工艺管理_工艺维护_查看图纸', param)
|
||||
src\views\ProcessManagement\ProcessDrawing\index.vue:CreateData('11', '工艺管理_工艺维护_工艺图查询', param)
|
||||
src\views\ProcessManagement\ProcessDrawing\index.vue:CreateData('11', '工艺管理_工艺维护_工艺图查询', param)
|
||||
src\views\ProcessManagement\ProcurementDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_查询删除记录', params)
|
||||
src\views\ProcessManagement\ProcurementDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_零件图查询采购', param)
|
||||
src\views\ProcessManagement\ProcurementDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_物料查询_采购',param)
|
||||
src\views\ProcessManagement\ProcurementDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_验证名称', param)
|
||||
src\views\ProcessManagement\ProcurementDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param)
|
||||
src\views\ProcessManagement\ProcurementDrawlook\index.vue:CreateData('12', '工艺管理_图纸维护_删除图纸', param)
|
||||
src\views\ProcessManagement\ProcurementDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param)
|
||||
src\views\ProcessManagement\ProcurementDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param)
|
||||
src\views\ProcessManagement\ProcurementDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_零件图查询采购', param)
|
||||
src\views\ProcessManagement\ProcurementDrawlook\index.vue:CreateData('11', '工艺管理_图纸维护_零件图查询采购', param)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '工艺管理_获取物料原料信息',param)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '设备管理_设备信息_查询')
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '工艺管理_生产计划物料查询', param)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '工艺管理_生产工艺_生产工艺拷贝')
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '工艺管理_生产工艺_标准工艺拷贝')
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', 'MES_ProcessManagement_ProcessBindGet', param)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', 'MES_ProcessManagement_ProcessBindGet', param)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '工艺管理_制定标准工艺_拷贝生产工艺', param)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', 'MES_ProcessManagement_ProcessGet', param)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', 'MES_ProcessManagement_ProcessGet', param)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('12', '工艺管理_制定标准工艺_拷贝工艺保存', param1)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '工艺管理_工艺维护_查看图纸', param)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '车间生产管理工艺_零件工序_修改数据_工艺库', param1)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '车间生产管理工艺_零件工序_查询工序信息_工艺库', param)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '车间生产管理工艺_零件工序_编辑_工艺库', param1)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '车间生产管理工艺_零件工序_编辑插入行', row)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '车间生产管理工艺_零件工序_查询工序信息_工艺库', param1)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '车间生产管理工艺_零件工序_删除工序_工艺库', param1)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '车间生产管理工艺_零件工序_查询工序信息_工艺库', param1)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '车间生产管理工艺_零件工序_上移工序_工艺库', param1)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '车间生产管理工艺_零件工序_查询工序信息_工艺库', param1)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '车间生产管理工艺_零件工序_下移工序_工艺库', param1)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '车间生产管理工艺_零件工序_查询工序信息_工艺库', param1)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '车间生产管理工艺_零件工序_插入工序_工艺库', param1)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '车间生产管理工艺_零件工序_查询工序信息_工艺库', param3)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '车间生产管理工艺_零件工序_启用', param1)
|
||||
src\views\ProcessManagement\ProcessesDevelop\index.vue:CreateData('11', '车间生产管理工艺_零件工序_查询工序信息_工艺库', param3)
|
||||
src\views\ProductionManagement\ProductionTasksSum\index.vue:CreateData('11', 'MES_登录_工位与名称_查询')
|
||||
src\views\ProductionManagement\ProductionTasksSum\index.vue:CreateData('11', 'MES_ProductTask_WorkTimeSum', param)
|
||||
src\views\ProductionManagement\ProductionTasksSum\index.vue:CreateData('11', '生产管理_生产任务汇总', param)
|
||||
src\views\ProductionManagement\ProductionTasksSum\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\ProductionManagement\ProductionTasksSum\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\ProductionManagement\ProductionTasksSum\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\QualityManagement\QualityStandardQuery\index copy.vue:CreateData("11", "查询零件号"); // 这里替换为实际的存储过程名
|
||||
src\views\QualityManagement\QualityStandardQuery\index copy.vue:CreateData("11", "Prog_MES_LoadProcess");
|
||||
src\views\QualityManagement\QualityStandardQuery\index copy.vue:CreateData("11", "查询字典");
|
||||
src\views\QualityManagement\QualityStandardQuery\index copy.vue:CreateData("12", "质量管理_检验标准表_新增", param);
|
||||
src\views\QualityManagement\QualityStandardQuery\index copy.vue:CreateData("11", "质量管理_检验标准表_查询", param);
|
||||
src\views\QualityManagement\QualityStandardQuery\index copy.vue:CreateData("12", "质量管理_检验标准表_修改", param);
|
||||
src\views\QualityManagement\QualityStandardQuery\index copy.vue:CreateData("12", "质量管理_检验标准表_删除", param);
|
||||
src\views\DeviceManagement\Devicedata\index.vue:CreateData('11', 'MES_登录_工位与名称_查询')
|
||||
src\views\DeviceManagement\Devicedata\index.vue:CreateData('11', '设备管理_设备数据查询', param)
|
||||
src\views\ProcessManagement\ProcessInquiry\index.vue:CreateData('11', '工艺管理_获取物料原料信息', param)
|
||||
src\views\ProcessManagement\ProcessInquiry\index.vue:CreateData('11', 'MES_ProcessManagement_PartGet', param)
|
||||
src\views\ProcessManagement\ProcessInquiry\index.vue:CreateData('11', '工艺管理_工艺查询_查询生产工艺', param)
|
||||
src\views\ProcessManagement\ProcessInquiry\index.vue:CreateData('11', '工艺管理_工艺查询_更新打印次数', param)
|
||||
src\views\ProcessManagement\ProcessInquiry\index.vue:CreateData('11', this.processprodutc ? '工艺管理_工艺查询_生产工艺查询' : '工艺管理_工艺查询', param)
|
||||
src\views\SystemMaintenance\OperationLog\index.vue:CreateData('11', '系统管理_报工操作记录_查询', param)
|
||||
src\views\ProductionManagement\ProductionTaskManage\index.vue:CreateData('11', 'MES_登录_工位与名称_查询')
|
||||
src\views\ProductionManagement\ProductionTaskManage\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\ProductionManagement\ProductionTaskManage\index.vue:CreateData('11', 'MES_ProductTask_WorkTimeSum', param)
|
||||
src\views\ProductionManagement\ProductionTaskManage\index.vue:CreateData('11', 'MES_ProductAdmin_Query', param)
|
||||
src\views\ProductionManagement\ProductionTaskManage\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\ProductionManagement\ProductionTaskManage\index.vue:CreateData('12', 'Prog_MES_SingleTaskPlanned', params)
|
||||
src\views\ProductionManagement\ProductionTaskManage\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\ProductionManagement\ProductionTaskManage\index.vue:CreateData('12', 'MES_ProductTask_Notice', params)
|
||||
src\views\ProductionManagement\ProductionTaskManage\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\ProductionManagement\PersonnelBinding\index.vue:CreateData('11', 'MES_登录_工位与名称_查询', param)
|
||||
src\views\ProductionManagement\PersonnelBinding\index.vue:CreateData('11', '系统管理_人员管理_所有有效人员查询', param)
|
||||
src\views\ProductionManagement\PersonnelBinding\index.vue:CreateData('11', '系统管理_工位管理_工位绑定人员查询', param)
|
||||
src\views\ProductionManagement\PersonnelBinding\index.vue:CreateData('11', '系统管理_工位管理_工位绑定人员查询', param)
|
||||
src\views\ProductionManagement\PersonnelBinding\index.vue:CreateData('11', '系统管理_工位管理_工位绑定人员保存', param)
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('11', '计划排产_生产订单_已排产订单查询'); // 确保这个接口返回包含订单号的数据
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('11', 'MES_登录_工位与名称_查询')
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('11', 'MES_OrderPlanned_Queryzp', param,this.pageSize, this.pageCurrent)
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('11', 'MES_OrderPlanned_Queryzp', param,this.pageSize, this.pageCurrent)
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('11', '系统管理_人员管理_所有有效人员查询', params)
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('12', '计划排产_派工', params)
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('11', 'MES_OrderPlanned_Finish', params);
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\PlanManagement\InstallMakePlanDone\index.vue:CreateData('12', '计划排产_自制件_日程时间修改', params)
|
||||
src\views\ProductionManagement\Workhours\index.vue:CreateData('11', '生产管理_工时查询_工序工时_查询', param)
|
||||
src\views\ProductionManagement\ProductionPlanTrack\index.vue:CreateData("11", "加急订单_加急明细查询",param);
|
||||
src\views\ProductionManagement\ProductionPlanTrack\index.vue:CreateData('11', '生产管理_生产计划跟踪', param)
|
||||
src\views\ProductionManagement\ProductionPlanTrack\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\ProductionManagement\ProductionPlanTrack\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('11', '计划排产_生产订单_已排产订单查询'); // 确保这个接口返回包含订单号的数据
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('11', 'MES_登录_工位与名称_查询')
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('11', 'MES_OrderPlanned_Queryzp', param,this.pageSize, this.pageCurrent)
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('11', 'MES_OrderPlanned_Queryzp', param,this.pageSize, this.pageCurrent)
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('11', '系统管理_人员管理_所有有效人员查询', params)
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('12', '计划排产_派工', params)
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('11', 'MES_OrderPlanned_Finish', params);
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\PlanManagement\InstallMakePlanDo\index.vue:CreateData('12', '计划排产_自制件_日程时间修改', params)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', '生产管理_加工中心_获取设备人员', params)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "生产管理_加工中心_获取班次信息",'');
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "加急订单_加急明细查询",param);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', '生产管理_获取人员绑定', param)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', '工时校验_获取订单工序', param)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', '工时校验_获取订单列表', param)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', '异常工时_新增操作记录', param)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "MES_操作记录_获取暂停状态", params);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "MES_操作记录_获取任务暂停状态", params);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "MES_登录_工位与名称_查询");
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "Prog_MES_LoadProcess");
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "查询字典");
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "人员管理_人员信息查询_质检部门_查询");
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("12", "MES_ProductTask_HelpStart", params);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "Prog_MES_GetProductOrder_byAID", param);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "Prog_MES_GetProductOrder_byAID", param);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "MES_ProductCenter_GetTask", param);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "MES_ProductTask_WorkTimeSum", param);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "MES_ProductTask_HelpEnd", params);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData(
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("12", "MES_ProductTask_Rest", params);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "生产管理_加工中心_设备是否正在加工", params);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "Prog_MES_GetProductOrder_byAID", param);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData(
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', 'MES_ProductCenter_GetOrderTasks', params)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', '生产管理_加工中心_班次信息', [])
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', '生产管理_加工中心_开始时间', param4)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', 'MES_ProductTask_ProdReport', params)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "生产管理_加工中心_获取设备人员", params);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "MES_ProductTask_ProdReport", params);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "MES_ProductCenter_DoingTask", params);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "Prog_MES_GetProductOrder_byAID", param);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData(
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData(
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "Prog_MES_GetProductOrder_byAID", param);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData(
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData(
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "加工中心_收检_读取收检记录", param);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData(
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData(
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData(
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData(
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData(
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData("11", "加工中心_修改工时_保存修改记录", param);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', 'sp_获取最近处理任务', params)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', '人员管理_人员信息查询')
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', 'sp_获取我的流程', params)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', 'sp_获取待处理任务', params)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', 'MES_ProductAdmin_Query', params)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', 'sp_创建流程_简化版', params)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('12', 'sp_处理审批', params)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('12', 'sp_转办流程', params)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', 'sp_完成流程', params)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', 'sp_获取流程详情', params)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', '生产管理_加工中心_生产发料查询', param)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', '生产管理_加工中心_领料物料查询', param)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param);
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('11', '工艺管理_工艺维护_查看图纸', param)
|
||||
src\views\ProductionManagement\MachiningCenter\index.vue:CreateData('12', '生产管理_加工中心_退库', param);
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData('11', '生产管理_获取人员绑定', param)
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData("11", "加急订单_加急明细查询",param);
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData("11", "MES_人员工时记录_获取进行中任务2", param);
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData("11", "MES_人员工时记录_获取进行中任务", param);
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData('11', '工时校验_获取订单列表', param)
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData('11', '异常工时_新增操作记录', param)
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData('11', '工时校验_获取订单工序', param)
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData("11", "MES_登录_工位与名称_查询");
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData("11", "Prog_MES_LoadProcess");
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData("11", "质量管理_质检报工_任务查询", param);
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData("11", "MES_ProductTask_WorkTimeSum", param);
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData("11", "生产管理_装配中心_缺料查询", params);
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData("12", "MES_人员工时记录_开始", params);
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData("11", "生产管理_加工中心_班次信息", []);
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData('11', '生产管理_加工中心_自动加班', jiabanparams)
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData("12", "MES_人员工时记录_结束", params);
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData("12", "MES_ProductTask_Rest", params);
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData("12", "MES_ProductTask_SendInspection", params);
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData("11", "加工中心_收检_读取收检记录", param);
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData(
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData(
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData("11", "加工中心_修改工时_保存修改记录", param);
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData('11', '生产管理_加工中心_生产发料查询', param)
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData('11', '生产管理_加工中心_领料物料查询', param)
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param)
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData('11', '工艺管理_工艺维护_查看图纸', param)
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData('12', '生产管理_加工中心_退库', param);
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData("11", "Prog_MES_GetProductOrder_byAID", param);
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData(
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData(
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData("11", "Prog_MES_GetProductOrder_byAID", param);
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData(
|
||||
src\views\QualityManagement\QualityCenter\index.vue:CreateData(
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('11', '设备管理_设备状态_查询', [['设备名称', '']])
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('11', '生产管理_结算工时_查询', param)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('11', '工艺管理_获取物料原料信息',param)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('11', '计划排产_生产订单_已排产订单查询'); // 确保这个接口返回包含订单号的数据
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('11', 'MES_登录_工位与名称_查询')
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('11', '机加已排产_获取任务列表', param,this.pageSize, this.pageCurrent)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('11', '机加已排产_获取任务列表', param,this.pageSize, this.pageCurrent)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('11', '系统管理_人员管理_所有有效人员查询', params)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('12', '计划排产_派工', params)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('12', '计划排产_外协分组', params)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('11', 'MES_OrderPlanned_Finish', params);
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\PlanManagement\WorkstationPlan\index.vue:CreateData('12', '计划排产_自制件_日程时间修改', params)
|
||||
src\views\PlanManagement\priorityinstall\index.vue:CreateData('11', 'MES_OrderPlanned_Queryzp', param, this.donepageSize, this.donepageCurrent)
|
||||
src\views\PlanManagement\priorityinstall\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\priorityinstall\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\priorityinstall\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\QualityManagement\CheckTask\salesReturn.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param);
|
||||
src\views\QualityManagement\CheckTask\salesReturn.vue:CreateData('11', '工艺管理_工艺维护_查看图纸', param);
|
||||
src\views\QualityManagement\CheckTask\salesReturn.vue:CreateData("11", "查询字典");
|
||||
src\views\QualityManagement\CheckTask\salesReturn.vue:CreateData("11", "人员管理_人员信息查询_质检部门_查询");
|
||||
src\views\QualityManagement\CheckTask\salesReturn.vue:CreateData(
|
||||
src\views\QualityManagement\CheckTask\salesReturn.vue:CreateData("12", "质量管理_销售退货检_更新", param);
|
||||
src\views\ProductionManagement\Urgent\index.vue:CreateData("11", "加急订单_加急明细查询",param);
|
||||
src\views\ProductionManagement\Urgent\index.vue:CreateData(
|
||||
src\views\ProductionManagement\Urgent\index.vue:CreateData(
|
||||
src\views\ProductionManagement\Urgent\index.vue:CreateData(
|
||||
src\views\ProductionManagement\OutsourceSheet\index.vue:CreateData('2001', '生产管理_外协报表_导出', param)
|
||||
src\views\ProductionManagement\OutsourceSheet\index.vue:CreateData('11', '系统管理_人员管理_所有有效人员查询', param)
|
||||
src\views\ProductionManagement\OutsourceSheet\index.vue:CreateData('11', '工时校验_获取订单列表', param)
|
||||
src\views\ProductionManagement\OutsourceSheet\index.vue:CreateData('11', '工时校验_获取订单工序', param)
|
||||
src\views\ProductionManagement\OutsourceSheet\index.vue:CreateData('11', '生产管理_外协报表_查询', param)
|
||||
src\views\QualityManagement\CheckTask\purchaseIncoming.vue:CreateData("11", "加急订单_加急明细查询", param);
|
||||
src\views\QualityManagement\CheckTask\purchaseIncoming.vue:CreateData("11", "工艺管理_图纸维护_查看图纸", param);
|
||||
src\views\QualityManagement\CheckTask\purchaseIncoming.vue:CreateData("11", "查询字典");
|
||||
src\views\QualityManagement\CheckTask\purchaseIncoming.vue:CreateData("11", "人员管理_人员信息查询_质检部门_查询");
|
||||
src\views\QualityManagement\CheckTask\purchaseIncoming.vue:CreateData(
|
||||
src\views\QualityManagement\CheckTask\purchaseIncoming.vue:CreateData("12", "质量管理_来料检验_更新", param);
|
||||
src\views\PlanManagement\PlanShell\index.vue:CreateData("11", "生产管理_装配中心_缺料查询", params);
|
||||
src\views\PlanManagement\PlanShell\index.vue:CreateData('11', '计划排产_查询计划信息', param)
|
||||
src\views\PlanManagement\PlanShell\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\PlanManagement\PlanShell\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\ProductionManagement\PickingTask\index.vue:CreateData("11", "加急订单_加急明细查询",param);
|
||||
src\views\ProductionManagement\PickingTask\index.vue:CreateData(
|
||||
src\views\ProductionManagement\AssembleTasksSum\index.vue:CreateData('11', 'MES_登录_工位与名称_查询')
|
||||
src\views\ProductionManagement\AssembleTasksSum\index.vue:CreateData('11', 'MES_ProductTask_WorkTimeSum', param)
|
||||
src\views\ProductionManagement\AssembleTasksSum\index.vue:CreateData('11', 'MES_ProductAdmin_Query', param)
|
||||
src\views\ProductionManagement\AssembleTasksSum\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\ProductionManagement\AssembleTasksSum\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\ProductionManagement\AssembleTasksSum\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('11', '设备管理_设备状态_查询', [['设备名称', '']])
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('11', '工艺管理_获取物料原料信息',param)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('11', '生产管理_结算工时_查询',param)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('11', '计划排产_生产订单_已排产订单查询'); // 确保这个接口返回包含订单号的数据
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('11', 'MES_登录_工位与名称_查询')
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('11', '机加已排产_获取任务列表', param,this.pageSize, this.pageCurrent)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('11', '机加已排产_获取任务列表', param,this.pageSize, this.pageCurrent)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('11', '系统管理_人员管理_所有有效人员查询', params)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('12', '计划排产_派工', params)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('12', '计划排产_外协分组', params)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('11', 'MES_OrderPlanned_Finish', params);
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\PlanManagement\SelfMakePlandone\index.vue:CreateData('12', '计划排产_自制件_日程时间修改', params)
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('11', '计划排产_生产订单_已排产订单查询'); // 确保这个接口返回包含订单号的数据
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('11', 'MES_登录_工位与名称_查询')
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('11', 'MES_OrderPlanned_Queryzp', param,this.pageSize, this.pageCurrent)
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('11', 'MES_OrderPlanned_Queryzp', param,this.pageSize, this.pageCurrent)
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('11', '系统管理_人员管理_所有有效人员查询', params)
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('12', '计划排产_派工', params)
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('11', 'MES_OrderPlanned_Finish', params);
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\PlanManagement\InstallMakePlan\index.vue:CreateData('12', '计划排产_自制件_日程时间修改', params)
|
||||
src\views\ProductionManagement\FormalityConfirmReport\index.vue:CreateData('11', '生产管理_手续确认报表_查询', param)
|
||||
src\views\ProductionManagement\FormalityConfirmReport\index.vue:CreateData('12', '生产管理_手续确认报表_确认', param)
|
||||
src\views\ProductionManagement\SaleOutsourceMange\index.vue:CreateData('11', '计划排产_重置派工状态',param)
|
||||
src\views\ProductionManagement\SaleOutsourceMange\index.vue:CreateData('11', '生产管理_外协管理_外协历史查询',param)
|
||||
src\views\ProductionManagement\SaleOutsourceMange\index.vue:CreateData('12', '计划排产_派工', params)
|
||||
src\views\ProductionManagement\SaleOutsourceMange\index.vue:CreateData('11', '生产管理_外协管理_更新打印次数', param)
|
||||
src\views\ProductionManagement\SaleOutsourceMange\index.vue:CreateData('11', '生产管理_外协管理_更新备注', param)
|
||||
src\views\ProductionManagement\SaleOutsourceMange\index.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param)
|
||||
src\views\ProductionManagement\SaleOutsourceMange\index.vue:CreateData('11', '工艺管理_工艺维护_查看图纸', param)
|
||||
src\views\ProductionManagement\SaleOutsourceMange\index.vue:CreateData('11', '生产管理_外协管理_查询外协',param)
|
||||
src\views\ProductionManagement\SaleOutsourceMange\index.vue:CreateData("11", "生产管理_外协管理_外协发料查询", param);
|
||||
src\views\ProductionManagement\SaleOutsourceMange\index.vue:CreateData("11", "生产管理_外协管理_查询外协历史记录", param);
|
||||
src\views\ProductionManagement\SaleOutsourceMange\index.vue:CreateData("11", "生产管理_外协管理_查询质检记录", param);
|
||||
src\views\ProductionManagement\SaleOutsourceMange\index.vue:CreateData("11", "生产管理_外协管理_外协发料查询", param);
|
||||
src\views\ProductionManagement\SaleOutsourceMange\index.vue:CreateData(
|
||||
src\views\ProductionManagement\SaleOutsourceMange\index.vue:CreateData(
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('11', '计划排产_生产订单_已排产订单查询'); // 确保这个接口返回包含订单号的数据
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('11', 'MES_登录_工位与名称_查询')
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('11', 'MES_OrderPlanned_Query', param,this.pageSize, this.pageCurrent)
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('11', 'MES_OrderPlanned_Query', param,this.pageSize, this.pageCurrent)
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('11', '系统管理_人员管理_所有有效人员查询', params)
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('12', '计划排产_派工', params)
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('11', 'MES_OrderPlanned_Finish', params);
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\PlanManagement\SelfMakePlan\index.vue:CreateData('12', '计划排产_自制件_日程时间修改', params)
|
||||
src\views\QualityManagement\CheckTask\punctualInspection.vue:CreateData('11', '人员管理_人员信息查询_质检部门_查询')
|
||||
src\views\QualityManagement\CheckTask\punctualInspection.vue:CreateData('11', '质量管理_及时检验报表_查询', param)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_获取物料原料信息',param)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_生产工艺_查询生产工艺', param)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('12', '工艺管理_生产工艺_工艺拷贝', param1)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_生产工艺_生产工艺拷贝')
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_生产工艺_标准工艺拷贝')
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '计划排产_生产订单_订单查询', param)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '计划排产_生产订单_订单任务_生产工艺任务下发', param)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('12', '计划排产_生产订单_订单任务_单条生产工艺任务下发', param)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('12', '工艺管理_零件工序_生产工艺_批量生成生产工艺', param)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '设备管理_设备信息_查询')
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', 'MES_ProcessManagement_ProcessBindGet', param)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_制定标准工艺_拷贝生产工艺', param)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', 'MES_ProcessManagement_ProcessGet', param)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('12', '车间生产管理工艺_零件工序_保存为标准工艺', param1)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_工艺维护_查看图纸', param)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_零件工序_生产工艺_修改数据', param1)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_生产工艺_查询生产工艺', param)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_零件工序_生产工艺_编辑', param1)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_零件工序_生产工艺_编辑插入工序', row)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_生产工艺_查询生产工艺', param1)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_零件工序_生产工艺_删除工序', param1)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_生产工艺_查询生产工艺', param1)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_零件工序_生产工艺_上移工序', param1)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_生产工艺_查询生产工艺', param1)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_零件工序_生产工艺_下移工序', param1)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_生产工艺_查询生产工艺', param1)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_零件工序_生产工艺_插入工序', param1)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_生产工艺_查询生产工艺', param1)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_生产工艺_启用', param1)
|
||||
src\views\ProcessManagement\ProcessProduct\index.vue:CreateData('11', '工艺管理_生产工艺_查询生产工艺', param1)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('2001', '计划排产_阀类任务查询_导出', param)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('11', '计划排产_生产订单_已排产订单查询'); // 确保这个接口返回包含订单号的数据
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('11', 'MES_登录_工位与名称_查询')
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('12', '计划排产_装配任务预算_保存', params)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('11', '计划排产_阀类任务查询', param, this.donepageSize, this.donepageCurrent)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('11', '系统管理_人员管理_所有有效人员查询', params)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('12', '计划排产_阀类装配任务_修改预计送检日期', params)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('12', '计划排产_阀类装配任务_修改销售要求日期', params)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('12', '计划排产_派工', params)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('11', 'MES_OrderPlanned_Finish', params);
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\PlanManagement\ValueInstallTask\index.vue:CreateData('12', '计划排产_自制件_日程时间修改', params)
|
||||
src\views\PlanManagement\PlannOrderClose\index.vue:CreateData('11', '计划排产_生产订单关闭_查询全部订单', param)
|
||||
src\views\PlanManagement\PlannOrderClose\index.vue:CreateData('12', '计划排产_生产订单关闭_确认订单', param)
|
||||
src\views\PlanManagement\PlannOrderClose\index.vue:CreateData('11', '计划排产_生产订单关闭_关闭订单', param)
|
||||
src\views\ProductionManagement\components\AbnormalControlPanel.vue:CreateData('11', 'sp_获取最近处理任务', params)
|
||||
src\views\ProductionManagement\components\AbnormalControlPanel.vue:CreateData('11', '人员管理_人员信息查询')
|
||||
src\views\ProductionManagement\components\AbnormalControlPanel.vue:CreateData('11', 'sp_获取我的流程', params)
|
||||
src\views\ProductionManagement\components\AbnormalControlPanel.vue:CreateData('11', 'sp_获取待处理任务', params)
|
||||
src\views\ProductionManagement\components\AbnormalControlPanel.vue:CreateData('11', 'MES_ProductAdmin_Query', params)
|
||||
src\views\ProductionManagement\components\AbnormalControlPanel.vue:CreateData('11', 'sp_创建流程_简化版', params)
|
||||
src\views\ProductionManagement\components\AbnormalControlPanel.vue:CreateData('12', 'sp_处理审批', params)
|
||||
src\views\ProductionManagement\components\AbnormalControlPanel.vue:CreateData('12', 'sp_转办流程', params)
|
||||
src\views\ProductionManagement\components\AbnormalControlPanel.vue:CreateData('11', 'sp_完成流程', params)
|
||||
src\views\ProductionManagement\components\AbnormalControlPanel.vue:CreateData('11', 'sp_获取流程详情', params)
|
||||
src\views\PlanManagement\TimelyKitTrackingResult\index.vue:CreateData('11', '生产管理_及时齐套跟踪结果_查询', param)
|
||||
src\views\ProductionManagement\Timesheet\index.vue:CreateData('11', '工时统计_项目工时_查询', param)
|
||||
src\views\ProductionManagement\Timesheet\index.vue:CreateData('11', '工时统计_作业者工时_查询', param)
|
||||
src\views\ProductionManagement\Timesheet\index.vue:CreateData('11', '工时统计_设备工时_查询', param)
|
||||
src\views\ProductionManagement\Timesheet\index.vue:CreateData('11', '工时统计_任务工时_查询', param)
|
||||
src\views\ProductionManagement\Timesheet\index.vue:CreateData('2001', procedureName, param)
|
||||
src\views\ProductionManagement\OutsourceMange\index.vue:CreateData('11', '生产管理_外协管理_外协历史查询',param)
|
||||
src\views\ProductionManagement\OutsourceMange\index.vue:CreateData('12', '计划排产_派工', params)
|
||||
src\views\ProductionManagement\OutsourceMange\index.vue:CreateData('11', '生产管理_外协管理_更新打印次数', param)
|
||||
src\views\ProductionManagement\OutsourceMange\index.vue:CreateData('11', '生产管理_外协管理_更新备注', param)
|
||||
src\views\ProductionManagement\OutsourceMange\index.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param)
|
||||
src\views\ProductionManagement\OutsourceMange\index.vue:CreateData('11', '工艺管理_工艺维护_查看图纸', param)
|
||||
src\views\ProductionManagement\OutsourceMange\index.vue:CreateData('11', '生产管理_外协管理_查询外协全部',param)
|
||||
src\views\ProductionManagement\OutsourceMange\index.vue:CreateData("11", "生产管理_外协管理_外协发料查询", param);
|
||||
src\views\ProductionManagement\OutsourceMange\index.vue:CreateData("11", "生产管理_外协管理_外协发料查询", param);
|
||||
src\views\ProductionManagement\OutsourceMange\index.vue:CreateData(
|
||||
src\views\ProductionManagement\OutsourceMange\index.vue:CreateData(
|
||||
src\views\ProductionManagement\AGVtask\index.vue:CreateData('11', '生产管理_物料机器人_点位查询', param)
|
||||
src\views\ProductionManagement\AGVtask\index.vue:CreateData('12', '生产管理_物料机器人_修改点位', param)
|
||||
src\views\ProductionManagement\AGVtask\index.vue:CreateData('11', '生产管理_物料机器人_新增点位', param)
|
||||
src\views\ProductionManagement\AGVtask\index.vue:CreateData('11', '生产管理_物料机器人_删除点位', param)
|
||||
src\views\ProductionManagement\AGVtask\index.vue:CreateData('11', '生产管理_物料机器人_物料查询', param)
|
||||
src\views\ProductionManagement\AGVtask\index.vue:CreateData('12', '生产管理_物料机器人_创建任务', param)
|
||||
src\views\ProductionManagement\AGVtask\index.vue:CreateData('11', '生产管理_物料机器人_查询实时数据', param)
|
||||
src\views\ProductionManagement\AGVtask\index.vue:CreateData('12', '生产管理_物料机器人_更新任务状态', param)
|
||||
src\views\ProductionManagement\AGVtask\index.vue:CreateData('12', '生产管理_物料机器人_更新任务状态', param)
|
||||
src\views\ProductionManagement\AGVtask\index.vue:CreateData('12', '生产管理_物料机器人_完成任务', param)
|
||||
src\views\ProductionManagement\AGVtask\index.vue:CreateData('11', '生产管理_物料机器人_查询历史数据', param)
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData('11', '生产管理_获取人员绑定', param)
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData("11", "加急订单_加急明细查询",param);
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData("11", "MES_人员工时记录_获取进行中任务2", param);
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData("11", "MES_人员工时记录_获取进行中任务", param);
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData('11', '工时校验_获取订单列表', param)
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData('11', '异常工时_新增操作记录', param)
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData('11', '工时校验_获取订单工序', param)
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData("11", "MES_登录_工位与名称_查询");
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData("11", "Prog_MES_LoadProcess");
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData("11", "MES_ProductCenter_GetTask_zp", param);
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData("11", "MES_ProductCenter_GetTask_zp", param);
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData("11", "MES_ProductTask_WorkTimeSum", param);
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData("11", "生产管理_装配中心_缺料查询", params);
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData("12", "MES_人员工时记录_开始", params);
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData("12", "MES_人员工时记录_结束", params);
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData("12", "MES_ProductTask_Rest", params);
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData("12", "MES_ProductTask_SendInspection", params);
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData("11", "加工中心_收检_读取收检记录", param);
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData(
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData(
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData("11", "加工中心_修改工时_保存修改记录", param);
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData('11', '生产管理_加工中心_生产发料查询', param)
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData('11', '生产管理_加工中心_领料物料查询', param)
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param)
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData('11', '工艺管理_工艺维护_查看图纸', param)
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData('12', '生产管理_加工中心_退库', param);
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData("11", "Prog_MES_GetProductOrder_byAID", param);
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData(
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData(
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData("11", "Prog_MES_GetProductOrder_byAID", param);
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData(
|
||||
src\views\ProductionManagement\AssemblyCenter\index.vue:CreateData(
|
||||
src\views\layout\components\Navbar.vue:CreateData('11', '登录基础数据_人员信息_登陆检查密码', param)
|
||||
src\views\layout\components\Navbar.vue:CreateData('11', '登录基础数据_人员信息_修改密码', param)
|
||||
src\views\layout\components\Navbar.vue:CreateData('11', 'WEB_报警查询_未读报警记录_查询', param)
|
||||
src\views\layout\components\Navbar.vue:CreateData('11', 'WEB_报警查询_未读报警记录_未读条数查询', param)
|
||||
src\views\ProductionManagement\AssembleStatus\index.vue:CreateData("11", "人员管理_人员信息查询_质检部门_查询");
|
||||
src\views\ProductionManagement\AssembleStatus\index.vue:CreateData('11', 'MES_登录_工位与名称_查询')
|
||||
src\views\ProductionManagement\AssembleStatus\index.vue:CreateData('11', '生产管理_装配状态_获取进行中任务',param)
|
||||
src\views\ProductionManagement\DeviceStatus\index.vue:CreateData('11', 'MES_登录_工位与名称_查询')
|
||||
src\views\ProductionManagement\DeviceStatus\index.vue:CreateData('11', '设备管理_设备状态_查询', param)
|
||||
src\views\ProductionManagement\ProductPassRateWorkstation\index.vue:CreateData('11', '生产管理_产品合格率工位_查询', param)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('2001', '计划排产_系统类任务查询_导出', param)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('11', '计划排产_生产订单_已排产订单查询'); // 确保这个接口返回包含订单号的数据
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('11', 'MES_登录_工位与名称_查询')
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('12', '计划排产_装配任务预算_保存', params)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('11', '计划排产_系统类任务查询', param, this.donepageSize, this.donepageCurrent)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('11', '系统管理_人员管理_所有有效人员查询', params)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('12', '计划排产_系统类装配任务_修改钣金预达时间', params)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('12', '计划排产_系统类装配任务_修改预计送检日期', params)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('12', '计划排产_系统类装配任务_修改销售要求日期', params)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('12', '计划排产_派工', params)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('11', 'MES_OrderPlanned_Finish', params);
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\PlanManagement\SystemInstallTask\index.vue:CreateData('12', '计划排产_自制件_日程时间修改', params)
|
||||
src\views\QualityManagement\CheckTask\processReceive.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param);
|
||||
src\views\QualityManagement\CheckTask\processReceive.vue:CreateData('11', '工艺管理_工艺维护_查看图纸', param);
|
||||
src\views\QualityManagement\CheckTask\processReceive.vue:CreateData("11", "加急订单_加急明细查询",param);
|
||||
src\views\QualityManagement\CheckTask\processReceive.vue:CreateData("11", "查询字典");
|
||||
src\views\QualityManagement\CheckTask\processReceive.vue:CreateData("11", "人员管理_人员信息查询_质检部门_查询");
|
||||
src\views\QualityManagement\CheckTask\processReceive.vue:CreateData(
|
||||
src\views\QualityManagement\CheckTask\processReceive.vue:CreateData("12", "质量管理_序检收检_新增", param);
|
||||
src\views\QualityManagement\CheckTask\processReceive.vue:CreateData("12", "质量管理_序检收检_新增", param);
|
||||
src\views\QualityManagement\CheckTask\processReceive.vue:CreateData("12", "质量管理_序检收检_新增", param);
|
||||
src\views\ProductionManagement\AssemblePlanTrack\index.vue:CreateData('11', 'MES_OrderPlanned_Queryzp', param)
|
||||
src\views\ProductionManagement\AssemblePlanTrack\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\ProductionManagement\AssemblePlanTrack\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\ProductionManagement\ShiftManagement\index.vue:CreateData('11', '生产管理_班次管理_班次列表查询', param)
|
||||
src\views\ProductionManagement\ShiftManagement\index.vue:CreateData('11', '系统管理_人员管理_所有有效人员查询', param)
|
||||
src\views\ProductionManagement\ShiftManagement\index.vue:CreateData('11', '生产管理_班次管理_班次绑定人员查询', param)
|
||||
src\views\ProductionManagement\ShiftManagement\index.vue:CreateData('11', '生产管理_班次管理_班次保存', param)
|
||||
src\views\ProductionManagement\ShiftManagement\index.vue:CreateData('11', '生产管理_班次管理_班次删除', param)
|
||||
src\views\ProductionManagement\ShiftManagement\index.vue:CreateData('11', '生产管理_班次管理_班次绑定人员查询', param)
|
||||
src\views\ProductionManagement\ShiftManagement\index.vue:CreateData('11', '生产管理_班次管理_班次绑定人员保存', param)
|
||||
src\views\QualityManagement\CheckTask\final.vue:CreateData("11", "加急订单_加急明细查询",param);
|
||||
src\views\QualityManagement\CheckTask\final.vue:CreateData("11", "查询字典");
|
||||
src\views\QualityManagement\CheckTask\final.vue:CreateData("11", "人员管理_人员信息查询_质检部门_查询");
|
||||
src\views\QualityManagement\CheckTask\final.vue:CreateData(
|
||||
src\views\QualityManagement\CheckTask\final.vue:CreateData(
|
||||
src\views\QualityManagement\CheckTask\final.vue:CreateData(
|
||||
src\views\QualityManagement\CheckTask\final.vue:CreateData("11","工时校验_获取工序和指派对象",param);
|
||||
src\views\ProductionManagement\DesignReportTask\FinancialHours\index.vue:CreateData('11', '设计报工_研发财务工时_查询', this.buildSearchParams())
|
||||
src\views\ProductionManagement\DesignReportTask\FinancialHours\index.vue:CreateData('11', '设计报工_项目查询', [['过滤', query || '']])
|
||||
src\views\ProductionManagement\DesignReportTask\FinancialHours\index.vue:CreateData('11', '设计报工_物料查询', [['过滤', query || '']])
|
||||
src\views\ProductionManagement\DesignReportTask\components\TaskAttachments.vue:CreateData('11', '设计报工_附件_查询', [['DID', this.task.DID]])
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param);
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('11', '工艺管理_工艺维护_查看图纸', param)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('11', '工艺管理_获取物料原料信息',param)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('11', '生产管理_结算工时_查询',param)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('11', '计划排产_生产订单_已排产订单查询'); // 确保这个接口返回包含订单号的数据
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('11', 'MES_登录_工位与名称_查询')
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('11', 'MES_OrderPlanned_Query', param,this.pageSize, this.pageCurrent)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('11', 'MES_OrderPlanned_Query', param,this.pageSize, this.pageCurrent)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('11', '系统管理_人员管理_所有有效人员查询', params)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('12', '计划排产_二次派工', params)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('12', '计划排产_派工', params)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('12', '计划排产_外协分组', params)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('11', 'MES_OrderPlanned_Finish', params);
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\PlanManagement\SelfMakePlando\index.vue:CreateData('12', '计划排产_自制件_日程时间修改', params)
|
||||
src\views\ProductionManagement\AssembleTaskManage\index.vue:CreateData('11', 'MES_登录_工位与名称_查询')
|
||||
src\views\ProductionManagement\AssembleTaskManage\index.vue:CreateData('12', 'MES_OrderPlanned_Finish', param)
|
||||
src\views\ProductionManagement\AssembleTaskManage\index.vue:CreateData('12', 'MES_OrderPlanned_ChildTask_Add', param)
|
||||
src\views\ProductionManagement\AssembleTaskManage\index.vue:CreateData('11', 'MES_OrderPlanned_ChildTask_Get', params)
|
||||
src\views\ProductionManagement\AssembleTaskManage\index.vue:CreateData('11', 'MES_OrderPlanned_Query', param)
|
||||
src\views\ProductionManagement\AssembleTaskManage\index.vue:CreateData('11', 'Prog_MES_LoadStations', params)
|
||||
src\views\ProductionManagement\AssembleTaskManage\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\ProductionManagement\AssembleTaskManage\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\ProductionManagement\AssembleTaskManage\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\ProductionManagement\AssembleTaskManage\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\ProductionManagement\AssembleTaskManage\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\ProductionManagement\AssembleTaskManage\index.vue:CreateData('12', 'MES_OrderPlanned_SingleTaskPlanned', params)
|
||||
src\views\ProductionManagement\AssembleTaskManage\index.vue:CreateData('12', 'MES_OrderPlanned_DescriptionEdit', params)
|
||||
src\views\ProductionManagement\AssembleTaskManage\index.vue:CreateData('12', 'MES_OrderPlanned_EditTaskPlanned', params)
|
||||
src\views\QualityManagement\CheckTask\firstSpecial.vue:CreateData("11", "Prog_MES_LoadProcess");
|
||||
src\views\QualityManagement\CheckTask\firstSpecial.vue:CreateData("11", "Prog_MES_LoadStations");
|
||||
src\views\QualityManagement\CheckTask\firstSpecial.vue:CreateData(
|
||||
src\views\QualityManagement\CheckTask\OtherInbound.vue:CreateData("11", "查询字典");
|
||||
src\views\QualityManagement\CheckTask\OtherInbound.vue:CreateData("11", "人员管理_人员信息查询_质检部门_查询");
|
||||
src\views\QualityManagement\CheckTask\OtherInbound.vue:CreateData(
|
||||
src\views\QualityManagement\CheckTask\OtherInbound.vue:CreateData('11', '工艺管理_图纸维护_查看图纸', param);
|
||||
src\views\QualityManagement\CheckTask\OtherInbound.vue:CreateData('11', '工艺管理_工艺维护_查看图纸', param);
|
||||
src\views\QualityManagement\CheckTask\OtherInbound.vue:CreateData("12", "质量管理_其他入库检验_更新", param);
|
||||
src\views\QualityManagement\CheckTask\materialReturn.vue:CreateData("11", "查询字典");
|
||||
src\views\QualityManagement\CheckTask\materialReturn.vue:CreateData("11", "人员管理_人员信息查询_质检部门_查询");
|
||||
src\views\QualityManagement\CheckTask\materialReturn.vue:CreateData(
|
||||
src\views\QualityManagement\CheckTask\materialReturn.vue:CreateData("12", "质量管理_原材料退库检验_更新", param);
|
||||
src\views\ProductionManagement\DeliveryNoticeList\index.vue:CreateData('11', '装配中心任务看板_发货状态查询', param)
|
||||
src\views\ProductionManagement\DesignReportTask\Task\index.vue:CreateData('11', '设计报工_任务_查询', this.buildSearchParams())
|
||||
src\views\ProductionManagement\DesignReportTask\Task\index.vue:CreateData('12', '设计报工_任务说明_新增', [
|
||||
src\views\ProductionManagement\DesignReportTask\Task\index.vue:CreateData('11', '设计报工_领导批示权限_查询', [['角色编号', this.currentRoleId()]])
|
||||
src\views\ProductionManagement\DesignReportTask\Task\index.vue:CreateData('12', procedure, params)
|
||||
src\views\ProductionManagement\DesignReportTask\Task\index.vue:CreateData('12', '设计报工_任务_删除', [['DID', row.DID]])
|
||||
src\views\ProductionManagement\DesignReportTask\Task\index.vue:CreateData('11', '设计报工_任务_查询', params)
|
||||
src\views\ProductionManagement\DesignReportTask\Task\index.vue:CreateData('12', procedure, params)
|
||||
src\views\ProductionManagement\DesignReportTask\Task\index.vue:CreateData('11', '设计报工_项目查询', [['过滤', query || '']])
|
||||
src\views\ProductionManagement\DesignReportTask\Task\index.vue:CreateData('11', '设计报工_物料查询', [['过滤', query || '']])
|
||||
src\views\ProductionManagement\DesignReportTask\Task\index.vue:CreateData('11', '设计报工_物料查询', [['过滤', query || '']])
|
||||
src\views\ProductionManagement\DesignReportTask\Task\index.vue:CreateData('11', '设计报工_人员查询', [['过滤', query || '']])
|
||||
src\views\ProductionManagement\DesignReportTask\Task\index.vue:CreateData('11', '设计报工_人员查询', [['过滤', query || '']])
|
||||
src\views\ProductionManagement\DesignReportTask\Check\index.vue:CreateData('11', '设计报工_工时校验_查询', this.buildSearchParams())
|
||||
src\views\ProductionManagement\DesignReportTask\Check\index.vue:CreateData('11', '设计报工_项目查询', [['过滤', query || '']])
|
||||
src\views\ProductionManagement\DesignReportTask\Check\index.vue:CreateData('11', '设计报工_物料查询', [['过滤', query || '']])
|
||||
src\views\ProductionManagement\DesignReportTask\Check\index.vue:CreateData('12', '设计报工_工时校验_保存', params)
|
||||
src\views\ProductionManagement\DesignReportTask\Check\index.vue:CreateData('12', '设计报工_工时校验_批量保存', params)
|
||||
src\views\ProductionManagement\DesignReportTask\HoursReport\index.vue:CreateData('11', procedure, this.buildSearchParams())
|
||||
src\views\ProductionManagement\DesignReportTask\HoursReport\index.vue:CreateData('11', '设计报工_项目查询', [['过滤', query || '']])
|
||||
src\views\ProductionManagement\DesignReportTask\HoursReport\index.vue:CreateData('11', '设计报工_物料查询', [['过滤', query || '']])
|
||||
src\views\ProductionManagement\SettlementWorkhours\index.vue:CreateData('11', '生产管理_结算工时_查询', param)
|
||||
src\views\ProductionManagement\DesignReportTask\Report\index.vue:CreateData('11', '设计报工_任务_查询', this.buildSearchParams())
|
||||
src\views\ProductionManagement\DesignReportTask\Report\index.vue:CreateData('11', '设计报工_项目查询', [['过滤', query || '']])
|
||||
src\views\ProductionManagement\DesignReportTask\Report\index.vue:CreateData('11', '设计报工_物料查询', [['过滤', query || '']])
|
||||
src\views\ProductionManagement\DesignReportTask\Report\index.vue:CreateData('11', '设计报工_物料查询', [['过滤', query || '']])
|
||||
src\views\ProductionManagement\DesignReportTask\Report\index.vue:CreateData('11', '设计报工_领导批示权限_查询', [['角色编号', this.currentRoleId()]])
|
||||
src\views\ProductionManagement\DesignReportTask\Report\index.vue:CreateData('11', '设计报工_任务_查询', params)
|
||||
src\views\ProductionManagement\DesignReportTask\Report\index.vue:CreateData('11', '设计报工_任务_查询', params)
|
||||
src\views\ProductionManagement\DesignReportTask\Report\index.vue:CreateData('12', procedure, params)
|
||||
837
work/database_expression_dependencies_20260725.csv
Normal file
@@ -0,0 +1,837 @@
|
||||
"ReferencingSchema","ReferencingObject","ReferencingType","ReferencedServer","ReferencedDatabase","ReferencedSchema","ReferencedObject","IsAmbiguous"
|
||||
"dbo","__Reset_ProductOrder","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划","False"
|
||||
"dbo","__Reset_ProductOrder","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","__Reset_ProductOrder","SQL_STORED_PROCEDURE","","","","YL_加工中心_报工记录","False"
|
||||
"dbo","__Reset_ProductOrder","SQL_STORED_PROCEDURE","","","","YL_加工中心_操作记录表","False"
|
||||
"dbo","_日志_增加","SQL_STORED_PROCEDURE","","","dbo","_日志","False"
|
||||
"dbo","_日志_增加","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_二级菜单","False"
|
||||
"dbo","A_Update_T_Table01","SQL_STORED_PROCEDURE","","","","T_Table01","False"
|
||||
"dbo","CK_MES_设计报工_任务说明_类型","CHECK_CONSTRAINT","","","dbo","MES_设计报工_任务说明","False"
|
||||
"dbo","CK_装配合同预算_工时","CHECK_CONSTRAINT","","","dbo","计划排产_装配合同预算","False"
|
||||
"dbo","CK_装配任务预算_工时","CHECK_CONSTRAINT","","","dbo","计划排产_装配任务预算","False"
|
||||
"dbo","Event_agv_mes_logistics_feedback","SQL_STORED_PROCEDURE","","","","AGV_历史数据","False"
|
||||
"dbo","Event_agv_mes_logistics_feedback","SQL_STORED_PROCEDURE","","","","AGV_实时数据","False"
|
||||
"dbo","Event_Alarm_End","SQL_STORED_PROCEDURE","","","","EquipmentStatus_Backup","False"
|
||||
"dbo","Event_Alarm_End","SQL_STORED_PROCEDURE","","","","报警_记录_历史","False"
|
||||
"dbo","Event_Alarm_End","SQL_STORED_PROCEDURE","","","","报警_记录_历史_缓存","False"
|
||||
"dbo","Event_Alarm_Start","SQL_STORED_PROCEDURE","","","","EquipmentStatus_Backup","False"
|
||||
"dbo","Event_Alarm_Start","SQL_STORED_PROCEDURE","","","","报警_记录_历史_缓存","False"
|
||||
"dbo","Event_CaChe_Var_看板查询","SQL_STORED_PROCEDURE","","","","CaChe_Var","False"
|
||||
"dbo","Event_Device_Insert_CurrInfo","SQL_STORED_PROCEDURE","","","","CaChe_Var","False"
|
||||
"dbo","Event_Device_Insert_CurrInfo","SQL_STORED_PROCEDURE","","","","历史_工位设备状态每分钟记录","False"
|
||||
"dbo","Event_Device_Insert_CurrInfo","SQL_STORED_PROCEDURE","","","","历史_设备数据_定时","False"
|
||||
"dbo","Event_Device_Update_CurrInfo","SQL_STORED_PROCEDURE","","","","CaChe_Var","False"
|
||||
"dbo","Event_Device_Update_CurrInfo","SQL_STORED_PROCEDURE","","","","YL_设备管理_工时记录_增加","False"
|
||||
"dbo","Event_GetCurr_DT_PartTypeCode","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","Event_Log_Request","SQL_STORED_PROCEDURE","","","","记录_日志_项目运行日志","False"
|
||||
"dbo","Event_Log_Respond","SQL_STORED_PROCEDURE","","","","记录_日志_项目运行日志","False"
|
||||
"dbo","FindUnfinishedStartOperations","SQL_STORED_PROCEDURE","","","","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_DeviceAdmin_BaseInfo","SQL_STORED_PROCEDURE","","","dbo","YL_设备管理_设备台账","False"
|
||||
"dbo","MES_DeviceAdmin_DeviceProductState_Update","SQL_STORED_PROCEDURE","","","dbo","YL_设备管理_设备生产状态_Moby","False"
|
||||
"dbo","MES_DeviceAdmin_DeviceProductState_Update","SQL_STORED_PROCEDURE","","","dbo","YL_设备管理_设备生产状态_Moby_历史记录","False"
|
||||
"dbo","MES_DeviceAdmin_ProductState_HistoryQuery","SQL_STORED_PROCEDURE","","","dbo","YL_设备管理_设备生产状态_Moby_历史记录","False"
|
||||
"dbo","MES_DeviceAdmin_ProductState_MobyQuery","SQL_STORED_PROCEDURE","","","dbo","YL_设备管理_设备生产状态_Moby","False"
|
||||
"dbo","MES_DeviceAdmin_RepairRecords_Add","SQL_STORED_PROCEDURE","","","dbo","YL_设备管理_维修记录","False"
|
||||
"dbo","MES_DeviceAdmin_RepairRecords_Query","SQL_STORED_PROCEDURE","","","","YL_设备管理_维修记录","False"
|
||||
"dbo","MES_GetDicItemID_ByDicItemName","SQL_STORED_PROCEDURE","","","","YL_基础表_数据字典","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","SAP_MES_BizIncDec","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","SAP_MES_InTransitTask","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","SAP_MES_POAddDet","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","SAP_MES_POClearList","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","SAP_MES_POOnTimeRate","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","SAP_MES_POOnTimeRate_M","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","SAP_MES_PRQAddList","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","SAP_MES_PRQClearList","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","SAP_MES_SaleBlgDet","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","SAP_MES_SaleOTRate_m","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","SAP_MES_SaleOTRate_z","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","SAP_MES_TransitTaskClass","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_OpenOPKL_material_101","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_OpenOPKL_material_103","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_receipttask_material_2Days","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_Kanban_DepartmentOverview","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","MES_Kanban_MonthlyRates","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务","False"
|
||||
"dbo","MES_Kanban_MonthlyRates","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","SAP_MES_POOnTimeRate","False"
|
||||
"dbo","MES_Kanban_MonthlyRates","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","SAP_MES_POOnTimeRate_M","False"
|
||||
"dbo","MES_Kanban_MonthlyRates","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","SAP_MES_SaleOTRate_m","False"
|
||||
"dbo","MES_Kanban_MonthlyRates","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","SAP_MES_SaleOTRate_z","False"
|
||||
"dbo","MES_Kanban_MonthlyRates","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","MES_Kanban_MonthlyRates","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_Kanban_MonthlyRates","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","MES_Kanban_PlanScheduleTrend","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","MES_Kanban_PlanScheduleTrend","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_Kanban_ProductionInfo","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","MES_Kanban_ProductionInfo","SQL_STORED_PROCEDURE","","","dbo","View_生产工时视图全部","False"
|
||||
"dbo","MES_Kanban_ProductionInfo","SQL_STORED_PROCEDURE","","","dbo","View_质量检验_质检记录","False"
|
||||
"dbo","MES_OrderPlanned_ChildTask_Add","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务_子任务","False"
|
||||
"dbo","MES_OrderPlanned_ChildTask_Get","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务_子任务","False"
|
||||
"dbo","MES_OrderPlanned_DescriptionEdit","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_OrderPlanned_Finish","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_OrderPlanned_SingleTaskPlanned","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_OrderPlanned_SingleTaskPlanned","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_ProcessManagement_PartGet","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_OITM","False"
|
||||
"dbo","MES_ProcessManagement_ProcessAdd","SQL_STORED_PROCEDURE","","","","基础表_工序","False"
|
||||
"dbo","MES_ProcessManagement_ProcessBindGet","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","MES_ProcessManagement_ProcessBindGet","SQL_STORED_PROCEDURE","","","dbo","基础表_工序","False"
|
||||
"dbo","MES_ProcessManagement_ProcessDel","SQL_STORED_PROCEDURE","","","","基础表_工序","False"
|
||||
"dbo","MES_ProcessManagement_ProcessEdit","SQL_STORED_PROCEDURE","","","","基础表_工序","False"
|
||||
"dbo","MES_ProcessManagement_ProcessGet","SQL_STORED_PROCEDURE","","","","基础表_工序","False"
|
||||
"dbo","MES_ProductAdmin_RptConfirm","SQL_STORED_PROCEDURE","","","","YL_基础表_数据字典","False"
|
||||
"dbo","MES_ProductAdmin_RptConfirm","SQL_STORED_PROCEDURE","","","","YL_加工中心_报工记录","False"
|
||||
"dbo","MES_ProductCenter_DoingTask","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","MES_ProductCenter_GetOrderTasks","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","MES_ProductCenter_GetOrderTasks","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","MES_ProductCenter_OptRecord_Save","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","MES_ProductCenter_OptRecord_Save","SQL_STORED_PROCEDURE","","","","YL_基础表_数据字典","False"
|
||||
"dbo","MES_ProductCenter_OptRecord_Save","SQL_STORED_PROCEDURE","","","","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_ProductCenter_OptRecord_Save","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_ProductCenter_OptRecord_Save","SQL_STORED_PROCEDURE","","","dbo","计算人员工时","False"
|
||||
"dbo","MES_ProductTask_Excutable","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_ProductTask_FirstCheck","SQL_STORED_PROCEDURE","","","dbo","MES_ProductCenter_OptRecord_Save","False"
|
||||
"dbo","MES_ProductTask_FirstCheck","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_ProductTask_FirstCheck","SQL_STORED_PROCEDURE","","","","YL_基础表_数据字典","False"
|
||||
"dbo","MES_ProductTask_HelpEnd","SQL_STORED_PROCEDURE","","","dbo","MES_ProductCenter_OptRecord_Save","False"
|
||||
"dbo","MES_ProductTask_HelpEnd","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_ProductTask_HelpEnd","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","MES_ProductTask_HelpEnd","SQL_STORED_PROCEDURE","","","","YL_基础表_数据字典","False"
|
||||
"dbo","MES_ProductTask_HelpEnd","SQL_STORED_PROCEDURE","","","","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_ProductTask_HelpEnd","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_ProductTask_HelpEnd","SQL_STORED_PROCEDURE","","","","班次表","False"
|
||||
"dbo","MES_ProductTask_HelpStart","SQL_STORED_PROCEDURE","","","dbo","MES_ProductCenter_OptRecord_Save","False"
|
||||
"dbo","MES_ProductTask_HelpStart","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_ProductTask_HelpStart","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","MES_ProductTask_HelpStart","SQL_STORED_PROCEDURE","","","","YL_基础表_数据字典","False"
|
||||
"dbo","MES_ProductTask_MaterialRecieved","SQL_STORED_PROCEDURE","","","dbo","MES_ProductCenter_OptRecord_Save","False"
|
||||
"dbo","MES_ProductTask_MaterialRecieved","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_ProductTask_Notice","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_ProductTask_ProdReport","SQL_STORED_PROCEDURE","","","dbo","MES_ProductCenter_OptRecord_Save","False"
|
||||
"dbo","MES_ProductTask_ProdReport","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_ProductTask_ProdReport","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","MES_ProductTask_ProdReport","SQL_STORED_PROCEDURE","","","","YL_基础表_数据字典","False"
|
||||
"dbo","MES_ProductTask_ProdReport","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_报工记录","False"
|
||||
"dbo","MES_ProductTask_ProdReport","SQL_STORED_PROCEDURE","","","","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_ProductTask_ProdReport","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_ProductTask_ProdReport","SQL_STORED_PROCEDURE","","","","班次表","False"
|
||||
"dbo","MES_ProductTask_Rest","SQL_STORED_PROCEDURE","","","dbo","MES_ProductCenter_OptRecord_Save","False"
|
||||
"dbo","MES_ProductTask_Rest","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_ProductTask_Rest","SQL_STORED_PROCEDURE","","","","YL_基础表_数据字典","False"
|
||||
"dbo","MES_ProductTask_SendInspection","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_ProductTask_SendInspection","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","MES_ProductTask_SendInspection","SQL_STORED_PROCEDURE","","","","YL_基础表_数据字典","False"
|
||||
"dbo","MES_ProductTask_SendInspection","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_报工记录","False"
|
||||
"dbo","MES_ProductTask_SendInspection","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_ProductTask_WorkingStart","SQL_STORED_PROCEDURE","","","dbo","MES_ProductCenter_OptRecord_Save","False"
|
||||
"dbo","MES_ProductTask_WorkingStart","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_ProductTask_WorkingStart","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","MES_ProductTask_WorkingStart","SQL_STORED_PROCEDURE","","","","YL_基础表_数据字典","False"
|
||||
"dbo","MES_ProductTask_WorkingStart","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","MES_ProductTask_WorkTimeSum","SQL_STORED_PROCEDURE","","","","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_QualityInspection_GetInspectionDetails","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录_检测数据","False"
|
||||
"dbo","MES_QualityInspection_GetInspectionParts","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录_检测零件","False"
|
||||
"dbo","MES_QulityInspection_CheckItemData_Save","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","MES_QulityInspection_CheckItemData_Save","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录_检测零件","False"
|
||||
"dbo","MES_QulityInspection_CheckItemData_Save","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录_检测数据","False"
|
||||
"dbo","MES_QulityInspection_FinalCheck","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","MES_QulityInspection_GetItemStandard","SQL_STORED_PROCEDURE","","","","YL_质量检验_检测标准","False"
|
||||
"dbo","MES_QulityInspection_NGPart_Add","SQL_STORED_PROCEDURE","","","dbo","MES_QulityInspection_NGPart_FlowNode_Add","False"
|
||||
"dbo","MES_QulityInspection_NGPart_Add","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_不合格品处理","False"
|
||||
"dbo","MES_QulityInspection_NGPart_Finish","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_不合格品处理","False"
|
||||
"dbo","MES_QulityInspection_NGPart_FlowNode_Add","SQL_STORED_PROCEDURE","","","","YL_质量检验_不合格品处理_处理节点","False"
|
||||
"dbo","MES_QulityInspection_NGPart_FlowNode_Add","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_不合格品处理_处理节点","False"
|
||||
"dbo","MES_QulityInspection_NGPart_FlowNode_Update","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_不合格品处理_处理节点","False"
|
||||
"dbo","MES_QulityInspection_ProcessCheck","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_QulityInspection_ProcessCheck","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","MES_QulityInspection_ReceiveCheck","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_QulityInspection_ReceiveCheck","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","MES_QulityInspection_RoundCheck","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_QulityInspection_RoundCheck","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","MES_操作记录_获取任务暂停状态","SQL_STORED_PROCEDURE","","","","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_操作记录_获取暂停状态","SQL_STORED_PROCEDURE","","","","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_登录_班次信息","SQL_STORED_PROCEDURE","","","dbo","YL_基础表_数据字典","False"
|
||||
"dbo","MES_登录_工号密码验证","SQL_STORED_PROCEDURE","","","","基础表_用户角色","False"
|
||||
"dbo","MES_登录_工号密码验证","SQL_STORED_PROCEDURE","","","dbo","基础表_用户角色","False"
|
||||
"dbo","MES_登录_工位与名称_查询","SQL_STORED_PROCEDURE","","","","View_基础数据_工位","False"
|
||||
"dbo","MES_接口_生产计划_Insert","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划","False"
|
||||
"dbo","MES_接口_生产计划_Insert","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","MES_人员工时记录_获取进行中任务","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_人员工时记录_获取进行中任务","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_人员工时记录_获取进行中任务2","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_人员工时记录_获取进行中任务2","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_人员工时记录_检查是否存在","SQL_STORED_PROCEDURE","","","","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_人员工时记录_结束","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_人员工时记录_结束","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_报工记录","False"
|
||||
"dbo","MES_人员工时记录_结束","SQL_STORED_PROCEDURE","","","","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_人员工时记录_结束","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","MES_人员工时记录_结束","SQL_STORED_PROCEDURE","","","","班次表","False"
|
||||
"dbo","MES_人员工时记录_开始","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_人员工时记录_开始","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","MES_人员工时记录_开始","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","MES_人员工时记录_开始","SQL_STORED_PROCEDURE","","","","YL_加工中心_操作记录表","False"
|
||||
"dbo","Prog_MES_GetDictionar_ByType","SQL_STORED_PROCEDURE","","","","YL_基础表_数据字典","False"
|
||||
"dbo","Prog_MES_GetProductOrder_byAID","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","Prog_MES_GetProductOrder_byAID","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","Prog_MES_GetProductOrder_byAID","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","Prog_MES_LoadProcess","SQL_STORED_PROCEDURE","","","","基础表_工序","False"
|
||||
"dbo","Prog_MES_LoadStations","SQL_STORED_PROCEDURE","","","","MES_资源主数据","False"
|
||||
"dbo","sp_alterdiagram","SQL_STORED_PROCEDURE","","","dbo","sysdiagrams","False"
|
||||
"dbo","sp_creatediagram","SQL_STORED_PROCEDURE","","","dbo","sysdiagrams","False"
|
||||
"dbo","sp_dropdiagram","SQL_STORED_PROCEDURE","","","dbo","sysdiagrams","False"
|
||||
"dbo","sp_helpdiagramdefinition","SQL_STORED_PROCEDURE","","","dbo","sysdiagrams","False"
|
||||
"dbo","sp_helpdiagrams","SQL_STORED_PROCEDURE","","","","sysdiagrams","False"
|
||||
"dbo","sp_renamediagram","SQL_STORED_PROCEDURE","","","dbo","sysdiagrams","False"
|
||||
"dbo","sp_upgraddiagrams","SQL_STORED_PROCEDURE","","","dbo","dtproperties","False"
|
||||
"dbo","sp_upgraddiagrams","SQL_STORED_PROCEDURE","","","dbo","sysdiagrams","False"
|
||||
"dbo","sp_处理审批","SQL_STORED_PROCEDURE","","","dbo","流程表","False"
|
||||
"dbo","sp_处理审批","SQL_STORED_PROCEDURE","","","dbo","流程节点表","False"
|
||||
"dbo","sp_处理审批","SQL_STORED_PROCEDURE","","","dbo","审批记录表","False"
|
||||
"dbo","sp_创建流程","SQL_STORED_PROCEDURE","","","","流程表","False"
|
||||
"dbo","sp_创建流程","SQL_STORED_PROCEDURE","","","","流程节点表","False"
|
||||
"dbo","sp_创建流程_简化版","SQL_STORED_PROCEDURE","","T","C","value","True"
|
||||
"dbo","sp_创建流程_简化版","SQL_STORED_PROCEDURE","","","dbo","流程表","False"
|
||||
"dbo","sp_创建流程_简化版","SQL_STORED_PROCEDURE","","","dbo","流程节点表","False"
|
||||
"dbo","sp_获取待处理任务","SQL_STORED_PROCEDURE","","","dbo","流程表","False"
|
||||
"dbo","sp_获取待处理任务","SQL_STORED_PROCEDURE","","","dbo","流程节点表","False"
|
||||
"dbo","sp_获取流程详情","SQL_STORED_PROCEDURE","","","","流程表","False"
|
||||
"dbo","sp_获取流程详情","SQL_STORED_PROCEDURE","","","","流程节点表","False"
|
||||
"dbo","sp_获取流程详情","SQL_STORED_PROCEDURE","","","","审批记录表","False"
|
||||
"dbo","sp_获取我的流程","SQL_STORED_PROCEDURE","","","","流程表","False"
|
||||
"dbo","sp_获取最近处理任务","SQL_STORED_PROCEDURE","","","","流程表","False"
|
||||
"dbo","sp_获取最近处理任务","SQL_STORED_PROCEDURE","","","","流程节点表","False"
|
||||
"dbo","sp_获取最近处理任务","SQL_STORED_PROCEDURE","","","","审批记录表","False"
|
||||
"dbo","sp_提交流程","SQL_STORED_PROCEDURE","","","","流程表","False"
|
||||
"dbo","sp_提交流程","SQL_STORED_PROCEDURE","","","","流程节点表","False"
|
||||
"dbo","sp_完成流程","SQL_STORED_PROCEDURE","","","","流程表","False"
|
||||
"dbo","sp_完成流程","SQL_STORED_PROCEDURE","","","","流程节点表","False"
|
||||
"dbo","sp_完成流程","SQL_STORED_PROCEDURE","","","","流程完成记录表","False"
|
||||
"dbo","sp_完成流程","SQL_STORED_PROCEDURE","","","","审批记录表","False"
|
||||
"dbo","sp_转办流程","SQL_STORED_PROCEDURE","","","","流程表","False"
|
||||
"dbo","sp_转办流程","SQL_STORED_PROCEDURE","","","","流程节点表","False"
|
||||
"dbo","sp_转办流程","SQL_STORED_PROCEDURE","","","","流程转办表","False"
|
||||
"dbo","sp_转办流程","SQL_STORED_PROCEDURE","","","","审批记录表","False"
|
||||
"dbo","TV_视图看板_查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_TASK_1","False"
|
||||
"dbo","TV_视图看板2楼_查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_TASK_2","False"
|
||||
"dbo","TV_视图看板仓库_查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_TASK2_2","False"
|
||||
"dbo","update_MyTask","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划","False"
|
||||
"dbo","update_MyTask","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","update_MyTask","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","update_MyTask","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_ISSUEPRINT","False"
|
||||
"dbo","update_MyTask","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_ODRF_ODLNMES","False"
|
||||
"dbo","update_MyTask","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_OPKL_CompleteSet","False"
|
||||
"dbo","update_MyTask","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","ubt_OPKL_UrgentMaterials","False"
|
||||
"dbo","update_MyTask","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_OWOR","False"
|
||||
"dbo","update_MyTask","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_OWOR_OIGN","False"
|
||||
"dbo","update_MyTask","SQL_STORED_PROCEDURE","","","dbo","质量检验_质检任务_SAP","False"
|
||||
"dbo","usp_BatchValidateWorkTime","SQL_STORED_PROCEDURE","","","","usp_CalculateDailyRatio","False"
|
||||
"dbo","usp_BatchValidateWorkTime","SQL_STORED_PROCEDURE","","","","usp_CalculateUploadMinutes","False"
|
||||
"dbo","usp_BatchValidateWorkTime","SQL_STORED_PROCEDURE","","","","View_生产工时视图","False"
|
||||
"dbo","usp_CalculateDailyRatio","SQL_STORED_PROCEDURE","","","","View_生产工时视图","False"
|
||||
"dbo","usp_CalculateUploadMinutes","SQL_STORED_PROCEDURE","","","","usp_CalculateDailyRatio","False"
|
||||
"dbo","usp_CalculateUploadMinutes","SQL_STORED_PROCEDURE","","","","usp_CalculateShiftTime","False"
|
||||
"dbo","usp_CalculateUploadMinutes","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","View_设备工位人员","False"
|
||||
"dbo","usp_CalculateUploadMinutes","SQL_STORED_PROCEDURE","","","","View_生产工时视图","False"
|
||||
"dbo","usp_GenerateSAPDocumentLines","SQL_STORED_PROCEDURE","","","","SAP发送批次记录","False"
|
||||
"dbo","usp_GenerateSAPDocumentLines","SQL_STORED_PROCEDURE","","","","SAP工时待发送表","False"
|
||||
"dbo","usp_GenerateSAPDocumentLines","SQL_STORED_PROCEDURE","","","","View_生产工时视图","False"
|
||||
"dbo","usp_GetAbnormalMinutesByTask","SQL_STORED_PROCEDURE","","","","View_生产工时视图","False"
|
||||
"dbo","usp_ValidateWorkTime","SQL_STORED_PROCEDURE","","","","usp_CalculateUploadMinutes","False"
|
||||
"dbo","usp_ValidateWorkTime","SQL_STORED_PROCEDURE","","","","View_生产工时视图","False"
|
||||
"dbo","usp_ValidateWorkTime","SQL_STORED_PROCEDURE","","","","YL_加工中心_操作记录表","False"
|
||||
"dbo","usp_ValidateWorkTime","SQL_STORED_PROCEDURE","","","","生产管理_工时校验_校验工时表","False"
|
||||
"dbo","v_CurrentProductionStatus","VIEW","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","v_CurrentProductionStatus","VIEW","","","dbo","View_设备工位人员","False"
|
||||
"dbo","v_CurrentProductionStatus","VIEW","","","","View_生产订单_MES","False"
|
||||
"dbo","v_CurrentProductionStatus","VIEW","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","v_CurrentProductionStatus","VIEW","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","View_报工人员","VIEW","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","View_标准工艺视图","VIEW","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","View_标准工艺视图","VIEW","","","dbo","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","View_标准工艺视图","VIEW","","","dbo","基础表_工序","False"
|
||||
"dbo","View_工位人员绑定数","VIEW","","","dbo","MES_资源主数据","False"
|
||||
"dbo","View_工位人员绑定数","VIEW","","","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","View_工位人员绑定数","VIEW","","","dbo","工位人员绑定表","False"
|
||||
"dbo","View_基础数据_工位","VIEW","","","dbo","MES_资源主数据","False"
|
||||
"dbo","View_设备工位人员","VIEW","","","dbo","MES_资源主数据","False"
|
||||
"dbo","View_设备工位人员","VIEW","","","dbo","班次表","False"
|
||||
"dbo","View_设备工位人员","VIEW","","","dbo","班次人员绑定表","False"
|
||||
"dbo","View_设备工位人员","VIEW","","","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","View_设备工位人员","VIEW","","","dbo","工位人员绑定表","False"
|
||||
"dbo","View_生产订单_MES","VIEW","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","View_生产订单_MES","VIEW","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","View_生产订单_MES","VIEW","","","dbo","MES_资源主数据","False"
|
||||
"dbo","View_生产订单_MES","VIEW","","","dbo","物料基础数据_零件图纸","False"
|
||||
"dbo","View_生产订单Temp_ERP","VIEW","","","dbo","OWOR","False"
|
||||
"dbo","View_生产订单Temp_ERP","VIEW","","","dbo","OWR1","False"
|
||||
"dbo","View_生产订单Temp_ERP","VIEW","","","dbo","OWR4","False"
|
||||
"dbo","View_生产订单全部(包括已关闭)","VIEW","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","View_生产订单全部(包括已关闭)","VIEW","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","View_生产订单全部(包括已关闭)","VIEW","","","dbo","MES_资源主数据","False"
|
||||
"dbo","View_生产订单全部(包括已关闭)","VIEW","","","dbo","物料基础数据_零件图纸","False"
|
||||
"dbo","View_生产订单完工","VIEW","","","dbo","View_生产工时视图","False"
|
||||
"dbo","View_生产订单完工","VIEW","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","View_生产工时视图","VIEW","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","View_生产工时视图","VIEW","","","dbo","View_工位人员绑定数","False"
|
||||
"dbo","View_生产工时视图","VIEW","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","View_生产工时视图","VIEW","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","View_生产工时视图","VIEW","","","dbo","生产管理_工时校验_校验工时表","False"
|
||||
"dbo","View_生产工时视图全部","VIEW","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","View_生产工时视图全部","VIEW","","","dbo","View_工位人员绑定数","False"
|
||||
"dbo","View_生产工时视图全部","VIEW","","","dbo","View_生产订单全部(包括已关闭)","False"
|
||||
"dbo","View_生产工时视图全部","VIEW","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","View_生产工时视图全部","VIEW","","","dbo","生产管理_工时校验_校验工时表","False"
|
||||
"dbo","View_生产工艺视图","VIEW","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","View_生产工艺视图","VIEW","","","dbo","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","View_生产计划零件图纸视图","VIEW","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","View_生产计划零件图纸视图","VIEW","","","dbo","物料基础数据_零件图纸","False"
|
||||
"dbo","View_图纸视图","VIEW","SAP","SBO_YL","dbo","UBT_OITM","False"
|
||||
"dbo","View_图纸视图","VIEW","","","dbo","物料基础数据_零件图纸","False"
|
||||
"dbo","View_外协报表视图","VIEW","SAP","SBO_YL","dbo","UBT_WW_MES_OPORandOPCH","False"
|
||||
"dbo","View_外协报表视图","VIEW","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","View_外协报表视图","VIEW","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","View_外协报表视图","VIEW","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","View_外协质检","VIEW","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","View_外协质检","VIEW","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","View_校验后的生产工时","VIEW","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","View_校验后的生产工时","VIEW","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","View_校验后的生产工时","VIEW","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","View_校验后的生产工时","VIEW","","","dbo","生产管理_工时校验_校验工时表","False"
|
||||
"dbo","View_账号权限信息","VIEW","","","dbo","登录基础数据_二级菜单","False"
|
||||
"dbo","View_账号权限信息","VIEW","","","dbo","登录基础数据_角色信息","False"
|
||||
"dbo","View_账号权限信息","VIEW","","","dbo","登录基础数据_人员权限角色","False"
|
||||
"dbo","View_账号权限信息","VIEW","","","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","View_质检明细","VIEW","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","View_质检明细","VIEW","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","View_质检明细","VIEW","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","View_质量检验_不合格品处理","VIEW","","","dbo","YL_质量检验_不合格品处理","False"
|
||||
"dbo","View_质量检验_不合格品处理","VIEW","","","dbo","YL_质量检验_不合格品处理_处理节点","False"
|
||||
"dbo","View_质量检验_质检记录","VIEW","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","View_质量检验_质检记录_外协收检","VIEW","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","View_质量检验_质检记录_外协收检","VIEW","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","View_终检状态","VIEW","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","View_装配信息","VIEW","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","View_装配信息","VIEW","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","WEB_报警_记录_历史_分页查询","SQL_STORED_PROCEDURE","","","dbo","sp_xt_pagesplit1","False"
|
||||
"dbo","WEB_登录基础数据_人员信息_重置密码","SQL_STORED_PROCEDURE","","","","登录基础数据_人员信息","False"
|
||||
"dbo","YL_设备管理_工时记录_增加","SQL_STORED_PROCEDURE","","","","CaChe_Var","False"
|
||||
"dbo","YL_设备管理_工时记录_增加","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","YL_设备管理_工时记录_增加","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","YL_设备管理_工时记录_增加","SQL_STORED_PROCEDURE","","","","YL_设备管理_工时记录","False"
|
||||
"dbo","菜单管理_角色模块_二级_增加数据","SQL_STORED_PROCEDURE","","","","p_PopFirstWord","False"
|
||||
"dbo","菜单管理_角色模块_二级_增加数据","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_二级菜单","False"
|
||||
"dbo","菜单管理_角色模块_删除数据","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_二级菜单","False"
|
||||
"dbo","菜单管理_角色模块_一级_增加数据","SQL_STORED_PROCEDURE","","","","p_PopFirstWord","False"
|
||||
"dbo","菜单管理_角色模块_一级_增加数据","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_二级菜单","False"
|
||||
"dbo","菜单模块系统_项目角色模块列表_二级_查询数据","SQL_STORED_PROCEDURE","","","","登录基础数据_二级菜单","False"
|
||||
"dbo","菜单模块系统_用户名密码_查询数据","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_管理人员权限视图","False"
|
||||
"dbo","菜单模块系统_用户名密码_查询数据_安全修复前_20260725","SQL_STORED_PROCEDURE","","","","登录基础数据_管理人员权限视图","False"
|
||||
"dbo","菜单系统模块_项目角色_查询数据_MESWORK","SQL_STORED_PROCEDURE","","","dbo","sp_xt_pagesplit","False"
|
||||
"dbo","菜单系统模块_项目角色_删除_MESWORK","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_二级菜单","False"
|
||||
"dbo","菜单系统模块_项目角色_删除_MESWORK","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_角色信息","False"
|
||||
"dbo","菜单系统模块_项目角色_删除_MESWORK","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_人员权限角色","False"
|
||||
"dbo","菜单系统模块_项目角色_修改数据_MESWORK","SQL_STORED_PROCEDURE","","","","登录基础数据_角色信息","False"
|
||||
"dbo","菜单系统模块_项目角色_修改数据_MESWORK","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_角色信息","False"
|
||||
"dbo","菜单系统模块_项目角色_增加_MESWORK","SQL_STORED_PROCEDURE","","","","登录基础数据_角色信息","False"
|
||||
"dbo","菜单系统模块_项目角色_增加_MESWORK","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_角色信息","False"
|
||||
"dbo","仓库大屏_出库超期明细","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_OpenOPKL_material_10Days","False"
|
||||
"dbo","仓库大屏_汇总查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_inventory_2Days","False"
|
||||
"dbo","仓库大屏_汇总查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_OpenODLN_material","False"
|
||||
"dbo","仓库大屏_汇总查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_OpenODLN_material_ToDay","False"
|
||||
"dbo","仓库大屏_汇总查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_OpenOPKL_material_101","False"
|
||||
"dbo","仓库大屏_汇总查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_OpenOPKL_material_103","False"
|
||||
"dbo","仓库大屏_汇总查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_OpenOPKL_material_10Days","False"
|
||||
"dbo","仓库大屏_汇总查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_receipttask_101","False"
|
||||
"dbo","仓库大屏_汇总查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_receipttask_103","False"
|
||||
"dbo","仓库大屏_汇总查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_receipttask_105","False"
|
||||
"dbo","仓库大屏_汇总查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_receipttask_106","False"
|
||||
"dbo","仓库大屏_汇总查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_receipttask_material_2Days","False"
|
||||
"dbo","仓库大屏_汇总查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_ubt_wm_issuetask_material_OPKL","False"
|
||||
"dbo","仓库大屏_加急拣配列表","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_OpenOPKL_material_101","False"
|
||||
"dbo","仓库大屏_加急拣配列表","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_OpenOPKL_material_103","False"
|
||||
"dbo","仓库大屏_加急入库列表","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_receipttask_material_101","False"
|
||||
"dbo","仓库大屏_加急入库列表","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_receipttask_material_103","False"
|
||||
"dbo","仓库大屏_加急入库列表","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_receipttask_material_105","False"
|
||||
"dbo","仓库大屏_加急入库列表","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_receipttask_material_106","False"
|
||||
"dbo","仓库大屏_拣配任务列表","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_OpenOPKL_material_101","False"
|
||||
"dbo","仓库大屏_拣配任务列表","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_OpenOPKL_material_103","False"
|
||||
"dbo","仓库大屏_今日应发明细","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_OpenODLN_material_ToDay","False"
|
||||
"dbo","仓库大屏_入库超期明细","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_DP_receipttask_material_2Days","False"
|
||||
"dbo","查询字典","SQL_STORED_PROCEDURE","","","dbo","YL_基础表_数据字典","False"
|
||||
"dbo","车间生产管理工艺_零件工序_保存为标准工艺","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","车间生产管理工艺_零件工序_保存为标准工艺","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","车间生产管理工艺_零件工序_保存为标准工艺","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","车间生产管理工艺_零件工序_编辑_工艺库","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","车间生产管理工艺_零件工序_编辑插入行","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","车间生产管理工艺_零件工序_编辑插入行","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","车间生产管理工艺_零件工序_插入工序_工艺库","SQL_STORED_PROCEDURE","","","dbo","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","车间生产管理工艺_零件工序_查询工序信息_工艺库","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","车间生产管理工艺_零件工序_查询工序信息_工艺库","SQL_STORED_PROCEDURE","","","dbo","基础表_工序","False"
|
||||
"dbo","车间生产管理工艺_零件工序_启用","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","车间生产管理工艺_零件工序_启用","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","车间生产管理工艺_零件工序_删除工序_工艺库","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","车间生产管理工艺_零件工序_删除工序_工艺库","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","车间生产管理工艺_零件工序_上移工序_工艺库","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","车间生产管理工艺_零件工序_上移工序_工艺库","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","车间生产管理工艺_零件工序_上移工序_工艺库","SQL_STORED_PROCEDURE","","","dbo","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","车间生产管理工艺_零件工序_下移工序_工艺库","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","车间生产管理工艺_零件工序_下移工序_工艺库","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","车间生产管理工艺_零件工序_下移工序_工艺库","SQL_STORED_PROCEDURE","","","dbo","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","车间生产管理工艺_零件工序_修改数据_工艺库","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","车间生产管理工艺_零件工序_修改数据_工艺库","SQL_STORED_PROCEDURE","","","dbo","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","登录基础数据_管理人员权限视图","VIEW","","","dbo","登录基础数据_部门","False"
|
||||
"dbo","登录基础数据_管理人员权限视图","VIEW","","","dbo","登录基础数据_角色信息","False"
|
||||
"dbo","登录基础数据_管理人员权限视图","VIEW","","","dbo","登录基础数据_人员权限角色","False"
|
||||
"dbo","登录基础数据_管理人员权限视图","VIEW","","","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","登录基础数据_人员信息_登陆检查密码","SQL_STORED_PROCEDURE","","","","登录基础数据_人员信息","False"
|
||||
"dbo","登录基础数据_人员信息_修改密码","SQL_STORED_PROCEDURE","","","","登录基础数据_人员信息","False"
|
||||
"dbo","发货任务堵点_看板查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_ODRF_ODLNMES","False"
|
||||
"dbo","发货任务堵点_看板查询","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","发货任务堵点_看板查询","SQL_STORED_PROCEDURE","","","dbo","View_生产工时视图","False"
|
||||
"dbo","发货任务堵点_看板查询","SQL_STORED_PROCEDURE","","","dbo","View_质量检验_质检记录","False"
|
||||
"dbo","发货任务堵点_看板查询","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","发货任务堵点_看板查询","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","工时统计_任务工时_查询","SQL_STORED_PROCEDURE","","","","View_生产工时视图全部","False"
|
||||
"dbo","工时统计_任务工时_查询","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","工时统计_任务工时_查询_导出","SQL_STORED_PROCEDURE","","","","View_生产工时视图","False"
|
||||
"dbo","工时统计_设备工时_查询","SQL_STORED_PROCEDURE","","","","View_生产工时视图全部","False"
|
||||
"dbo","工时统计_设备工时_查询_导出","SQL_STORED_PROCEDURE","","","","View_生产工时视图","False"
|
||||
"dbo","工时统计_项目工时_查询","SQL_STORED_PROCEDURE","","","","View_生产工时视图全部","False"
|
||||
"dbo","工时统计_项目工时_查询","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","工时统计_项目工时_查询_导出","SQL_STORED_PROCEDURE","","","","View_生产工时视图","False"
|
||||
"dbo","工时统计_作业者工时_查询","SQL_STORED_PROCEDURE","","","dbo","View_生产工时视图全部","False"
|
||||
"dbo","工时统计_作业者工时_查询","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","工时统计_作业者工时_查询_导出","SQL_STORED_PROCEDURE","","","dbo","View_生产工时视图","False"
|
||||
"dbo","工时统计_作业者工时_查询_导出","SQL_STORED_PROCEDURE","","","dbo","View_生产工时视图全部","False"
|
||||
"dbo","工时校验_保存校验记录","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","工时校验_获取操作记录列表","SQL_STORED_PROCEDURE","","","dbo","sp_xt_pagesplit","False"
|
||||
"dbo","工时校验_获取操作人当天报工记录","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","工时校验_获取订单工序","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","工时校验_获取订单列表","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","工时校验_获取工序和指派对象","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","工时校验_获取工序和指派对象","SQL_STORED_PROCEDURE","","","","MES_资源主数据","False"
|
||||
"dbo","工时校验_获取设备数据","SQL_STORED_PROCEDURE","","","dbo","历史_工位设备状态每分钟记录","False"
|
||||
"dbo","工时校验_获取新增工时任务信息","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","工时校验_获取资源","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_ORSC","False"
|
||||
"dbo","工时校验_获取昨日之前操作记录列表","SQL_STORED_PROCEDURE","","","dbo","sp_xt_pagesplit","False"
|
||||
"dbo","工时校验_批量保存校验记录","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","工时校验_批量保存校验记录","SQL_STORED_PROCEDURE","","","dbo","生产管理_工时校验_校验工时表","False"
|
||||
"dbo","工时校验_新增操作记录","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","工位人员绑定表","USER_TABLE","","","dbo","工位人员绑定表","False"
|
||||
"dbo","工艺管理_工艺查询","SQL_STORED_PROCEDURE","","","dbo","sp_xt_pagesplit_group","False"
|
||||
"dbo","工艺管理_工艺查询_查询生产工艺","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","工艺管理_工艺查询_查询生产工艺","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_工艺查询_订单信息查询","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划","False"
|
||||
"dbo","工艺管理_工艺查询_更新打印次数","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","工艺管理_工艺查询_生产工艺查询","SQL_STORED_PROCEDURE","","","dbo","sp_xt_pagesplit_group","False"
|
||||
"dbo","工艺管理_工艺维护_查看图纸","SQL_STORED_PROCEDURE","","","dbo","物料基础数据_工艺图纸","False"
|
||||
"dbo","工艺管理_工艺维护_工艺图查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_OITM","False"
|
||||
"dbo","工艺管理_工艺维护_工艺图查询","SQL_STORED_PROCEDURE","","","dbo","物料基础数据_工艺图纸","False"
|
||||
"dbo","工艺管理_工艺维护_删除图纸","SQL_STORED_PROCEDURE","","","dbo","物料基础数据_工艺图纸","False"
|
||||
"dbo","工艺管理_工艺维护_验证名称","SQL_STORED_PROCEDURE","","","dbo","物料数据","False"
|
||||
"dbo","工艺管理_获取物料原料信息","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_OWOR_material","False"
|
||||
"dbo","工艺管理_零件工序_生产工艺_编辑","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_零件工序_生产工艺_编辑插入工序","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","工艺管理_零件工序_生产工艺_编辑插入工序","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_零件工序_生产工艺_插入工序","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","工艺管理_零件工序_生产工艺_插入工序","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_零件工序_生产工艺_插入工序","SQL_STORED_PROCEDURE","","","dbo","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_零件工序_生产工艺_删除工序","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","工艺管理_零件工序_生产工艺_删除工序","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_零件工序_生产工艺_上移工序","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","工艺管理_零件工序_生产工艺_上移工序","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_零件工序_生产工艺_上移工序","SQL_STORED_PROCEDURE","","","dbo","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_零件工序_生产工艺_下移工序","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","工艺管理_零件工序_生产工艺_下移工序","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_零件工序_生产工艺_下移工序","SQL_STORED_PROCEDURE","","","dbo","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_零件工序_生产工艺_修改数据","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","工艺管理_零件工序_生产工艺_修改数据","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_零件工序_生产工艺_修改数据","SQL_STORED_PROCEDURE","","","dbo","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_生产工艺_标准工艺拷贝","SQL_STORED_PROCEDURE","","","dbo","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","工艺管理_生产工艺_标准工艺拷贝","SQL_STORED_PROCEDURE","","","dbo","物料数据","False"
|
||||
"dbo","工艺管理_生产工艺_查询标准工艺","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","工艺管理_生产工艺_查询标准工艺","SQL_STORED_PROCEDURE","","","dbo","基础表_工序","False"
|
||||
"dbo","工艺管理_生产工艺_查询生产工艺","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_生产工艺_查询生产工艺","SQL_STORED_PROCEDURE","","","dbo","基础表_工序","False"
|
||||
"dbo","工艺管理_生产工艺_工艺拷贝","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","工艺管理_生产工艺_工艺拷贝","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","工艺管理_生产工艺_工艺拷贝","SQL_STORED_PROCEDURE","","","dbo","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","工艺管理_生产工艺_工艺拷贝","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_生产工艺_工艺拷贝","SQL_STORED_PROCEDURE","","","dbo","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_生产工艺_启用","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","工艺管理_生产工艺_启用","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_生产工艺_生产工艺拷贝","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划","False"
|
||||
"dbo","工艺管理_生产计划物料查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_OITM","False"
|
||||
"dbo","工艺管理_图纸维护_查看图纸","SQL_STORED_PROCEDURE","","","dbo","物料基础数据_零件图纸","False"
|
||||
"dbo","工艺管理_图纸维护_记录删除日志","SQL_STORED_PROCEDURE","","","","物料基础数据_零件图纸删除记录","False"
|
||||
"dbo","工艺管理_图纸维护_零件图查询","SQL_STORED_PROCEDURE","","","dbo","View_图纸视图","False"
|
||||
"dbo","工艺管理_图纸维护_零件图查询采购","SQL_STORED_PROCEDURE","","","dbo","View_图纸视图","False"
|
||||
"dbo","工艺管理_图纸维护_零件图查询全部","SQL_STORED_PROCEDURE","","","dbo","View_图纸视图","False"
|
||||
"dbo","工艺管理_图纸维护_删除图纸","SQL_STORED_PROCEDURE","","","dbo","物料基础数据_零件图纸","False"
|
||||
"dbo","工艺管理_图纸维护_删除图纸","SQL_STORED_PROCEDURE","","","","物料基础数据_零件图纸删除记录","False"
|
||||
"dbo","工艺管理_图纸维护_物料查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_OITM","False"
|
||||
"dbo","工艺管理_图纸维护_物料查询_采购","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_OITM","False"
|
||||
"dbo","工艺管理_图纸维护_验证名称","SQL_STORED_PROCEDURE","","","dbo","物料数据","False"
|
||||
"dbo","工艺管理_制定标准工艺_拷贝工艺保存","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","工艺管理_制定标准工艺_拷贝工艺保存","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","工艺管理_制定标准工艺_拷贝工艺保存","SQL_STORED_PROCEDURE","","","dbo","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","工艺管理_制定标准工艺_拷贝工艺保存","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_制定标准工艺_拷贝工艺保存","SQL_STORED_PROCEDURE","","","dbo","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_制定标准工艺_拷贝生产工艺","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","工艺管理_制定标准工艺_拷贝生产工艺","SQL_STORED_PROCEDURE","","","dbo","基础表_工序","False"
|
||||
"dbo","机加设备生产运营看板_不良品查询","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","View_质量检验_质检记录","False"
|
||||
"dbo","机加设备生产运营看板_当天已完成明细","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","机加设备生产运营看板_当天已完成明细","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","View_质量检验_质检记录","False"
|
||||
"dbo","机加设备生产运营看板_计划执行率","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","机加设备生产运营看板_加急任务查询","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","机加设备生产运营看板_加急任务查询","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","View_生产订单_MES","False"
|
||||
"dbo","机加设备生产运营看板_加急任务查询","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","机加设备生产运营看板_加急任务查询","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","机加设备生产运营看板_设备运行状态查询","SQL_STORED_PROCEDURE","","","dbo","CaChe_Var","False"
|
||||
"dbo","机加设备生产运营看板_设备运行状态查询","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","基础数据_设备工位点检表","False"
|
||||
"dbo","机加设备生产运营看板_外协未及时开工查询","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","机加设备生产运营看板_外协未及时开工查询","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","机加设备生产运营看板_外协未及时开工查询","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","计划排产_二次派工","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","计划排产_阀类任务查询","SQL_STORED_PROCEDURE","","","dbo","计划排产_装配任务查询_核心","False"
|
||||
"dbo","计划排产_更新齐套数据","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划","False"
|
||||
"dbo","计划排产_派工","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","计划排产_生产订单_订单查询","SQL_STORED_PROCEDURE","","","dbo","sp_xt_pagesplit","False"
|
||||
"dbo","计划排产_生产订单_订单任务","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","计划排产_生产订单_订单任务_单条生产工艺任务下发","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","计划排产_生产订单_订单任务_单条生产工艺任务下发","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","计划排产_生产订单_订单任务_单条生产工艺任务下发","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","计划排产_生产订单_订单任务_生产工艺任务下发","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","计划排产_生产订单_订单任务_生产工艺任务下发","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","计划排产_生产订单_工艺查询","SQL_STORED_PROCEDURE","","","","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","计划排产_生产订单_工艺查询","SQL_STORED_PROCEDURE","","","dbo","基础表_工序","False"
|
||||
"dbo","计划排产_生产订单_已排产订单查询","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","计划排产_生产订单关闭_查询订单","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","计划排产_生产订单关闭_查询全部订单","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","计划排产_生产订单关闭_查询全部订单","SQL_STORED_PROCEDURE","","","dbo","View_生产工时视图","False"
|
||||
"dbo","计划排产_生产订单关闭_查询全部订单","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","计划排产_生产订单关闭_查询全部订单","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","计划排产_生产订单关闭_关闭订单","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","计划排产_生产订单关闭_确认订单","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","计划排产_外协分组","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","计划排产_系统类任务查询","SQL_STORED_PROCEDURE","","","dbo","计划排产_装配任务查询_核心","False"
|
||||
"dbo","计划排产_装配任务查询_核心","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","计划排产_装配任务查询_核心","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","计划排产_装配任务查询_核心","SQL_STORED_PROCEDURE","","","dbo","View_生产工时视图","False"
|
||||
"dbo","计划排产_装配任务查询_核心","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","计划排产_装配任务查询_核心","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","计划排产_装配任务查询_核心","SQL_STORED_PROCEDURE","","","dbo","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","计划排产_装配任务查询_核心","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","计划排产_装配任务查询_核心","SQL_STORED_PROCEDURE","","","dbo","计划排产_装配合同预算","False"
|
||||
"dbo","计划排产_装配任务查询_核心","SQL_STORED_PROCEDURE","","","dbo","计划排产_装配任务预算","False"
|
||||
"dbo","计划排产_装配任务查询_核心","SQL_STORED_PROCEDURE","","","dbo","流程表","False"
|
||||
"dbo","计划排产_装配任务查询_核心_测试跳过SAP前_20260725","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","计划排产_装配任务查询_核心_测试跳过SAP前_20260725","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_ORDROPEN2","False"
|
||||
"dbo","计划排产_装配任务查询_核心_测试跳过SAP前_20260725","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","计划排产_装配任务查询_核心_测试跳过SAP前_20260725","SQL_STORED_PROCEDURE","","","dbo","View_生产工时视图","False"
|
||||
"dbo","计划排产_装配任务查询_核心_测试跳过SAP前_20260725","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","计划排产_装配任务查询_核心_测试跳过SAP前_20260725","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","计划排产_装配任务查询_核心_测试跳过SAP前_20260725","SQL_STORED_PROCEDURE","","","dbo","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","计划排产_装配任务查询_核心_测试跳过SAP前_20260725","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","计划排产_装配任务查询_核心_测试跳过SAP前_20260725","SQL_STORED_PROCEDURE","","","dbo","计划排产_装配合同预算","False"
|
||||
"dbo","计划排产_装配任务查询_核心_测试跳过SAP前_20260725","SQL_STORED_PROCEDURE","","","dbo","计划排产_装配任务预算","False"
|
||||
"dbo","计划排产_装配任务查询_核心_测试跳过SAP前_20260725","SQL_STORED_PROCEDURE","","","dbo","流程表","False"
|
||||
"dbo","计划排产_装配任务查询_核心_预算前_20260725","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","计划排产_装配任务查询_核心_预算前_20260725","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_MES_ORDROPEN2","False"
|
||||
"dbo","计划排产_装配任务查询_核心_预算前_20260725","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","计划排产_装配任务查询_核心_预算前_20260725","SQL_STORED_PROCEDURE","","","dbo","View_生产工时视图","False"
|
||||
"dbo","计划排产_装配任务查询_核心_预算前_20260725","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","计划排产_装配任务查询_核心_预算前_20260725","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","计划排产_装配任务查询_核心_预算前_20260725","SQL_STORED_PROCEDURE","","","dbo","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","计划排产_装配任务查询_核心_预算前_20260725","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","计划排产_装配任务查询_核心_预算前_20260725","SQL_STORED_PROCEDURE","","","dbo","流程表","False"
|
||||
"dbo","计划排产_装配任务预算_保存","SQL_STORED_PROCEDURE","","","dbo","计划排产_装配合同预算","False"
|
||||
"dbo","计划排产_装配任务预算_保存","SQL_STORED_PROCEDURE","","","dbo","计划排产_装配任务预算","False"
|
||||
"dbo","计划排产_自制件_日程时间修改","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","计划任务视图","VIEW","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","计划任务视图","VIEW","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","计划任务视图","VIEW","","","dbo","车间生产管理工艺_零件工序_工艺库","False"
|
||||
"dbo","计算人员工时","SQL_STORED_PROCEDURE","","","dbo","MES_资源主数据","False"
|
||||
"dbo","计算人员工时","SQL_STORED_PROCEDURE","","","","YL_加工中心_操作记录表","False"
|
||||
"dbo","计算人员工时","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","计算人员工时","SQL_STORED_PROCEDURE","","","dbo","班次表","False"
|
||||
"dbo","计算人员工时","SQL_STORED_PROCEDURE","","","dbo","班次人员绑定表","False"
|
||||
"dbo","计算人员工时","SQL_STORED_PROCEDURE","","","","登录基础数据_人员信息","False"
|
||||
"dbo","计算人员工时","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","计算人员工时","SQL_STORED_PROCEDURE","","","dbo","工位人员绑定表","False"
|
||||
"dbo","计算人员工时","SQL_STORED_PROCEDURE","","","dbo","计算班次重叠秒数","True"
|
||||
"dbo","加工中心_收检_读取收检记录","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","加工中心_收检_读取收检记录","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","加工中心_收检_读取收检记录","SQL_STORED_PROCEDURE","","","","YL_质量检验_质检记录","False"
|
||||
"dbo","加工中心_收检_读取收检记录","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","加工中心_修改工时_保存修改记录","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","加工中心_异常工时_获取操作记录列表","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","加工中心_异常工时_获取操作记录列表","SQL_STORED_PROCEDURE","","","dbo","生产管理_工时校验_校验工时表","False"
|
||||
"dbo","加急订单_加急明细查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","ubt_OPKL_UrgentMaterials_ALL","False"
|
||||
"dbo","看板_右下质量看板_表格_查询","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","看板_中间主体订单_表格_查询","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","看板_中间主体订单详情_表格_查询","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","看板_主页六个关键数据_查询","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","看板_主页六个关键数据_查询","SQL_STORED_PROCEDURE","","","","View_生产工时视图","False"
|
||||
"dbo","看板_左上订单看板_表格_查询","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","看板_左上计划执行情况_曲线_查询","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","看板_左下未完成看板_表格_查询","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","看板_左下未完成看板_表格_查询","SQL_STORED_PROCEDURE","","","","View_生产工时视图","False"
|
||||
"dbo","看板_左下未完成看板_表格_查询","SQL_STORED_PROCEDURE","","","","View_生产工艺视图","False"
|
||||
"dbo","看板_左中装配看板_表格_查询","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","跨库查询测试","SQL_STORED_PROCEDURE","","ERPTOOL_JY20250826","dbo","PDM_订单信息_视图","False"
|
||||
"dbo","人员管理_角色信息初始化查询_查询","SQL_STORED_PROCEDURE","","","","登录基础数据_角色信息","False"
|
||||
"dbo","人员管理_人员信息查询","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_管理人员权限视图","False"
|
||||
"dbo","人员管理_人员信息查询_查询","SQL_STORED_PROCEDURE","","","dbo","sp_xt_pagesplit","False"
|
||||
"dbo","人员管理_人员信息查询_质检部门_查询","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_管理人员权限视图","False"
|
||||
"dbo","人员管理_人员信息新增_新增","SQL_STORED_PROCEDURE","","","","登录基础数据_人员权限角色","False"
|
||||
"dbo","人员管理_人员信息新增_新增","SQL_STORED_PROCEDURE","","","","登录基础数据_人员信息","False"
|
||||
"dbo","人员管理_人员信息修改_编辑","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_人员权限角色","False"
|
||||
"dbo","人员管理_人员信息修改_编辑","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","人员管理_人员信息修改_删除","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_人员权限角色","False"
|
||||
"dbo","人员管理_人员信息修改_删除","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","设备管理_设备数据_历史查询","SQL_STORED_PROCEDURE","","","dbo","sp_xt_pagesplit","False"
|
||||
"dbo","设备管理_设备数据_统计数据查询","SQL_STORED_PROCEDURE","","","","YL_设备管理_工时记录","False"
|
||||
"dbo","设备管理_设备数据_统计数据查询","SQL_STORED_PROCEDURE","","","","历史_工位设备状态每分钟记录","False"
|
||||
"dbo","设备管理_设备数据_统计数据查询_通过类型","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划","False"
|
||||
"dbo","设备管理_设备数据_统计数据查询_通过类型","SQL_STORED_PROCEDURE","","","dbo","sp_xt_pagesplit1","False"
|
||||
"dbo","设备管理_设备数据_统计数据查询_通过类型","SQL_STORED_PROCEDURE","","","dbo","YL_设备管理_工时记录","False"
|
||||
"dbo","设备管理_设备数据_统计数据查询_通过类型","SQL_STORED_PROCEDURE","","","","历史_工位设备状态每分钟记录","False"
|
||||
"dbo","设备管理_设备信息_编辑","SQL_STORED_PROCEDURE","","","dbo","基础数据_设备工位点检表","False"
|
||||
"dbo","设备管理_设备信息_查询","SQL_STORED_PROCEDURE","","","dbo","YL_基础表_数据字典","False"
|
||||
"dbo","设备管理_设备信息_查询","SQL_STORED_PROCEDURE","","","dbo","基础数据_设备工位点检表","False"
|
||||
"dbo","设备管理_设备信息_删除","SQL_STORED_PROCEDURE","","","","基础数据_设备工位点检表","False"
|
||||
"dbo","设备管理_设备信息_增加","SQL_STORED_PROCEDURE","","","dbo","基础数据_设备工位点检表","False"
|
||||
"dbo","设计报工_附件_查询","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_附件","False"
|
||||
"dbo","设计报工_工时报表_任务工时_查询","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_记录","False"
|
||||
"dbo","设计报工_工时报表_任务工时_查询","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务","False"
|
||||
"dbo","设计报工_工时报表_任务工时_查询","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_角色信息","False"
|
||||
"dbo","设计报工_工时报表_作业者工时_查询","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_记录","False"
|
||||
"dbo","设计报工_工时报表_作业者工时_查询","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务","False"
|
||||
"dbo","设计报工_工时报表_作业者工时_查询","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_角色信息","False"
|
||||
"dbo","设计报工_工时校验_保存","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_记录","False"
|
||||
"dbo","设计报工_工时校验_保存","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务","False"
|
||||
"dbo","设计报工_工时校验_保存","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_校验记录","False"
|
||||
"dbo","设计报工_工时校验_查询","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_记录","False"
|
||||
"dbo","设计报工_工时校验_查询","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务","False"
|
||||
"dbo","设计报工_工时校验_查询","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_角色信息","False"
|
||||
"dbo","设计报工_工时校验_批量保存","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_记录","False"
|
||||
"dbo","设计报工_工时校验_批量保存","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务","False"
|
||||
"dbo","设计报工_工时校验_批量保存","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_校验记录","False"
|
||||
"dbo","设计报工_工时校验_批量保存","SQL_STORED_PROCEDURE","","T","c","value","True"
|
||||
"dbo","设计报工_记录_查询","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_记录","False"
|
||||
"dbo","设计报工_记录_查询","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务","False"
|
||||
"dbo","设计报工_领导批示权限_查询","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_角色信息","False"
|
||||
"dbo","设计报工_人员查询","SQL_STORED_PROCEDURE","","","dbo","系统管理_人员管理_所有有效人员查询","False"
|
||||
"dbo","设计报工_任务_编辑","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务","False"
|
||||
"dbo","设计报工_任务_查询","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_记录","False"
|
||||
"dbo","设计报工_任务_查询","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务","False"
|
||||
"dbo","设计报工_任务_查询","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务说明","False"
|
||||
"dbo","设计报工_任务_查询","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_角色信息","False"
|
||||
"dbo","设计报工_任务_结束","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_记录","False"
|
||||
"dbo","设计报工_任务_结束","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务","False"
|
||||
"dbo","设计报工_任务_开始","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_记录","False"
|
||||
"dbo","设计报工_任务_开始","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务","False"
|
||||
"dbo","设计报工_任务_删除","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_记录","False"
|
||||
"dbo","设计报工_任务_删除","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务","False"
|
||||
"dbo","设计报工_任务_删除","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_校验记录","False"
|
||||
"dbo","设计报工_任务_完成","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_记录","False"
|
||||
"dbo","设计报工_任务_完成","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务","False"
|
||||
"dbo","设计报工_任务_新增","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务","False"
|
||||
"dbo","设计报工_任务说明_新增","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务","False"
|
||||
"dbo","设计报工_任务说明_新增","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务说明","False"
|
||||
"dbo","设计报工_任务说明_新增","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_角色信息","False"
|
||||
"dbo","设计报工_物料查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_OITM","False"
|
||||
"dbo","设计报工_项目查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","VIEW_OPRJ","False"
|
||||
"dbo","设计报工_研发财务工时_查询","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_记录","False"
|
||||
"dbo","设计报工_研发财务工时_查询","SQL_STORED_PROCEDURE","","","dbo","MES_设计报工_任务","False"
|
||||
"dbo","设计报工_研发财务工时_查询","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_角色信息","False"
|
||||
"dbo","生产管理_班次管理_班次绑定人员保存","SQL_STORED_PROCEDURE","","","","班次人员绑定表","False"
|
||||
"dbo","生产管理_班次管理_班次绑定人员查询","SQL_STORED_PROCEDURE","","","","班次人员绑定表","False"
|
||||
"dbo","生产管理_班次管理_班次绑定人员查询","SQL_STORED_PROCEDURE","","","","登录基础数据_管理人员权限视图","False"
|
||||
"dbo","生产管理_班次管理_班次保存","SQL_STORED_PROCEDURE","","","","班次表","False"
|
||||
"dbo","生产管理_班次管理_班次列表查询","SQL_STORED_PROCEDURE","","","","班次表","False"
|
||||
"dbo","生产管理_班次管理_班次删除","SQL_STORED_PROCEDURE","","","","班次表","False"
|
||||
"dbo","生产管理_班次管理_班次删除","SQL_STORED_PROCEDURE","","","","班次人员绑定表","False"
|
||||
"dbo","生产管理_产品合格率工位_查询","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","生产管理_产品合格率工位_查询","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","生产管理_工时查询_工序工时_查询","SQL_STORED_PROCEDURE","","","dbo","View_生产工时视图","False"
|
||||
"dbo","生产管理_工时查询_工序工时_查询","SQL_STORED_PROCEDURE","","","dbo","View_生产工时视图全部","False"
|
||||
"dbo","生产管理_工时查询_工序工时_查询","SQL_STORED_PROCEDURE","","","dbo","车间生产管理工艺_零件生产工艺_工艺库","False"
|
||||
"dbo","生产管理_过程异常管控_发起流程","SQL_STORED_PROCEDURE","","","","Processes","False"
|
||||
"dbo","生产管理_过程异常管控_发起流程","SQL_STORED_PROCEDURE","","","","ProcessNodes","False"
|
||||
"dbo","生产管理_获取人员绑定","SQL_STORED_PROCEDURE","","","dbo","MES_资源主数据","False"
|
||||
"dbo","生产管理_获取人员绑定","SQL_STORED_PROCEDURE","","","dbo","工位人员绑定表","False"
|
||||
"dbo","生产管理_及时齐套跟踪结果_查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","VIEW_Jijiankukc","False"
|
||||
"dbo","生产管理_及时齐套跟踪结果_查询","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","生产管理_及时齐套跟踪结果_查询","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","生产管理_及时齐套跟踪结果_查询","SQL_STORED_PROCEDURE","","","dbo","质量检验_质检任务_SAP","False"
|
||||
"dbo","生产管理_加工中心_班次信息","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","View_设备工位人员","False"
|
||||
"dbo","生产管理_加工中心_辅助自动加班","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","生产管理_加工中心_辅助自动加班","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","生产管理_加工中心_获取班次信息","SQL_STORED_PROCEDURE","","","dbo","班次表","False"
|
||||
"dbo","生产管理_加工中心_获取设备人员","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","View_设备工位人员","False"
|
||||
"dbo","生产管理_加工中心_开始时间","SQL_STORED_PROCEDURE","","","","YL_加工中心_操作记录表","False"
|
||||
"dbo","生产管理_加工中心_领料物料查询","SQL_STORED_PROCEDURE","","","dbo","BOM数据","False"
|
||||
"dbo","生产管理_加工中心_设备是否正在加工","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","生产管理_加工中心_生产发料查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_OWOR_OIGE","False"
|
||||
"dbo","生产管理_加工中心_退库","SQL_STORED_PROCEDURE","","","dbo","质量检验_质检任务_SAP","False"
|
||||
"dbo","生产管理_加工中心_自动加班","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","生产管理_加工中心_自动加班","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","生产管理_加急件管理_更新完成","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","生产管理_加急件管理_更新转至","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","生产管理_结算工时_查询","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","生产管理_结算工时_查询","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","生产管理_结算工时_查询","SQL_STORED_PROCEDURE","","","dbo","View_生产工时视图","False"
|
||||
"dbo","生产管理_结算工时_查询","SQL_STORED_PROCEDURE","","","dbo","View_生产工时视图全部","False"
|
||||
"dbo","生产管理_手续确认报表_查询","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","生产管理_手续确认报表_查询","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","生产管理_手续确认报表_查询","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","生产管理_手续确认报表_查询","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","生产管理_手续确认报表_查询","SQL_STORED_PROCEDURE","","","dbo","生产管理_手续确认报表记录","False"
|
||||
"dbo","生产管理_手续确认报表_确认","SQL_STORED_PROCEDURE","","","dbo","生产管理_手续确认报表记录","False"
|
||||
"dbo","生产管理_外协报表_查询","SQL_STORED_PROCEDURE","","","","View_外协报表视图","False"
|
||||
"dbo","生产管理_外协报表_导出","SQL_STORED_PROCEDURE","","","","View_外协报表视图","False"
|
||||
"dbo","生产管理_外协管理_查询外协","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","生产管理_外协管理_查询外协","SQL_STORED_PROCEDURE","","","dbo","View_生产订单全部(包括已关闭)","False"
|
||||
"dbo","生产管理_外协管理_查询外协","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","生产管理_外协管理_查询外协历史记录","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","生产管理_外协管理_查询外协全部","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","生产管理_外协管理_查询外协全部","SQL_STORED_PROCEDURE","","","dbo","View_生产订单全部(包括已关闭)","False"
|
||||
"dbo","生产管理_外协管理_查询外协全部","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","生产管理_外协管理_查询质检记录","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","生产管理_外协管理_更新备注","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","生产管理_外协管理_更新打印次数","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","生产管理_外协管理_外协发料保存","SQL_STORED_PROCEDURE","","","dbo","MES_ProductCenter_OptRecord_Save","False"
|
||||
"dbo","生产管理_外协管理_外协发料保存","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","生产管理_外协管理_外协发料查询","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","生产管理_外协管理_外协发料查询","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","生产管理_外协管理_外协历史查询","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","生产管理_外协管理_外协收料保存","SQL_STORED_PROCEDURE","","","dbo","MES_ProductCenter_OptRecord_Save","False"
|
||||
"dbo","生产管理_外协管理_外协收料保存","SQL_STORED_PROCEDURE","","","","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","生产管理_物料机器人_查询历史数据","SQL_STORED_PROCEDURE","","","","AGV_历史数据","False"
|
||||
"dbo","生产管理_物料机器人_查询删除记录","SQL_STORED_PROCEDURE","","","","AGV_历史数据","False"
|
||||
"dbo","生产管理_物料机器人_查询实时数据","SQL_STORED_PROCEDURE","","","","AGV_实时数据","False"
|
||||
"dbo","生产管理_物料机器人_创建任务","SQL_STORED_PROCEDURE","","","","AGV_点位","False"
|
||||
"dbo","生产管理_物料机器人_创建任务","SQL_STORED_PROCEDURE","","","","AGV_实时数据","False"
|
||||
"dbo","生产管理_物料机器人_点位查询","SQL_STORED_PROCEDURE","","","","AGV_点位","False"
|
||||
"dbo","生产管理_物料机器人_更新任务状态","SQL_STORED_PROCEDURE","","","","AGV_实时数据","False"
|
||||
"dbo","生产管理_物料机器人_删除点位","SQL_STORED_PROCEDURE","","","","AGV_点位","False"
|
||||
"dbo","生产管理_物料机器人_删除点位","SQL_STORED_PROCEDURE","","","","AGV_实时数据","False"
|
||||
"dbo","生产管理_物料机器人_完成任务","SQL_STORED_PROCEDURE","","","","AGV_历史数据","False"
|
||||
"dbo","生产管理_物料机器人_完成任务","SQL_STORED_PROCEDURE","","","","AGV_实时数据","False"
|
||||
"dbo","生产管理_物料机器人_物料查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_OITM","False"
|
||||
"dbo","生产管理_物料机器人_新增点位","SQL_STORED_PROCEDURE","","","","AGV_点位","False"
|
||||
"dbo","生产管理_物料机器人_修改点位","SQL_STORED_PROCEDURE","","","","AGV_点位","False"
|
||||
"dbo","生产管理_装配中心_缺料查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_OPKL_MissQty","False"
|
||||
"dbo","生产管理_装配状态_获取进行中任务","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","生产管理_装配状态_获取进行中任务","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","生产管理_装配状态_获取进行中任务","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","生产任务综合看板_按期齐套率","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","生产任务综合看板_加急任务查询","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","生产任务综合看板_加急任务查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","ubt_OPKL_UrgentMaterials_ALL","False"
|
||||
"dbo","生产任务综合看板_未按期齐套任务","SQL_STORED_PROCEDURE","","","","View_生产订单_MES","False"
|
||||
"dbo","生产任务综合看板_未排产无工艺查询","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","MES_接口_生产计划","False"
|
||||
"dbo","生产任务综合看板_未排产无工艺查询","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","刷新外协报表合并表","SQL_STORED_PROCEDURE","","","","View_外协报表视图","False"
|
||||
"dbo","刷新外协报表合并表","SQL_STORED_PROCEDURE","","","","外协报表合并表","False"
|
||||
"dbo","系统管理_报工操作记录_查询","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","系统管理_工位管理_工位绑定人员保存","SQL_STORED_PROCEDURE","","","","工位人员绑定表","False"
|
||||
"dbo","系统管理_工位管理_工位绑定人员查询","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_管理人员权限视图","False"
|
||||
"dbo","系统管理_工位管理_工位绑定人员查询","SQL_STORED_PROCEDURE","","","","工位人员绑定表","False"
|
||||
"dbo","系统管理_工位管理_工位信息删除","SQL_STORED_PROCEDURE","","","dbo","MES_资源主数据","False"
|
||||
"dbo","系统管理_工位管理_工位信息修改","SQL_STORED_PROCEDURE","","","","MES_资源主数据","False"
|
||||
"dbo","系统管理_工位管理_工位信息修改","SQL_STORED_PROCEDURE","","","dbo","MES_资源主数据","False"
|
||||
"dbo","系统管理_工位管理_工位信息增加","SQL_STORED_PROCEDURE","","","","MES_资源主数据","False"
|
||||
"dbo","系统管理_工位管理_工位信息增加","SQL_STORED_PROCEDURE","","","dbo","MES_资源主数据","False"
|
||||
"dbo","系统管理_人员管理_所有有效人员查询","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_管理人员权限视图","False"
|
||||
"dbo","异常工时_新增操作记录","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","异常工时_新增操作记录","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","异常提醒_外协及时开工_查询","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","异常提醒_外协及时开工_查询","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","异常提醒_外协及时开工_查询","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","异常提醒_装配及时送检_查询","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","质检测试看板_测试装配任务_查询","SQL_STORED_PROCEDURE","","","dbo","View_生产订单全部(包括已关闭)","False"
|
||||
"dbo","质检测试看板_测试装配任务_查询","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","质检测试看板_测试装配任务_查询","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","质检测试看板_质检发货状态查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_ODRF_ODLNMES","False"
|
||||
"dbo","质检测试看板_质检发货状态查询","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","View_生产订单_MES","False"
|
||||
"dbo","质检测试看板_质检发货状态查询","SQL_STORED_PROCEDURE","","","dbo","View_生产工时视图","False"
|
||||
"dbo","质检测试看板_质检发货状态查询","SQL_STORED_PROCEDURE","","","dbo","View_质量检验_质检记录","False"
|
||||
"dbo","质检测试看板_质检发货状态查询","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","质检测试看板_质检发货状态查询","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","质量管理_不合格品处置_查询","SQL_STORED_PROCEDURE","","","dbo","sp_xt_pagesplit","False"
|
||||
"dbo","质量管理_测试装配任务_查询","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","质量管理_测试装配任务_查询","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","质量管理_测试装配任务_查询","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","质量管理_测试装配任务_查询","SQL_STORED_PROCEDURE","","","","登录基础数据_人员信息","False"
|
||||
"dbo","质量管理_测试装配任务_查询","SQL_STORED_PROCEDURE","","","dbo","流程表","False"
|
||||
"dbo","质量管理_测试装配任务_查询2","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","质量管理_测试装配任务_查询2","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","质量管理_测试装配任务_查询2","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","质量管理_测试装配任务_查询2","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","质量管理_测试装配任务_完成查询","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","质量管理_测试装配任务_完成查询","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","质量管理_测试装配任务_完成查询","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","质量管理_测试装配任务_质检及时率","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","质量管理_测试装配任务_质检及时率","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","质量管理_测试装配任务_质检及时率","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","质量管理_及时检验报表_查询","SQL_STORED_PROCEDURE","","","dbo","View_生产订单全部(包括已关闭)","False"
|
||||
"dbo","质量管理_及时检验报表_查询","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","质量管理_及时检验报表_查询","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","质量管理_检验标准表_查询","SQL_STORED_PROCEDURE","","","","YL_质量检验_检测标准","False"
|
||||
"dbo","质量管理_检验标准表_删除","SQL_STORED_PROCEDURE","","","","YL_质量检验_检测标准","False"
|
||||
"dbo","质量管理_检验标准表_新增","SQL_STORED_PROCEDURE","","","","YL_质量检验_检测标准","False"
|
||||
"dbo","质量管理_检验标准表_修改","SQL_STORED_PROCEDURE","","","","YL_质量检验_检测标准","False"
|
||||
"dbo","质量管理_来料检验_更新","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","质量管理_来料检验_更新","SQL_STORED_PROCEDURE","","","dbo","质量检验_质检任务_SAP","False"
|
||||
"dbo","质量管理_其他入库检验_更新","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","质量管理_其他入库检验_更新","SQL_STORED_PROCEDURE","","","dbo","质量检验_质检任务_SAP","False"
|
||||
"dbo","质量管理_销售退货检_更新","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","质量管理_销售退货检_更新","SQL_STORED_PROCEDURE","","","dbo","质量检验_质检任务_SAP","False"
|
||||
"dbo","质量管理_序检收检_更新","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","质量管理_序检收检_更新","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","质量管理_序检收检_新增","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","质量管理_序检收检_新增","SQL_STORED_PROCEDURE","","","","YL_质量检验_质检记录","False"
|
||||
"dbo","质量管理_序检收检_新增","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","质量管理_原材料退库检验_更新","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","质量管理_原材料退库检验_更新","SQL_STORED_PROCEDURE","","","dbo","质量检验_质检任务_SAP","False"
|
||||
"dbo","质量管理_质检明细_查询","SQL_STORED_PROCEDURE","","","dbo","sp_xt_pagesplit","False"
|
||||
"dbo","质量任务看板_当天已完成汇总","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","View_质量检验_质检记录","False"
|
||||
"dbo","质量任务看板_当天已完成明细","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","质量任务看板_当天已完成明细","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","View_质量检验_质检记录","False"
|
||||
"dbo","质量任务看板_未完成明细查询","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","质量任务看板_未完成明细查询","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","质量任务看板_未完成明细查询","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","质量任务看板_未完成明细查询","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","质量任务看板_未完成明细查询","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","质量任务看板_未完成明细查询","SQL_STORED_PROCEDURE","","","dbo","质量检验_质检任务_SAP","False"
|
||||
"dbo","质量任务看板_未完成统计","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划_生产任务","False"
|
||||
"dbo","质量任务看板_未完成统计","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","质量任务看板_未完成统计","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","质量任务看板_未完成统计","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","质量任务看板_未完成统计","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","质量任务看板_未完成统计","SQL_STORED_PROCEDURE","","","dbo","质量检验_质检任务_SAP","False"
|
||||
"dbo","质量任务看板_质检及时率查询","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","质量任务看板_质检及时率查询","SQL_STORED_PROCEDURE","","","dbo","YL_质量检验_质检记录","False"
|
||||
"dbo","装配中心任务看板_发货状态查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_ODRF_ODLNMES","False"
|
||||
"dbo","装配中心任务看板_发货状态查询","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","View_生产订单_MES","False"
|
||||
"dbo","装配中心任务看板_发货状态查询","SQL_STORED_PROCEDURE","","","dbo","View_生产工时视图","False"
|
||||
"dbo","装配中心任务看板_发货状态查询","SQL_STORED_PROCEDURE","","","dbo","View_质量检验_质检记录","False"
|
||||
"dbo","装配中心任务看板_发货状态查询","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","装配中心任务看板_发货状态查询","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","装配中心任务看板_可执行任务数","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","装配中心任务看板_已完成任务","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","View_质量检验_质检记录","False"
|
||||
"dbo","装配中心任务看板_异常未关闭总数","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","流程表","False"
|
||||
"dbo","装配中心任务看板_在制品缺件查询","SQL_STORED_PROCEDURE","","","dbo","MES_接口_生产计划","False"
|
||||
"dbo","装配中心任务看板_在制品缺件查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","ubt_OPKL_UrgentMaterials_ALL","False"
|
||||
"dbo","装配中心任务看板_质检发货状态查询","SQL_STORED_PROCEDURE","SAP","SBO_YL","dbo","UBT_ODRF_ODLNMES","False"
|
||||
"dbo","装配中心任务看板_质检发货状态查询","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","View_生产订单_MES","False"
|
||||
"dbo","装配中心任务看板_质检发货状态查询","SQL_STORED_PROCEDURE","","","dbo","View_生产工时视图","False"
|
||||
"dbo","装配中心任务看板_质检发货状态查询","SQL_STORED_PROCEDURE","","","dbo","View_质量检验_质检记录","False"
|
||||
"dbo","装配中心任务看板_质检发货状态查询","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","装配中心任务看板_质检发货状态查询","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_人员信息","False"
|
||||
"dbo","装配中心任务看板_装配合格率","SQL_STORED_PROCEDURE","","YL_MESDB","dbo","View_质量检验_质检记录","False"
|
||||
"dbo","装配中心任务看板_装配在制任务查询","SQL_STORED_PROCEDURE","","","dbo","View_生产订单_MES","False"
|
||||
"dbo","装配中心任务看板_装配在制任务查询","SQL_STORED_PROCEDURE","","","dbo","YL_加工中心_操作记录表","False"
|
||||
"dbo","装配中心任务看板_装配在制任务查询","SQL_STORED_PROCEDURE","","","dbo","登录基础数据_人员信息","False"
|
||||
|
433
work/database_procedure_inventory_20260725.csv
Normal file
@@ -0,0 +1,433 @@
|
||||
"name","ParameterCount","HasWriteKeyword","HasExternalDependency","DefinitionBytes"
|
||||
"___DB_BAK","0","0","0","408"
|
||||
"__Reset_ProductOrder","2","1","0","3072"
|
||||
"_日志_增加","5","1","0","1152"
|
||||
"A_Update_T_Table01","2","1","0","324"
|
||||
"Event_agv_mes_logistics_feedback","2","1","0","5048"
|
||||
"Event_Alarm_End","6","1","0","2650"
|
||||
"Event_Alarm_Start","6","1","0","1948"
|
||||
"Event_CaChe_Var_看板查询","0","0","0","386"
|
||||
"Event_Device_Insert_CurrInfo","11","1","0","4668"
|
||||
"Event_Device_Update_CurrInfo","11","1","0","3478"
|
||||
"Event_GetCurr_DT_PartTypeCode","1","0","0","648"
|
||||
"Event_Log_Request","9","1","0","1374"
|
||||
"Event_Log_Respond","3","1","0","748"
|
||||
"Event_StationStatus_Insert","5","1","0","1066"
|
||||
"Event_StationStatus_Update","5","1","0","1564"
|
||||
"FindUnfinishedStartOperations","0","0","0","1480"
|
||||
"MES_DeviceAdmin_BaseInfo","11","1","0","2880"
|
||||
"MES_DeviceAdmin_DeviceProductState_Update","9","1","0","4118"
|
||||
"MES_DeviceAdmin_ProductState_HistoryQuery","8","0","0","2278"
|
||||
"MES_DeviceAdmin_ProductState_MobyQuery","7","0","0","2104"
|
||||
"MES_DeviceAdmin_RepairRecords_Add","9","1","0","2292"
|
||||
"MES_DeviceAdmin_RepairRecords_Query","6","0","0","1718"
|
||||
"MES_GetDicItemID_ByDicItemName","2","0","0","834"
|
||||
"MES_Kanban_DepartmentOverview","0","1","0","28740"
|
||||
"MES_Kanban_MonthlyRates","0","1","0","20424"
|
||||
"MES_Kanban_PlanScheduleTrend","0","0","0","1758"
|
||||
"MES_Kanban_ProductionInfo","0","0","0","7016"
|
||||
"MES_OrderPlanned_ChildTask_Add","8","1","0","2608"
|
||||
"MES_OrderPlanned_ChildTask_Get","1","0","0","504"
|
||||
"MES_OrderPlanned_DescriptionEdit","7","1","0","1100"
|
||||
"MES_OrderPlanned_EditTaskPlanned","4","1","0","2002"
|
||||
"MES_OrderPlanned_Finish","2","1","0","1972"
|
||||
"MES_OrderPlanned_Query","14","0","0","8492"
|
||||
"MES_OrderPlanned_Queryzp","14","0","0","10326"
|
||||
"MES_OrderPlanned_SingleTaskPlanned","11","1","0","5914"
|
||||
"MES_ProcessManagement_PartGet","1","0","0","710"
|
||||
"MES_ProcessManagement_ProcessAdd","1","1","0","456"
|
||||
"MES_ProcessManagement_ProcessBindGet","1","0","0","892"
|
||||
"MES_ProcessManagement_ProcessDel","1","1","0","238"
|
||||
"MES_ProcessManagement_ProcessEdit","2","1","0","318"
|
||||
"MES_ProcessManagement_ProcessGet","1","0","0","772"
|
||||
"MES_ProductAdmin_GetRptRecords","6","0","0","3630"
|
||||
"MES_ProductAdmin_Query","11","0","0","5442"
|
||||
"MES_ProductAdmin_RptConfirm","4","1","0","1270"
|
||||
"MES_ProductCenter_DoingTask","1","0","0","1086"
|
||||
"MES_ProductCenter_GetOrderTasks","1","0","0","3382"
|
||||
"MES_ProductCenter_GetTask","10","0","0","11394"
|
||||
"MES_ProductCenter_GetTask_zp","11","0","0","11692"
|
||||
"MES_ProductCenter_OptRecord_Save","10","1","0","17944"
|
||||
"MES_ProductCenter_OptRecords","6","0","0","2902"
|
||||
"MES_ProductTask_Excutable","1","1","0","806"
|
||||
"MES_ProductTask_FirstCheck","3","1","0","1312"
|
||||
"MES_ProductTask_HelpEnd","12","1","0","20366"
|
||||
"MES_ProductTask_HelpStart","2","1","0","2270"
|
||||
"MES_ProductTask_MaterialRecieved","3","1","0","2542"
|
||||
"MES_ProductTask_Notice","2","1","0","362"
|
||||
"MES_ProductTask_ProdReport","15","1","0","37040"
|
||||
"MES_ProductTask_Rest","2","1","0","1670"
|
||||
"MES_ProductTask_SendInspection","3","1","0","5720"
|
||||
"MES_ProductTask_WorkingStart","4","1","0","4346"
|
||||
"MES_ProductTask_WorkTimeSum","2","0","0","420"
|
||||
"MES_QualityInspection_CheckRecord_Query","8","0","0","5996"
|
||||
"MES_QualityInspection_GetInspectionDetails","1","0","0","1392"
|
||||
"MES_QualityInspection_GetInspectionParts","1","0","0","1000"
|
||||
"MES_QulityInspection_CheckItemData_Save","30","1","0","12674"
|
||||
"MES_QulityInspection_FinalCheck","15","1","0","1848"
|
||||
"MES_QulityInspection_FirstCheckRecords","7","0","0","3012"
|
||||
"MES_QulityInspection_GetCheckCount","2","0","0","1358"
|
||||
"MES_QulityInspection_GetItemStandard","3","0","0","742"
|
||||
"MES_QulityInspection_GetPart","1","0","0","1410"
|
||||
"MES_QulityInspection_GetTask","15","0","0","6230"
|
||||
"MES_QulityInspection_MeasuringTool","6","0","0","2544"
|
||||
"MES_QulityInspection_NGPart_Add","6","1","0","1464"
|
||||
"MES_QulityInspection_NGPart_Finish","1","1","0","384"
|
||||
"MES_QulityInspection_NGPart_FlowNode_Add","3","1","0","1464"
|
||||
"MES_QulityInspection_NGPart_FlowNode_Update","4","1","0","966"
|
||||
"MES_QulityInspection_ProcessCheck","5","1","0","1686"
|
||||
"MES_QulityInspection_ReceiveCheck","15","1","0","8408"
|
||||
"MES_QulityInspection_RoundCheck","5","1","0","1558"
|
||||
"MES_操作记录_获取任务暂停状态","1","0","0","1896"
|
||||
"MES_操作记录_获取暂停状态","1","0","0","1922"
|
||||
"MES_登录_班次信息","0","0","0","728"
|
||||
"MES_登录_工号密码验证","3","0","0","1404"
|
||||
"MES_登录_工位与名称_查询","0","0","0","856"
|
||||
"MES_接口_生产计划_Insert","17","1","0","5604"
|
||||
"MES_人员工时记录_获取进行中任务","1","0","0","2896"
|
||||
"MES_人员工时记录_获取进行中任务2","1","0","0","2866"
|
||||
"MES_人员工时记录_检查是否存在","2","0","0","1904"
|
||||
"MES_人员工时记录_结束","14","1","0","23946"
|
||||
"MES_人员工时记录_开始","4","1","0","5490"
|
||||
"p_PopFirstWord","2","0","0","2370"
|
||||
"Prog_MES_GetDictionar_ByType","1","0","0","722"
|
||||
"Prog_MES_GetProductOrder_byAID","1","0","0","3018"
|
||||
"Prog_MES_LoadProcess","0","0","0","592"
|
||||
"Prog_MES_LoadStations","0","0","0","1016"
|
||||
"sp_alterdiagram","4","1","0","3130"
|
||||
"sp_creatediagram","4","1","0","2560"
|
||||
"sp_dropdiagram","2","1","0","1872"
|
||||
"sp_helpdiagramdefinition","2","0","0","1920"
|
||||
"sp_helpdiagrams","2","0","0","1376"
|
||||
"sp_renamediagram","3","1","0","3564"
|
||||
"sp_upgraddiagrams","0","1","0","3044"
|
||||
"sp_xt_pagesplit","9","0","0","6278"
|
||||
"sp_xt_pagesplit_group","10","0","0","6390"
|
||||
"sp_xt_pagesplit1","9","0","0","5336"
|
||||
"sp_处理审批","7","1","0","4472"
|
||||
"sp_创建流程","11","1","0","7570"
|
||||
"sp_创建流程_简化版","12","1","0","6722"
|
||||
"sp_获取待处理任务","1","0","0","1278"
|
||||
"sp_获取流程详情","1","0","0","3564"
|
||||
"sp_获取我的流程","2","0","0","864"
|
||||
"sp_获取最近处理任务","1","0","0","1394"
|
||||
"sp_提交流程","2","1","0","1402"
|
||||
"sp_完成流程","6","1","0","3480"
|
||||
"sp_转办流程","8","1","0","3246"
|
||||
"TV_视图看板_查询","0","0","0","870"
|
||||
"TV_视图看板2楼_查询","0","0","0","904"
|
||||
"TV_视图看板仓库_查询","0","0","0","876"
|
||||
"update_MyTask","0","1","0","8574"
|
||||
"usp_BatchValidateWorkTime","6","1","0","16938"
|
||||
"usp_CalculateDailyRatio","5","0","0","1776"
|
||||
"usp_CalculateShiftTime","6","0","0","4338"
|
||||
"usp_CalculateUploadMinutes","4","0","0","11438"
|
||||
"usp_GenerateSAPDocumentLines","2","1","0","3804"
|
||||
"usp_GetAbnormalMinutesByTask","2","0","0","1002"
|
||||
"usp_ValidateWorkTime","8","1","0","8530"
|
||||
"WEB_报警_记录_历史_分页查询","8","0","0","2582"
|
||||
"WEB_登录基础数据_人员信息_重置密码","1","1","0","402"
|
||||
"YL_设备管理_工时记录_增加","3","1","0","2496"
|
||||
"菜单管理_角色模块_二级_增加数据","3","1","0","2458"
|
||||
"菜单管理_角色模块_删除数据","2","1","0","322"
|
||||
"菜单管理_角色模块_一级_增加数据","2","1","0","2146"
|
||||
"菜单模块系统_项目角色模块列表_二级_查询数据","1","0","0","286"
|
||||
"菜单模块系统_用户名密码_查询数据","2","0","0","938"
|
||||
"菜单模块系统_用户名密码_查询数据_安全修复前_20260725","2","0","0","398"
|
||||
"菜单系统模块_项目角色_查询数据_MESWORK","5","0","0","1852"
|
||||
"菜单系统模块_项目角色_删除_MESWORK","1","1","0","1074"
|
||||
"菜单系统模块_项目角色_修改数据_MESWORK","2","1","0","832"
|
||||
"菜单系统模块_项目角色_增加_MESWORK","1","1","0","720"
|
||||
"仓库大屏_出库超期明细","0","0","0","1066"
|
||||
"仓库大屏_汇总查询","0","0","0","7126"
|
||||
"仓库大屏_加急拣配列表","0","0","0","1320"
|
||||
"仓库大屏_加急入库列表","0","0","0","2626"
|
||||
"仓库大屏_拣配任务列表","0","0","0","1234"
|
||||
"仓库大屏_今日应发明细","0","0","0","1302"
|
||||
"仓库大屏_入库超期明细","0","0","0","1282"
|
||||
"查询字典","0","0","0","144"
|
||||
"车间生产管理工艺_零件工序_保存为标准工艺","2","1","0","1834"
|
||||
"车间生产管理工艺_零件工序_编辑_工艺库","9","1","0","1054"
|
||||
"车间生产管理工艺_零件工序_编辑插入行","3","1","0","834"
|
||||
"车间生产管理工艺_零件工序_插入工序_工艺库","2","1","0","990"
|
||||
"车间生产管理工艺_零件工序_查询工序信息_工艺库","1","0","0","1744"
|
||||
"车间生产管理工艺_零件工序_启用","1","1","0","674"
|
||||
"车间生产管理工艺_零件工序_删除工序_工艺库","2","1","0","1778"
|
||||
"车间生产管理工艺_零件工序_上移工序_工艺库","2","1","0","1440"
|
||||
"车间生产管理工艺_零件工序_下移工序_工艺库","2","1","0","1434"
|
||||
"车间生产管理工艺_零件工序_修改数据_工艺库","2","1","0","1284"
|
||||
"登录基础数据_人员信息_登陆检查密码","1","0","0","634"
|
||||
"登录基础数据_人员信息_修改密码","4","1","0","1272"
|
||||
"发货任务堵点_看板查询","1","0","0","12940"
|
||||
"工时统计_任务工时_查询","8","0","0","10000"
|
||||
"工时统计_任务工时_查询_导出","7","0","0","4414"
|
||||
"工时统计_设备工时_查询","7","0","0","10334"
|
||||
"工时统计_设备工时_查询_导出","7","0","0","3838"
|
||||
"工时统计_项目工时_查询","8","0","0","9872"
|
||||
"工时统计_项目工时_查询_导出","7","0","0","4324"
|
||||
"工时统计_作业者工时_查询","8","0","0","13254"
|
||||
"工时统计_作业者工时_查询_导出","7","0","0","5550"
|
||||
"工时校验_保存校验记录","8","1","0","5194"
|
||||
"工时校验_获取操作记录列表","12","0","0","5760"
|
||||
"工时校验_获取操作人当天报工记录","3","0","0","706"
|
||||
"工时校验_获取订单工序","1","0","0","510"
|
||||
"工时校验_获取订单列表","1","0","0","580"
|
||||
"工时校验_获取工序和指派对象","1","0","0","482"
|
||||
"工时校验_获取设备数据","1","0","0","7228"
|
||||
"工时校验_获取新增工时任务信息","1","0","0","354"
|
||||
"工时校验_获取资源","1","0","0","378"
|
||||
"工时校验_获取昨日之前操作记录列表","13","0","0","5526"
|
||||
"工时校验_批量保存校验记录","3","1","0","3170"
|
||||
"工时校验_新增操作记录","12","1","0","3648"
|
||||
"工艺管理_工艺查询","6","0","0","2902"
|
||||
"工艺管理_工艺查询_查询生产工艺","2","0","0","1648"
|
||||
"工艺管理_工艺查询_订单信息查询","1","0","0","622"
|
||||
"工艺管理_工艺查询_更新打印次数","1","1","0","2578"
|
||||
"工艺管理_工艺查询_生产工艺查询","11","0","0","4782"
|
||||
"工艺管理_工艺任务_订单查询","8","0","0","3538"
|
||||
"工艺管理_工艺维护_查看图纸","1","0","0","1058"
|
||||
"工艺管理_工艺维护_工艺图查询","2","0","0","980"
|
||||
"工艺管理_工艺维护_删除图纸","1","1","0","326"
|
||||
"工艺管理_工艺维护_验证名称","1","0","0","340"
|
||||
"工艺管理_获取物料原料信息","1","0","0","688"
|
||||
"工艺管理_零件工序_生产工艺_编辑","10","1","0","1140"
|
||||
"工艺管理_零件工序_生产工艺_编辑插入工序","4","1","0","882"
|
||||
"工艺管理_零件工序_生产工艺_插入工序","3","1","0","1322"
|
||||
"工艺管理_零件工序_生产工艺_批量生成生产工艺","3","1","0","4734"
|
||||
"工艺管理_零件工序_生产工艺_删除工序","3","1","0","1810"
|
||||
"工艺管理_零件工序_生产工艺_上移工序","3","1","0","1514"
|
||||
"工艺管理_零件工序_生产工艺_下移工序","3","1","0","1512"
|
||||
"工艺管理_零件工序_生产工艺_修改数据","4","1","0","1434"
|
||||
"工艺管理_生产工艺_标准工艺拷贝","0","0","0","986"
|
||||
"工艺管理_生产工艺_查询标准工艺","1","0","0","882"
|
||||
"工艺管理_生产工艺_查询生产工艺","2","0","0","1438"
|
||||
"工艺管理_生产工艺_工艺拷贝","5","1","0","3966"
|
||||
"工艺管理_生产工艺_启用","1","1","0","674"
|
||||
"工艺管理_生产工艺_生产工艺拷贝","0","0","0","834"
|
||||
"工艺管理_生产计划物料查询","1","0","0","704"
|
||||
"工艺管理_图纸维护_查看图纸","1","0","0","1030"
|
||||
"工艺管理_图纸维护_查询删除记录","1","0","0","1534"
|
||||
"工艺管理_图纸维护_记录删除日志","4","1","0","1262"
|
||||
"工艺管理_图纸维护_零件图查询","3","0","0","2282"
|
||||
"工艺管理_图纸维护_零件图查询采购","2","0","0","678"
|
||||
"工艺管理_图纸维护_零件图查询全部","2","0","0","588"
|
||||
"工艺管理_图纸维护_删除图纸","3","1","0","1738"
|
||||
"工艺管理_图纸维护_物料查询","1","0","0","328"
|
||||
"工艺管理_图纸维护_物料查询_采购","1","0","0","376"
|
||||
"工艺管理_图纸维护_验证名称","1","0","0","336"
|
||||
"工艺管理_制定标准工艺_拷贝工艺保存","3","1","0","3832"
|
||||
"工艺管理_制定标准工艺_拷贝生产工艺","1","0","0","1128"
|
||||
"机加设备生产运营看板_不良品查询","0","0","0","1580"
|
||||
"机加设备生产运营看板_当天已完成明细","0","0","0","2296"
|
||||
"机加设备生产运营看板_机加在制查询","0","0","0","5954"
|
||||
"机加设备生产运营看板_机加在制查询2","0","1","0","9104"
|
||||
"机加设备生产运营看板_计划执行率","0","0","0","3522"
|
||||
"机加设备生产运营看板_加急任务查询","0","0","0","3764"
|
||||
"机加设备生产运营看板_设备任务查询","0","0","0","2704"
|
||||
"机加设备生产运营看板_设备运行状态查询","0","0","0","2284"
|
||||
"机加设备生产运营看板_外协未及时开工查询","0","1","0","25490"
|
||||
"机加设备生产运营看板_未及时开工查询","0","0","0","9748"
|
||||
"机加已排产_获取任务列表","12","0","0","6368"
|
||||
"计划排产_查询计划信息","16","0","0","15130"
|
||||
"计划排产_二次派工","2","1","0","732"
|
||||
"计划排产_阀类任务查询","13","0","0","1640"
|
||||
"计划排产_阀类任务查询_导出","13","0","1","18672"
|
||||
"计划排产_阀类任务查询_优化前_20260725","13","0","1","14390"
|
||||
"计划排产_阀类装配任务_修改销售要求日期","2","1","0","1084"
|
||||
"计划排产_阀类装配任务_修改预计送检日期","2","1","0","1084"
|
||||
"计划排产_更新齐套数据","2","1","0","310"
|
||||
"计划排产_派工","2","1","0","2326"
|
||||
"计划排产_生产订单_订单查询","14","0","0","5252"
|
||||
"计划排产_生产订单_订单任务","1","1","0","8482"
|
||||
"计划排产_生产订单_订单任务_单条生产工艺任务下发","4","1","0","4920"
|
||||
"计划排产_生产订单_订单任务_生产工艺任务下发","3","1","0","6008"
|
||||
"计划排产_生产订单_工艺查询","0","0","0","1024"
|
||||
"计划排产_生产订单_已排产订单查询","0","0","0","242"
|
||||
"计划排产_生产订单关闭_查询订单","2","1","0","5162"
|
||||
"计划排产_生产订单关闭_查询全部订单","3","1","0","12724"
|
||||
"计划排产_生产订单关闭_关闭订单","1","1","0","6214"
|
||||
"计划排产_生产订单关闭_确认订单","1","1","0","562"
|
||||
"计划排产_外协分组","2","1","0","376"
|
||||
"计划排产_系统类任务查询","13","0","0","1642"
|
||||
"计划排产_系统类任务查询_导出","13","0","1","18916"
|
||||
"计划排产_系统类任务查询_优化前_20260725","13","0","1","14760"
|
||||
"计划排产_系统类装配任务_修改钣金预达时间","2","1","0","1566"
|
||||
"计划排产_系统类装配任务_修改销售要求日期","2","1","0","1086"
|
||||
"计划排产_系统类装配任务_修改预计送检日期","2","1","0","1086"
|
||||
"计划排产_重置派工状态","1","1","0","1144"
|
||||
"计划排产_装配任务查询_核心","14","0","0","24356"
|
||||
"计划排产_装配任务查询_核心_测试跳过SAP前_20260725","14","0","1","24604"
|
||||
"计划排产_装配任务查询_核心_预算前_20260725","14","0","1","21868"
|
||||
"计划排产_装配任务预算_保存","5","1","0","3194"
|
||||
"计划排产_自制件_日程时间修改","5","1","0","2466"
|
||||
"计算人员工时","15","1","0","26428"
|
||||
"加工中心_收检_读取收检记录","1","0","0","1494"
|
||||
"加工中心_修改工时_保存修改记录","6","1","0","702"
|
||||
"加工中心_异常工时_获取操作记录列表","1","0","0","2118"
|
||||
"加急订单_加急明细查询","1","0","0","588"
|
||||
"看板_右上合同看板_表格_查询","0","0","0","568"
|
||||
"看板_右下质量看板_表格_查询","0","0","0","386"
|
||||
"看板_右下质量看板_饼图_查询","0","0","0","282"
|
||||
"看板_中间实时OEE数据展示_查询","0","1","0","922"
|
||||
"看板_中间主体订单_表格_查询","0","0","0","2464"
|
||||
"看板_中间主体订单详情_表格_查询","1","0","0","876"
|
||||
"看板_主页六个关键数据_查询","0","0","0","7832"
|
||||
"看板_左上订单看板_表格_查询","0","0","0","2516"
|
||||
"看板_左上计划执行情况_曲线_查询","0","0","0","1948"
|
||||
"看板_左下未完成看板_表格_查询","0","0","0","1940"
|
||||
"看板_左中装配看板_表格_查询","0","0","0","896"
|
||||
"跨库查询测试","0","0","0","586"
|
||||
"人员管理_角色信息初始化查询_查询","0","0","0","250"
|
||||
"人员管理_人员信息查询","0","0","0","248"
|
||||
"人员管理_人员信息查询_查询","8","0","0","2756"
|
||||
"人员管理_人员信息查询_质检部门_查询","0","0","0","260"
|
||||
"人员管理_人员信息新增_新增","4","1","0","1392"
|
||||
"人员管理_人员信息修改_编辑","6","1","0","1056"
|
||||
"人员管理_人员信息修改_删除","1","1","0","582"
|
||||
"设备管理_设备数据_工位信息_查询","0","1","0","2560"
|
||||
"设备管理_设备数据_历史查询","8","0","0","3326"
|
||||
"设备管理_设备数据_统计数据查询","3","1","0","3966"
|
||||
"设备管理_设备数据_统计数据查询_通过类型","10","0","0","10432"
|
||||
"设备管理_设备数据查询","2","0","0","5214"
|
||||
"设备管理_设备信息_编辑","19","1","0","2034"
|
||||
"设备管理_设备信息_查询","4","0","0","1508"
|
||||
"设备管理_设备信息_删除","1","1","0","1116"
|
||||
"设备管理_设备信息_增加","18","1","0","2528"
|
||||
"设备管理_设备状态_查询","1","0","0","9794"
|
||||
"设计报工_附件_查询","1","0","0","1952"
|
||||
"设计报工_工时报表_任务工时_查询","9","0","0","11428"
|
||||
"设计报工_工时报表_作业者工时_查询","9","0","0","10340"
|
||||
"设计报工_工时校验_保存","6","1","0","4042"
|
||||
"设计报工_工时校验_查询","14","1","0","7068"
|
||||
"设计报工_工时校验_批量保存","3","1","0","4472"
|
||||
"设计报工_记录_查询","8","0","0","3744"
|
||||
"设计报工_领导批示权限_查询","1","0","0","766"
|
||||
"设计报工_人员查询","1","1","0","1396"
|
||||
"设计报工_任务_编辑","21","1","0","4284"
|
||||
"设计报工_任务_查询","15","0","0","15540"
|
||||
"设计报工_任务_结束","4","1","0","5196"
|
||||
"设计报工_任务_开始","3","1","0","6556"
|
||||
"设计报工_任务_删除","1","1","0","3936"
|
||||
"设计报工_任务_完成","2","1","0","4958"
|
||||
"设计报工_任务_新增","20","1","0","3296"
|
||||
"设计报工_任务说明_新增","6","1","0","2864"
|
||||
"设计报工_物料查询","1","0","0","1538"
|
||||
"设计报工_项目查询","1","0","0","1094"
|
||||
"设计报工_研发财务工时_查询","11","0","0","6806"
|
||||
"生产管理_","14","0","0","7960"
|
||||
"生产管理_班次管理_班次绑定人员保存","3","1","0","2846"
|
||||
"生产管理_班次管理_班次绑定人员查询","1","0","0","924"
|
||||
"生产管理_班次管理_班次保存","5","1","0","6502"
|
||||
"生产管理_班次管理_班次列表查询","0","0","0","674"
|
||||
"生产管理_班次管理_班次删除","2","1","0","2236"
|
||||
"生产管理_产品合格率工位_查询","8","1","1","10520"
|
||||
"生产管理_工时查询_工序工时_查询","6","0","0","15972"
|
||||
"生产管理_过程异常管控_发起流程","11","1","0","5092"
|
||||
"生产管理_获取人员绑定","1","0","0","638"
|
||||
"生产管理_及时齐套跟踪结果_查询","16","0","0","29220"
|
||||
"生产管理_加工中心_班次信息","0","0","0","602"
|
||||
"生产管理_加工中心_辅助自动加班","10","1","0","6296"
|
||||
"生产管理_加工中心_获取班次信息","0","0","0","622"
|
||||
"生产管理_加工中心_获取设备人员","2","0","0","758"
|
||||
"生产管理_加工中心_开始时间","1","0","0","810"
|
||||
"生产管理_加工中心_领料物料查询","1","0","0","328"
|
||||
"生产管理_加工中心_设备是否正在加工","1","0","0","714"
|
||||
"生产管理_加工中心_生产发料查询","1","0","0","376"
|
||||
"生产管理_加工中心_退库","8","1","0","1222"
|
||||
"生产管理_加工中心_自动加班","10","1","0","6284"
|
||||
"生产管理_加急件管理_更新完成","1","1","0","378"
|
||||
"生产管理_加急件管理_更新转至","1","1","0","378"
|
||||
"生产管理_加急件管理查询","5","0","0","3534"
|
||||
"生产管理_拣配任务_查询","4","1","0","2490"
|
||||
"生产管理_结算工时_查询","7","1","0","16980"
|
||||
"生产管理_生产计划跟踪","18","0","0","13298"
|
||||
"生产管理_生产任务汇总","11","0","0","5862"
|
||||
"生产管理_手续确认报表_查询","10","0","0","10370"
|
||||
"生产管理_手续确认报表_确认","4","1","0","1654"
|
||||
"生产管理_外协报表_查询","11","0","0","8802"
|
||||
"生产管理_外协报表_导出","5","0","0","7302"
|
||||
"生产管理_外协管理_查询外协","8","1","0","28096"
|
||||
"生产管理_外协管理_查询外协历史记录","1","0","0","782"
|
||||
"生产管理_外协管理_查询外协全部","8","1","0","28100"
|
||||
"生产管理_外协管理_查询质检记录","1","0","0","680"
|
||||
"生产管理_外协管理_更新备注","4","1","0","2748"
|
||||
"生产管理_外协管理_更新打印次数","1","1","0","2582"
|
||||
"生产管理_外协管理_外协发料保存","5","1","0","2616"
|
||||
"生产管理_外协管理_外协发料查询","2","0","0","4374"
|
||||
"生产管理_外协管理_外协历史查询","1","0","0","1062"
|
||||
"生产管理_外协管理_外协收料保存","3","1","0","2650"
|
||||
"生产管理_物料机器人_查询历史数据","3","0","0","940"
|
||||
"生产管理_物料机器人_查询删除记录","1","0","0","578"
|
||||
"生产管理_物料机器人_查询实时数据","2","0","0","620"
|
||||
"生产管理_物料机器人_创建任务","7","1","0","1964"
|
||||
"生产管理_物料机器人_点位查询","2","0","0","638"
|
||||
"生产管理_物料机器人_更新任务状态","8","1","0","1218"
|
||||
"生产管理_物料机器人_删除点位","1","1","0","966"
|
||||
"生产管理_物料机器人_完成任务","2","1","0","1796"
|
||||
"生产管理_物料机器人_物料查询","1","0","0","330"
|
||||
"生产管理_物料机器人_新增点位","7","1","0","1280"
|
||||
"生产管理_物料机器人_修改点位","9","1","0","1522"
|
||||
"生产管理_装配中心_缺料查询","2","0","0","728"
|
||||
"生产管理_装配状态_获取进行中任务","1","0","0","4740"
|
||||
"生产任务综合看板_按期齐套率","0","0","0","1720"
|
||||
"生产任务综合看板_加急任务查询","0","0","0","832"
|
||||
"生产任务综合看板_未按期齐套任务","0","0","0","792"
|
||||
"生产任务综合看板_未及时开工查询","0","0","0","9698"
|
||||
"生产任务综合看板_未及时开工查询_Count","0","0","0","1182"
|
||||
"生产任务综合看板_未排产无工艺查询","0","0","0","1056"
|
||||
"刷新外协报表合并表","0","1","0","6728"
|
||||
"系统管理_报工操作记录_查询","2","0","0","668"
|
||||
"系统管理_工位管理_工位绑定人员保存","2","1","0","3230"
|
||||
"系统管理_工位管理_工位绑定人员查询","1","0","0","942"
|
||||
"系统管理_工位管理_工位信息删除","1","1","0","1102"
|
||||
"系统管理_工位管理_工位信息修改","2","1","0","714"
|
||||
"系统管理_工位管理_工位信息增加","2","1","0","1054"
|
||||
"系统管理_人员管理_所有有效人员查询","0","0","0","656"
|
||||
"销售管理_销售订单状态","17","0","0","13546"
|
||||
"异常工时_新增操作记录","11","1","0","3428"
|
||||
"异常提醒_及时开工_查询","11","1","0","13300"
|
||||
"异常提醒_外协及时开工_查询","6","1","0","26938"
|
||||
"异常提醒_装配及时送检_查询","6","0","0","4218"
|
||||
"质检测试看板_测试装配任务_查询","5","0","0","3382"
|
||||
"质检测试看板_质检发货状态查询","7","0","0","6492"
|
||||
"质量管理_不合格品处置_查询","12","0","0","5666"
|
||||
"质量管理_测试装配任务_查询","5","0","0","8864"
|
||||
"质量管理_测试装配任务_查询2","0","0","0","2748"
|
||||
"质量管理_测试装配任务_完成查询","5","0","0","6116"
|
||||
"质量管理_测试装配任务_质检及时率","5","0","0","5194"
|
||||
"质量管理_及时检验报表_查询","12","0","0","7640"
|
||||
"质量管理_检验标准表_查询","3","0","0","1234"
|
||||
"质量管理_检验标准表_删除","1","1","0","2400"
|
||||
"质量管理_检验标准表_新增","11","1","0","2674"
|
||||
"质量管理_检验标准表_修改","12","1","0","3136"
|
||||
"质量管理_来料检验_更新","15","1","0","2670"
|
||||
"质量管理_其他入库_查询","9","0","0","4528"
|
||||
"质量管理_其他入库检验_更新","14","1","0","5066"
|
||||
"质量管理_销售退货检_更新","13","1","0","4872"
|
||||
"质量管理_序检收检_更新","15","1","0","5844"
|
||||
"质量管理_序检收检_新增","16","1","0","6476"
|
||||
"质量管理_原材料退库_查询","9","0","0","4532"
|
||||
"质量管理_原材料退库检验_更新","15","1","0","5388"
|
||||
"质量管理_质检报工_任务查询","11","0","0","11728"
|
||||
"质量管理_质检明细_查询","12","0","0","4668"
|
||||
"质量管理_质检明细_导出","8","0","0","4960"
|
||||
"质量管理_质量检验_入库质检任务_查询","9","0","0","8638"
|
||||
"质量管理_质量检验_收检记录_查询","13","0","0","8186"
|
||||
"质量管理_质量检验_退货质检任务_查询","8","0","0","4288"
|
||||
"质量管理_质量检验_终检记录_查询","8","0","0","4430"
|
||||
"质量管理_质量检验_终检数据_查询","13","0","0","15864"
|
||||
"质量任务看板_当天已完成汇总","0","0","0","648"
|
||||
"质量任务看板_当天已完成明细","0","0","0","2638"
|
||||
"质量任务看板_未完成明细查询","0","1","0","17168"
|
||||
"质量任务看板_未完成统计","0","1","0","9388"
|
||||
"质量任务看板_质检及时率查询","2","0","0","2798"
|
||||
"装配中心任务看板_发货状态查询","7","0","0","14628"
|
||||
"装配中心任务看板_加急任务总数查询","0","0","0","1276"
|
||||
"装配中心任务看板_可执行任务数","0","0","0","2406"
|
||||
"装配中心任务看板_已完成任务","0","0","0","736"
|
||||
"装配中心任务看板_异常未关闭总数","0","0","0","1014"
|
||||
"装配中心任务看板_在制品缺件查询","0","0","0","536"
|
||||
"装配中心任务看板_质检发货状态查询","7","0","0","6554"
|
||||
"装配中心任务看板_装配合格率","0","0","0","796"
|
||||
"装配中心任务看板_装配任务查询","0","0","0","4468"
|
||||
"装配中心任务看板_装配在制任务查询","0","0","0","2206"
|
||||
|
2016
work/database_procedure_parameters_20260725.csv
Normal file
166
work/database_procedures_unused_by_static_frontend_20260725.csv
Normal file
@@ -0,0 +1,166 @@
|
||||
"name","ParameterCount","HasWriteKeyword","HasExternalDependency","DefinitionBytes"
|
||||
"___DB_BAK","0","0","0","408"
|
||||
"__Reset_ProductOrder","2","1","0","3072"
|
||||
"_日志_增加","5","1","0","1152"
|
||||
"菜单管理_角色模块_二级_增加数据","3","1","0","2458"
|
||||
"菜单管理_角色模块_删除数据","2","1","0","322"
|
||||
"菜单管理_角色模块_一级_增加数据","2","1","0","2146"
|
||||
"菜单模块系统_项目角色模块列表_二级_查询数据","1","0","0","286"
|
||||
"菜单模块系统_用户名密码_查询数据","2","0","0","938"
|
||||
"菜单模块系统_用户名密码_查询数据_安全修复前_20260725","2","0","0","398"
|
||||
"仓库大屏_出库超期明细","0","0","0","1066"
|
||||
"仓库大屏_汇总查询","0","0","0","7126"
|
||||
"仓库大屏_加急拣配列表","0","0","0","1320"
|
||||
"仓库大屏_加急入库列表","0","0","0","2626"
|
||||
"仓库大屏_拣配任务列表","0","0","0","1234"
|
||||
"仓库大屏_今日应发明细","0","0","0","1302"
|
||||
"仓库大屏_入库超期明细","0","0","0","1282"
|
||||
"发货任务堵点_看板查询","1","0","0","12940"
|
||||
"工时统计_任务工时_查询_导出","7","0","0","4414"
|
||||
"工时统计_设备工时_查询_导出","7","0","0","3838"
|
||||
"工时统计_项目工时_查询_导出","7","0","0","4324"
|
||||
"工时统计_作业者工时_查询_导出","7","0","0","5550"
|
||||
"工时校验_获取新增工时任务信息","1","0","0","354"
|
||||
"工艺管理_工艺查询","6","0","0","2902"
|
||||
"工艺管理_工艺查询_订单信息查询","1","0","0","622"
|
||||
"工艺管理_工艺查询_生产工艺查询","11","0","0","4782"
|
||||
"工艺管理_图纸维护_记录删除日志","4","1","0","1262"
|
||||
"机加设备生产运营看板_不良品查询","0","0","0","1580"
|
||||
"机加设备生产运营看板_当天已完成明细","0","0","0","2296"
|
||||
"机加设备生产运营看板_机加在制查询","0","0","0","5954"
|
||||
"机加设备生产运营看板_机加在制查询2","0","1","0","9104"
|
||||
"机加设备生产运营看板_计划执行率","0","0","0","3522"
|
||||
"机加设备生产运营看板_加急任务查询","0","0","0","3764"
|
||||
"机加设备生产运营看板_设备任务查询","0","0","0","2704"
|
||||
"机加设备生产运营看板_设备运行状态查询","0","0","0","2284"
|
||||
"机加设备生产运营看板_外协未及时开工查询","0","1","0","25490"
|
||||
"机加设备生产运营看板_未及时开工查询","0","0","0","9748"
|
||||
"计划排产_阀类任务查询_优化前_20260725","13","0","1","14390"
|
||||
"计划排产_更新齐套数据","2","1","0","310"
|
||||
"计划排产_生产订单_工艺查询","0","0","0","1024"
|
||||
"计划排产_生产订单关闭_查询订单","2","1","0","5162"
|
||||
"计划排产_系统类任务查询_优化前_20260725","13","0","1","14760"
|
||||
"计划排产_装配任务查询_核心","14","0","0","24356"
|
||||
"计划排产_装配任务查询_核心_测试跳过SAP前_20260725","14","0","1","24604"
|
||||
"计划排产_装配任务查询_核心_预算前_20260725","14","0","1","21868"
|
||||
"计算人员工时","15","1","0","26428"
|
||||
"看板_右上合同看板_表格_查询","0","0","0","568"
|
||||
"看板_右下质量看板_表格_查询","0","0","0","386"
|
||||
"看板_右下质量看板_饼图_查询","0","0","0","282"
|
||||
"看板_中间实时OEE数据展示_查询","0","1","0","922"
|
||||
"看板_中间主体订单_表格_查询","0","0","0","2464"
|
||||
"看板_中间主体订单详情_表格_查询","1","0","0","876"
|
||||
"看板_主页六个关键数据_查询","0","0","0","7832"
|
||||
"看板_左上订单看板_表格_查询","0","0","0","2516"
|
||||
"看板_左上计划执行情况_曲线_查询","0","0","0","1948"
|
||||
"看板_左下未完成看板_表格_查询","0","0","0","1940"
|
||||
"看板_左中装配看板_表格_查询","0","0","0","896"
|
||||
"跨库查询测试","0","0","0","586"
|
||||
"设计报工_工时报表_任务工时_查询","9","0","0","11428"
|
||||
"设计报工_工时报表_作业者工时_查询","9","0","0","10340"
|
||||
"设计报工_记录_查询","8","0","0","3744"
|
||||
"设计报工_任务_编辑","21","1","0","4284"
|
||||
"设计报工_任务_结束","4","1","0","5196"
|
||||
"设计报工_任务_开始","3","1","0","6556"
|
||||
"设计报工_任务_完成","2","1","0","4958"
|
||||
"设计报工_任务_新增","20","1","0","3296"
|
||||
"生产管理_","14","0","0","7960"
|
||||
"生产管理_过程异常管控_发起流程","11","1","0","5092"
|
||||
"生产管理_加工中心_辅助自动加班","10","1","0","6296"
|
||||
"生产管理_物料机器人_查询删除记录","1","0","0","578"
|
||||
"生产任务综合看板_按期齐套率","0","0","0","1720"
|
||||
"生产任务综合看板_加急任务查询","0","0","0","832"
|
||||
"生产任务综合看板_未按期齐套任务","0","0","0","792"
|
||||
"生产任务综合看板_未及时开工查询","0","0","0","9698"
|
||||
"生产任务综合看板_未及时开工查询_Count","0","0","0","1182"
|
||||
"生产任务综合看板_未排产无工艺查询","0","0","0","1056"
|
||||
"刷新外协报表合并表","0","1","0","6728"
|
||||
"质检测试看板_测试装配任务_查询","5","0","0","3382"
|
||||
"质检测试看板_质检发货状态查询","7","0","0","6492"
|
||||
"质量管理_测试装配任务_查询2","0","0","0","2748"
|
||||
"质量管理_测试装配任务_完成查询","5","0","0","6116"
|
||||
"质量管理_测试装配任务_质检及时率","5","0","0","5194"
|
||||
"质量管理_序检收检_更新","15","1","0","5844"
|
||||
"质量任务看板_当天已完成汇总","0","0","0","648"
|
||||
"质量任务看板_当天已完成明细","0","0","0","2638"
|
||||
"质量任务看板_未完成明细查询","0","1","0","17168"
|
||||
"质量任务看板_未完成统计","0","1","0","9388"
|
||||
"质量任务看板_质检及时率查询","2","0","0","2798"
|
||||
"装配中心任务看板_加急任务总数查询","0","0","0","1276"
|
||||
"装配中心任务看板_可执行任务数","0","0","0","2406"
|
||||
"装配中心任务看板_已完成任务","0","0","0","736"
|
||||
"装配中心任务看板_异常未关闭总数","0","0","0","1014"
|
||||
"装配中心任务看板_在制品缺件查询","0","0","0","536"
|
||||
"装配中心任务看板_质检发货状态查询","7","0","0","6554"
|
||||
"装配中心任务看板_装配合格率","0","0","0","796"
|
||||
"装配中心任务看板_装配任务查询","0","0","0","4468"
|
||||
"装配中心任务看板_装配在制任务查询","0","0","0","2206"
|
||||
"A_Update_T_Table01","2","1","0","324"
|
||||
"Event_agv_mes_logistics_feedback","2","1","0","5048"
|
||||
"Event_Alarm_End","6","1","0","2650"
|
||||
"Event_Alarm_Start","6","1","0","1948"
|
||||
"Event_CaChe_Var_看板查询","0","0","0","386"
|
||||
"Event_Device_Insert_CurrInfo","11","1","0","4668"
|
||||
"Event_Device_Update_CurrInfo","11","1","0","3478"
|
||||
"Event_GetCurr_DT_PartTypeCode","1","0","0","648"
|
||||
"Event_Log_Request","9","1","0","1374"
|
||||
"Event_Log_Respond","3","1","0","748"
|
||||
"Event_StationStatus_Insert","5","1","0","1066"
|
||||
"Event_StationStatus_Update","5","1","0","1564"
|
||||
"FindUnfinishedStartOperations","0","0","0","1480"
|
||||
"MES_登录_班次信息","0","0","0","728"
|
||||
"MES_登录_工号密码验证","3","0","0","1404"
|
||||
"MES_接口_生产计划_Insert","17","1","0","5604"
|
||||
"MES_人员工时记录_检查是否存在","2","0","0","1904"
|
||||
"MES_DeviceAdmin_BaseInfo","11","1","0","2880"
|
||||
"MES_DeviceAdmin_DeviceProductState_Update","9","1","0","4118"
|
||||
"MES_DeviceAdmin_ProductState_HistoryQuery","8","0","0","2278"
|
||||
"MES_DeviceAdmin_ProductState_MobyQuery","7","0","0","2104"
|
||||
"MES_DeviceAdmin_RepairRecords_Add","9","1","0","2292"
|
||||
"MES_DeviceAdmin_RepairRecords_Query","6","0","0","1718"
|
||||
"MES_GetDicItemID_ByDicItemName","2","0","0","834"
|
||||
"MES_Kanban_DepartmentOverview","0","1","0","28740"
|
||||
"MES_Kanban_MonthlyRates","0","1","0","20424"
|
||||
"MES_Kanban_PlanScheduleTrend","0","0","0","1758"
|
||||
"MES_Kanban_ProductionInfo","0","0","0","7016"
|
||||
"MES_ProductAdmin_GetRptRecords","6","0","0","3630"
|
||||
"MES_ProductAdmin_RptConfirm","4","1","0","1270"
|
||||
"MES_ProductCenter_OptRecord_Save","10","1","0","17944"
|
||||
"MES_ProductCenter_OptRecords","6","0","0","2902"
|
||||
"MES_ProductTask_Excutable","1","1","0","806"
|
||||
"MES_ProductTask_FirstCheck","3","1","0","1312"
|
||||
"MES_QulityInspection_GetCheckCount","2","0","0","1358"
|
||||
"MES_QulityInspection_GetPart","1","0","0","1410"
|
||||
"MES_QulityInspection_GetTask","15","0","0","6230"
|
||||
"MES_QulityInspection_MeasuringTool","6","0","0","2544"
|
||||
"MES_QulityInspection_NGPart_Add","6","1","0","1464"
|
||||
"MES_QulityInspection_NGPart_Finish","1","1","0","384"
|
||||
"MES_QulityInspection_NGPart_FlowNode_Add","3","1","0","1464"
|
||||
"MES_QulityInspection_NGPart_FlowNode_Update","4","1","0","966"
|
||||
"MES_QulityInspection_ProcessCheck","5","1","0","1686"
|
||||
"MES_QulityInspection_RoundCheck","5","1","0","1558"
|
||||
"p_PopFirstWord","2","0","0","2370"
|
||||
"Prog_MES_GetDictionar_ByType","1","0","0","722"
|
||||
"sp_创建流程","11","1","0","7570"
|
||||
"sp_提交流程","2","1","0","1402"
|
||||
"sp_alterdiagram","4","1","0","3130"
|
||||
"sp_creatediagram","4","1","0","2560"
|
||||
"sp_dropdiagram","2","1","0","1872"
|
||||
"sp_helpdiagramdefinition","2","0","0","1920"
|
||||
"sp_helpdiagrams","2","0","0","1376"
|
||||
"sp_renamediagram","3","1","0","3564"
|
||||
"sp_upgraddiagrams","0","1","0","3044"
|
||||
"sp_xt_pagesplit","9","0","0","6278"
|
||||
"sp_xt_pagesplit_group","10","0","0","6390"
|
||||
"sp_xt_pagesplit1","9","0","0","5336"
|
||||
"TV_视图看板_查询","0","0","0","870"
|
||||
"TV_视图看板2楼_查询","0","0","0","904"
|
||||
"TV_视图看板仓库_查询","0","0","0","876"
|
||||
"update_MyTask","0","1","0","8574"
|
||||
"usp_CalculateDailyRatio","5","0","0","1776"
|
||||
"usp_CalculateShiftTime","6","0","0","4338"
|
||||
"usp_CalculateUploadMinutes","4","0","0","11438"
|
||||
"usp_GenerateSAPDocumentLines","2","1","0","3804"
|
||||
"usp_GetAbnormalMinutesByTask","2","0","0","1002"
|
||||
"WEB_报警_记录_历史_分页查询","8","0","0","2582"
|
||||
"YL_设备管理_工时记录_增加","3","1","0","2496"
|
||||
|
835
work/database_table_columns_20260725.csv
Normal file
@@ -0,0 +1,835 @@
|
||||
"SchemaName","TableName","column_id","ColumnName","TypeName","max_length","is_nullable","is_identity"
|
||||
"dbo","_日志","1","ID","int","4","False","True"
|
||||
"dbo","_日志","2","UserID","nvarchar","100","True","False"
|
||||
"dbo","_日志","3","主模块编号","nvarchar","100","True","False"
|
||||
"dbo","_日志","4","子组件","nvarchar","100","True","False"
|
||||
"dbo","_日志","5","标题","nvarchar","100","True","False"
|
||||
"dbo","_日志","6","TypeID","nvarchar","100","True","False"
|
||||
"dbo","_日志","7","名称","nvarchar","400","True","False"
|
||||
"dbo","_日志","8","参数","nvarchar","-1","True","False"
|
||||
"dbo","_日志","9","日期","date","3","True","False"
|
||||
"dbo","_日志","10","操作日期","datetime","8","True","False"
|
||||
"dbo","AA","1","AID","bigint","8","False","True"
|
||||
"dbo","AA","2","CreateTime","datetime","8","True","False"
|
||||
"dbo","AA","3","Val","nvarchar","100","True","False"
|
||||
"dbo","AGV_点位","1","ID","int","4","False","True"
|
||||
"dbo","AGV_点位","2","PointCode","nvarchar","100","False","False"
|
||||
"dbo","AGV_点位","3","PointName","nvarchar","200","False","False"
|
||||
"dbo","AGV_点位","4","PointType","nvarchar","40","True","False"
|
||||
"dbo","AGV_点位","5","Area","nvarchar","100","True","False"
|
||||
"dbo","AGV_点位","6","XCoordinate","decimal","9","True","False"
|
||||
"dbo","AGV_点位","7","YCoordinate","decimal","9","True","False"
|
||||
"dbo","AGV_点位","8","Description","nvarchar","400","True","False"
|
||||
"dbo","AGV_点位","9","Status","nvarchar","20","True","False"
|
||||
"dbo","AGV_点位","10","CreateTime","datetime","8","True","False"
|
||||
"dbo","AGV_点位","11","UpdateTime","datetime","8","True","False"
|
||||
"dbo","AGV_历史数据","1","ID","int","4","False","True"
|
||||
"dbo","AGV_历史数据","2","TaskNo","nvarchar","100","False","False"
|
||||
"dbo","AGV_历史数据","3","AGVCode","nvarchar","100","True","False"
|
||||
"dbo","AGV_历史数据","4","MaterialCode","nvarchar","200","True","False"
|
||||
"dbo","AGV_历史数据","5","MaterialName","nvarchar","400","True","False"
|
||||
"dbo","AGV_历史数据","6","StartPoint","nvarchar","100","True","False"
|
||||
"dbo","AGV_历史数据","7","EndPoint","nvarchar","100","True","False"
|
||||
"dbo","AGV_历史数据","8","TaskStatus","nvarchar","40","True","False"
|
||||
"dbo","AGV_历史数据","9","StartTime","datetime","8","True","False"
|
||||
"dbo","AGV_历史数据","10","EndTime","datetime","8","True","False"
|
||||
"dbo","AGV_历史数据","11","Duration","int","4","True","False"
|
||||
"dbo","AGV_历史数据","12","Operator","nvarchar","100","True","False"
|
||||
"dbo","AGV_历史数据","13","CreateTime","datetime","8","True","False"
|
||||
"dbo","AGV_实时数据","1","ID","int","4","False","True"
|
||||
"dbo","AGV_实时数据","2","TaskNo","nvarchar","100","False","False"
|
||||
"dbo","AGV_实时数据","3","AGVCode","nvarchar","100","True","False"
|
||||
"dbo","AGV_实时数据","4","MaterialCode","nvarchar","200","True","False"
|
||||
"dbo","AGV_实时数据","5","MaterialNames","nvarchar","1000","True","False"
|
||||
"dbo","AGV_实时数据","6","CurrentPoint","nvarchar","100","True","False"
|
||||
"dbo","AGV_实时数据","7","TargetPoint","nvarchar","100","True","False"
|
||||
"dbo","AGV_实时数据","8","Speed","decimal","5","True","False"
|
||||
"dbo","AGV_实时数据","9","Battery","int","4","True","False"
|
||||
"dbo","AGV_实时数据","10","XCoordinate","decimal","9","True","False"
|
||||
"dbo","AGV_实时数据","11","YCoordinate","decimal","9","True","False"
|
||||
"dbo","AGV_实时数据","12","Direction","nvarchar","20","True","False"
|
||||
"dbo","AGV_实时数据","13","TaskStatus","nvarchar","40","True","False"
|
||||
"dbo","AGV_实时数据","14","Progress","int","4","True","False"
|
||||
"dbo","AGV_实时数据","15","EstimatedTime","int","4","True","False"
|
||||
"dbo","AGV_实时数据","16","Operator","nvarchar","100","True","False"
|
||||
"dbo","AGV_实时数据","17","CreateTime","datetime","8","True","False"
|
||||
"dbo","AGV_实时数据","18","UpdateTime","datetime","8","True","False"
|
||||
"dbo","Attachments","1","AttachmentID","int","4","False","True"
|
||||
"dbo","Attachments","2","ProcessID","int","4","False","False"
|
||||
"dbo","Attachments","3","FileName","nvarchar","400","False","False"
|
||||
"dbo","Attachments","4","FilePath","nvarchar","1000","False","False"
|
||||
"dbo","Attachments","5","FileSize","bigint","8","True","False"
|
||||
"dbo","Attachments","6","FileType","nvarchar","100","True","False"
|
||||
"dbo","Attachments","7","UploaderID","nvarchar","200","False","False"
|
||||
"dbo","Attachments","8","UploaderName","nvarchar","200","False","False"
|
||||
"dbo","Attachments","9","UploadTime","datetime","8","True","False"
|
||||
"dbo","Attachments","10","Description","nvarchar","1000","True","False"
|
||||
"dbo","Attachments","11","IsDeleted","bit","1","True","False"
|
||||
"dbo","BOM数据","1","编码","nvarchar","-1","True","False"
|
||||
"dbo","BOM数据","2","名称","nvarchar","-1","True","False"
|
||||
"dbo","BOM数据","3","ItmsGrpNam","nvarchar","100","True","False"
|
||||
"dbo","BOM数据","4","数量","tinyint","1","True","False"
|
||||
"dbo","BOM数据","5","入库仓库","nvarchar","100","True","False"
|
||||
"dbo","BOM数据","6","子件编码","nvarchar","-1","True","False"
|
||||
"dbo","BOM数据","7","子件名称","nvarchar","-1","True","False"
|
||||
"dbo","BOM数据","8","子件数量","float","8","True","False"
|
||||
"dbo","BOM数据","9","单位","nvarchar","100","True","False"
|
||||
"dbo","BOM数据","10","子件出库仓库","nvarchar","100","True","False"
|
||||
"dbo","CaChe_Var","1","AID","int","4","False","True"
|
||||
"dbo","CaChe_Var","2","OnLine","int","4","True","False"
|
||||
"dbo","CaChe_Var","3","CreateTime","datetime","8","True","False"
|
||||
"dbo","CaChe_Var","4","UpdateTime","datetime","8","True","False"
|
||||
"dbo","CaChe_Var","5","Zone","nvarchar","100","True","False"
|
||||
"dbo","CaChe_Var","6","Sort","int","4","True","False"
|
||||
"dbo","CaChe_Var","7","TagID","nvarchar","100","True","False"
|
||||
"dbo","CaChe_Var","8","TagName","nvarchar","400","True","False"
|
||||
"dbo","CaChe_Var","9","TagValue","nvarchar","400","True","False"
|
||||
"dbo","CaChe_Var","10","TagUnit","nvarchar","100","True","False"
|
||||
"dbo","CaChe_Var","11","TagValueOriginal","nvarchar","400","True","False"
|
||||
"dbo","CaChe_Var","12","TagTypeCodeID","int","4","True","False"
|
||||
"dbo","MES_接口_工艺路线主数据","1","AID","int","4","False","True"
|
||||
"dbo","MES_接口_工艺路线主数据","2","编号","int","4","True","False"
|
||||
"dbo","MES_接口_工艺路线主数据","3","代码","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_工艺路线主数据","4","描述","nvarchar","1000","True","False"
|
||||
"dbo","MES_接口_工艺路线主数据","5","装配类型","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_工艺路线主数据","6","创建日期","datetime","8","True","False"
|
||||
"dbo","MES_接口_工艺路线主数据","7","生成时间","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_工艺路线主数据","8","更新日期","datetime","8","True","False"
|
||||
"dbo","MES_接口_工艺路线主数据","9","同步时间","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划","1","AID","int","4","False","True"
|
||||
"dbo","MES_接口_生产计划","2","订单编号","int","4","False","False"
|
||||
"dbo","MES_接口_生产计划","3","合同号","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划","4","订单类型","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划","5","订单状态","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划","6","物料编号","nvarchar","1000","True","False"
|
||||
"dbo","MES_接口_生产计划","7","物料描述","nvarchar","1000","True","False"
|
||||
"dbo","MES_接口_生产计划","8","计划数量","decimal","9","True","False"
|
||||
"dbo","MES_接口_生产计划","9","计量单位","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划","10","下达日期","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划","11","计划开始","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划","12","计划完成","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划","13","项目代码","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划","14","备注","nvarchar","1000","True","False"
|
||||
"dbo","MES_接口_生产计划","15","重量","decimal","9","True","False"
|
||||
"dbo","MES_接口_生产计划","16","占用情况","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划","17","加急状态","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划","18","排产状态","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划","19","排产时间","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划","20","同步时间","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划","21","任务状态","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划","22","标准工艺","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划","23","生产工艺","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划","24","齐套","float","8","True","False"
|
||||
"dbo","MES_接口_生产计划","25","自制件属性","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划","26","周转单打印次数","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划","27","单据状态","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划","28","预计齐套时间","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划","29","发料状态","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划","30","拣配状态","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划","31","计划号","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划","32","加急数量","decimal","9","True","False"
|
||||
"dbo","MES_接口_生产计划","33","发货状态","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划","34","要求发货日期","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划","35","加急总数","decimal","9","True","False"
|
||||
"dbo","MES_接口_生产计划","36","入库数量","decimal","9","True","False"
|
||||
"dbo","MES_接口_生产计划","37","确认状态","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划","38","齐套时间","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划","39","派工时间","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划","40","钣金预达时间","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划","41","预计送检日期","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划","42","销售要求日期","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","1","AID","bigint","8","False","True"
|
||||
"dbo","MES_接口_生产计划_生产任务","2","订单编号","int","4","False","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","3","订单行号","int","4","False","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","4","订单拆分内码","int","4","False","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","5","任务概述","nvarchar","1000","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","6","物料编码","nvarchar","1000","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","7","物料名称","nvarchar","1000","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","8","基本数量","decimal","9","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","9","计划数量","decimal","9","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","10","已发货数量","decimal","9","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","11","订单发货类型","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","12","仓库代码","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","13","可视订单","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","14","物料类型","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","15","阶段标识","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","16","工序名称","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","17","顺序编号","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","18","性质","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","19","总工时","decimal","9","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","20","行文本备注","nvarchar","1000","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","21","不装配","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","22","指派对象编号","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","23","指派对象","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","24","指派数量","decimal","9","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","25","计划开始时间","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","26","计划完成时间","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","27","最晚开始时间","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","28","派工状态","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","29","派工时间","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","30","派工操作人","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","31","任务状态","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","32","开工时间","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","33","完工时间","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","34","修改时间","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","35","外协通知","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","36","优先级","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","37","未完成说明","nvarchar","1000","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","38","派工特殊说明","nvarchar","1000","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","39","最后编辑人","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","40","最后编辑时间","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","41","完成数量","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","42","合格数量","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","43","不合格数量","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","44","让步放行数量","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","45","报废数量","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","46","可执行","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","47","收料","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","48","收料数量","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","49","开工","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","50","首检","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","51","巡检","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","52","进度","decimal","9","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","53","序检","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","54","测试","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","55","入库","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","56","加工状态","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","57","操作时间","datetime","8","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","58","排产状态","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","59","二次派工","nvarchar","1000","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","60","外协打印次数","int","4","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","61","外协备注","nvarchar","1000","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","62","单重","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","63","外协分组","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","64","打印数量","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","65","本次检数","nvarchar","100","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","66","结算单件工时","decimal","9","True","False"
|
||||
"dbo","MES_接口_生产计划_生产任务","67","创建时间","datetime","8","True","False"
|
||||
"dbo","MES_设计报工_附件","1","id","int","4","False","True"
|
||||
"dbo","MES_设计报工_附件","2","num","nvarchar","400","False","False"
|
||||
"dbo","MES_设计报工_附件","3","uid","nvarchar","400","True","False"
|
||||
"dbo","MES_设计报工_附件","4","name","nvarchar","1000","True","False"
|
||||
"dbo","MES_设计报工_附件","5","suffix","nvarchar","200","True","False"
|
||||
"dbo","MES_设计报工_附件","6","是否启用","int","4","True","False"
|
||||
"dbo","MES_设计报工_附件","7","worker","nvarchar","400","True","False"
|
||||
"dbo","MES_设计报工_附件","8","uploadTime","nvarchar","400","True","False"
|
||||
"dbo","MES_设计报工_记录","1","RID","int","4","False","True"
|
||||
"dbo","MES_设计报工_记录","2","DID","int","4","False","False"
|
||||
"dbo","MES_设计报工_记录","3","操作人ID","nvarchar","200","True","False"
|
||||
"dbo","MES_设计报工_记录","4","操作人","nvarchar","200","True","False"
|
||||
"dbo","MES_设计报工_记录","5","开始时间","datetime","8","True","False"
|
||||
"dbo","MES_设计报工_记录","6","结束时间","datetime","8","True","False"
|
||||
"dbo","MES_设计报工_记录","7","工时秒数","int","4","True","False"
|
||||
"dbo","MES_设计报工_记录","8","报工状态","nvarchar","100","False","False"
|
||||
"dbo","MES_设计报工_记录","9","已校验","bit","1","False","False"
|
||||
"dbo","MES_设计报工_记录","10","校验人ID","nvarchar","200","True","False"
|
||||
"dbo","MES_设计报工_记录","11","校验人","nvarchar","200","True","False"
|
||||
"dbo","MES_设计报工_记录","12","校验时间","datetime","8","True","False"
|
||||
"dbo","MES_设计报工_记录","13","创建时间","datetime","8","False","False"
|
||||
"dbo","MES_设计报工_记录","14","备注","nvarchar","1000","True","False"
|
||||
"dbo","MES_设计报工_记录","15","进度说明","nvarchar","1000","True","False"
|
||||
"dbo","MES_设计报工_任务","1","DID","int","4","False","True"
|
||||
"dbo","MES_设计报工_任务","2","项目号","nvarchar","200","True","False"
|
||||
"dbo","MES_设计报工_任务","3","物料编码","nvarchar","200","True","False"
|
||||
"dbo","MES_设计报工_任务","4","物料名称","nvarchar","400","True","False"
|
||||
"dbo","MES_设计报工_任务","5","图号","nvarchar","200","True","False"
|
||||
"dbo","MES_设计报工_任务","6","任务描述","nvarchar","1000","True","False"
|
||||
"dbo","MES_设计报工_任务","7","关联父件物料编码","nvarchar","200","True","False"
|
||||
"dbo","MES_设计报工_任务","8","关联父件物料名称","nvarchar","400","True","False"
|
||||
"dbo","MES_设计报工_任务","9","设计要求","nvarchar","-1","True","False"
|
||||
"dbo","MES_设计报工_任务","10","研发立项号","nvarchar","200","True","False"
|
||||
"dbo","MES_设计报工_任务","11","研发目的","nvarchar","1000","True","False"
|
||||
"dbo","MES_设计报工_任务","12","指派对象ID","nvarchar","2000","True","False"
|
||||
"dbo","MES_设计报工_任务","13","指派对象","nvarchar","2000","True","False"
|
||||
"dbo","MES_设计报工_任务","14","预计开始时间","datetime","8","True","False"
|
||||
"dbo","MES_设计报工_任务","15","预计结束时间","datetime","8","True","False"
|
||||
"dbo","MES_设计报工_任务","16","单据状态","nvarchar","100","False","False"
|
||||
"dbo","MES_设计报工_任务","17","创建日期","datetime","8","False","False"
|
||||
"dbo","MES_设计报工_任务","18","创建人","nvarchar","200","True","False"
|
||||
"dbo","MES_设计报工_任务","19","最后编辑人","nvarchar","200","True","False"
|
||||
"dbo","MES_设计报工_任务","20","最后编辑时间","datetime","8","True","False"
|
||||
"dbo","MES_设计报工_任务","21","备注","nvarchar","8000","True","False"
|
||||
"dbo","MES_设计报工_任务","22","类别","nvarchar","200","True","False"
|
||||
"dbo","MES_设计报工_任务","23","对齐可见ID","nvarchar","2000","True","False"
|
||||
"dbo","MES_设计报工_任务","24","对齐可见","nvarchar","2000","True","False"
|
||||
"dbo","MES_设计报工_任务","25","任务来源","nvarchar","400","True","False"
|
||||
"dbo","MES_设计报工_任务说明","1","SID","int","4","False","True"
|
||||
"dbo","MES_设计报工_任务说明","2","DID","int","4","False","False"
|
||||
"dbo","MES_设计报工_任务说明","3","说明类型","nvarchar","40","False","False"
|
||||
"dbo","MES_设计报工_任务说明","4","说明内容","nvarchar","4000","False","False"
|
||||
"dbo","MES_设计报工_任务说明","5","操作人ID","nvarchar","200","True","False"
|
||||
"dbo","MES_设计报工_任务说明","6","操作人","nvarchar","200","True","False"
|
||||
"dbo","MES_设计报工_任务说明","7","录入时间","datetime","8","False","False"
|
||||
"dbo","MES_设计报工_校验记录","1","VID","int","4","False","True"
|
||||
"dbo","MES_设计报工_校验记录","2","RID","int","4","False","False"
|
||||
"dbo","MES_设计报工_校验记录","3","DID","int","4","False","False"
|
||||
"dbo","MES_设计报工_校验记录","4","校验前开始时间","datetime","8","True","False"
|
||||
"dbo","MES_设计报工_校验记录","5","校验前结束时间","datetime","8","True","False"
|
||||
"dbo","MES_设计报工_校验记录","6","校验后开始时间","datetime","8","True","False"
|
||||
"dbo","MES_设计报工_校验记录","7","校验后结束时间","datetime","8","True","False"
|
||||
"dbo","MES_设计报工_校验记录","8","校验后工时秒数","int","4","True","False"
|
||||
"dbo","MES_设计报工_校验记录","9","校验人ID","nvarchar","200","True","False"
|
||||
"dbo","MES_设计报工_校验记录","10","校验人","nvarchar","200","True","False"
|
||||
"dbo","MES_设计报工_校验记录","11","校验时间","datetime","8","False","False"
|
||||
"dbo","MES_设计报工_校验记录","12","校验备注","nvarchar","1000","True","False"
|
||||
"dbo","MES_资源主数据","1","VisCode","nvarchar","100","False","False"
|
||||
"dbo","MES_资源主数据","2","Name","nvarchar","400","True","False"
|
||||
"dbo","MES_资源主数据","3","ForeignName","nvarchar","400","False","False"
|
||||
"dbo","MES_资源主数据","4","Type","nvarchar","100","False","False"
|
||||
"dbo","MES_资源主数据","5","ResourceGroup","int","4","False","False"
|
||||
"dbo","MES_资源主数据","6","UnitOfMeasure","nvarchar","200","False","False"
|
||||
"dbo","MES_资源主数据","7","IssueMethod","nvarchar","100","False","False"
|
||||
"dbo","MES_资源主数据","8","Active","nvarchar","100","False","False"
|
||||
"dbo","MES_资源主数据","9","Remarks","text","16","True","False"
|
||||
"dbo","MES_资源主数据","10","Allocation","nvarchar","100","False","False"
|
||||
"dbo","MES_资源主数据","11","SyncTime","datetime","8","True","False"
|
||||
"dbo","sysdiagrams","1","name","sysname","256","False","False"
|
||||
"dbo","sysdiagrams","2","principal_id","int","4","False","False"
|
||||
"dbo","sysdiagrams","3","diagram_id","int","4","False","True"
|
||||
"dbo","sysdiagrams","4","version","int","4","True","False"
|
||||
"dbo","sysdiagrams","5","definition","varbinary","-1","True","False"
|
||||
"dbo","YL_基础表_数据字典","1","AID","int","4","False","True"
|
||||
"dbo","YL_基础表_数据字典","2","词条编号","int","4","True","False"
|
||||
"dbo","YL_基础表_数据字典","3","词条名称","nvarchar","100","True","False"
|
||||
"dbo","YL_基础表_数据字典","4","数据类别","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_报工记录","1","AID","int","4","False","True"
|
||||
"dbo","YL_加工中心_报工记录","2","报工日期","date","3","True","False"
|
||||
"dbo","YL_加工中心_报工记录","3","班次","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_报工记录","4","工位编号","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_报工记录","5","工位名称","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_报工记录","6","操作人","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_报工记录","7","工时类型","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_报工记录","8","报工数量","int","4","True","False"
|
||||
"dbo","YL_加工中心_报工记录","9","工时","int","4","True","False"
|
||||
"dbo","YL_加工中心_报工记录","10","确认工时","int","4","True","False"
|
||||
"dbo","YL_加工中心_报工记录","11","报工说明","nvarchar","4000","True","False"
|
||||
"dbo","YL_加工中心_报工记录","12","合同号","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_报工记录","13","订单编号","int","4","True","False"
|
||||
"dbo","YL_加工中心_报工记录","14","TaskAID","bigint","8","True","False"
|
||||
"dbo","YL_加工中心_报工记录","15","TaskAID_Binding","nvarchar","1000","True","False"
|
||||
"dbo","YL_加工中心_报工记录","16","报工时间","datetime","8","True","False"
|
||||
"dbo","YL_加工中心_报工记录","17","已确认","int","4","True","False"
|
||||
"dbo","YL_加工中心_报工记录","18","确认人","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_报工记录","19","确认时间","datetime","8","True","False"
|
||||
"dbo","YL_加工中心_报工记录","20","已上报","int","4","True","False"
|
||||
"dbo","YL_加工中心_报工记录","21","上报时间","datetime","8","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","1","AID","int","4","False","True"
|
||||
"dbo","YL_加工中心_操作记录表","2","操作类别编号","int","4","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","3","操作类别","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","4","阶段标识","int","4","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","5","工序名称","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","6","工位编号","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","7","工位名称","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","8","操作人","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","9","合同号","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","10","订单编号","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","11","物料编号","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","12","物料描述","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","13","操作数值","int","4","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","14","操作内容","nvarchar","1000","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","15","操作描述","nvarchar","4000","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","16","TaskAID","bigint","8","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","17","开始时间","datetime","8","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","18","结束时间","datetime","8","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","19","工时","int","4","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","20","报工日期","date","3","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","21","已报工","int","4","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","22","不装配","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","23","最后编辑人","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","24","最后编辑时间","datetime","8","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","25","关联开始记录ID","int","4","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","26","关联暂停记录ID","int","4","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","27","关联操作类型","nvarchar","100","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","28","暂停时间","datetime","8","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","29","暂停时长","int","4","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","30","暂停总时长","int","4","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","31","总时长","int","4","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","32","实际工时","int","4","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","33","备注","nvarchar","1000","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","34","工序说明","nvarchar","1000","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","35","异常说明","nvarchar","1000","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","36","是否更新","int","4","True","False"
|
||||
"dbo","YL_加工中心_操作记录表","37","班次标准工时","int","4","False","False"
|
||||
"dbo","YL_加工中心_操作记录表","38","班次","nvarchar","100","True","False"
|
||||
"dbo","YL_设备管理_工时记录","1","ID","int","4","False","True"
|
||||
"dbo","YL_设备管理_工时记录","2","指派对象","nvarchar","100","True","False"
|
||||
"dbo","YL_设备管理_工时记录","3","订单编号","nchar","20","True","False"
|
||||
"dbo","YL_设备管理_工时记录","4","循环时间","int","4","True","False"
|
||||
"dbo","YL_设备管理_工时记录","5","采集时间","datetime","8","True","False"
|
||||
"dbo","YL_设备管理_工时记录","6","TaskAID","nchar","20","True","False"
|
||||
"dbo","YL_设备管理_工时记录","7","换件时间","int","4","True","False"
|
||||
"dbo","YL_设备管理_设备台账","1","设备ID","int","4","False","False"
|
||||
"dbo","YL_设备管理_设备台账","2","设备编号","nvarchar","100","True","False"
|
||||
"dbo","YL_设备管理_设备台账","3","设备名称","nvarchar","200","True","False"
|
||||
"dbo","YL_设备管理_设备台账","4","型号规格","nvarchar","200","True","False"
|
||||
"dbo","YL_设备管理_设备台账","5","制造商","nvarchar","200","True","False"
|
||||
"dbo","YL_设备管理_设备台账","6","所属车间","nvarchar","100","True","False"
|
||||
"dbo","YL_设备管理_设备台账","7","安装日期","date","3","True","False"
|
||||
"dbo","YL_设备管理_设备台账","8","预期寿命","int","4","True","False"
|
||||
"dbo","YL_设备管理_设备台账","9","状态","int","4","True","False"
|
||||
"dbo","YL_设备管理_设备台账","10","最后维护日期","datetime","8","True","False"
|
||||
"dbo","YL_设备管理_设备台账","11","责任人","nvarchar","100","True","False"
|
||||
"dbo","YL_设备管理_设备台账","12","技术参数JSON","nvarchar","-1","True","False"
|
||||
"dbo","YL_设备管理_维修记录","1","AID","int","4","False","True"
|
||||
"dbo","YL_设备管理_维修记录","2","工位编号","nvarchar","100","True","False"
|
||||
"dbo","YL_设备管理_维修记录","3","工位名称","nvarchar","100","True","False"
|
||||
"dbo","YL_设备管理_维修记录","4","设备编号","nvarchar","100","True","False"
|
||||
"dbo","YL_设备管理_维修记录","5","设备名称","nvarchar","100","True","False"
|
||||
"dbo","YL_设备管理_维修记录","6","设备规格型号","nvarchar","100","True","False"
|
||||
"dbo","YL_设备管理_维修记录","7","故障描述","nvarchar","4000","True","False"
|
||||
"dbo","YL_设备管理_维修记录","8","故障时间","datetime","8","True","False"
|
||||
"dbo","YL_设备管理_维修记录","9","维修人员","nvarchar","100","True","False"
|
||||
"dbo","YL_设备管理_维修记录","10","维修完成时间","datetime","8","True","False"
|
||||
"dbo","YL_质量检验_不合格品处理","1","FlowAID","int","4","False","True"
|
||||
"dbo","YL_质量检验_不合格品处理","2","TaskAID","int","4","True","False"
|
||||
"dbo","YL_质量检验_不合格品处理","3","不合格数量","int","4","True","False"
|
||||
"dbo","YL_质量检验_不合格品处理","4","申请让步放行","int","4","True","False"
|
||||
"dbo","YL_质量检验_不合格品处理","5","申请内容","nvarchar","4000","True","False"
|
||||
"dbo","YL_质量检验_不合格品处理","6","发起人ID","int","4","True","False"
|
||||
"dbo","YL_质量检验_不合格品处理","7","发起时间","datetime","8","True","False"
|
||||
"dbo","YL_质量检验_不合格品处理","8","结束时间","datetime","8","True","False"
|
||||
"dbo","YL_质量检验_不合格品处理_处理节点","1","AID","int","4","False","True"
|
||||
"dbo","YL_质量检验_不合格品处理_处理节点","2","FlowAID","int","4","False","False"
|
||||
"dbo","YL_质量检验_不合格品处理_处理节点","3","FlowNodeID","int","4","False","False"
|
||||
"dbo","YL_质量检验_不合格品处理_处理节点","4","处理人ID","int","4","True","False"
|
||||
"dbo","YL_质量检验_不合格品处理_处理节点","5","接收时间","datetime","8","True","False"
|
||||
"dbo","YL_质量检验_不合格品处理_处理节点","6","完成时间","datetime","8","True","False"
|
||||
"dbo","YL_质量检验_不合格品处理_处理节点","7","让步放行数量","int","4","True","False"
|
||||
"dbo","YL_质量检验_不合格品处理_处理节点","8","处理意见","nvarchar","4000","True","False"
|
||||
"dbo","YL_质量检验_检测标准","1","AID","int","4","False","True"
|
||||
"dbo","YL_质量检验_检测标准","2","物料编号","nvarchar","1000","True","False"
|
||||
"dbo","YL_质量检验_检测标准","3","工序名称编号","int","4","True","False"
|
||||
"dbo","YL_质量检验_检测标准","4","检测项目","nvarchar","4000","True","False"
|
||||
"dbo","YL_质量检验_检测标准","5","理论值","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_检测标准","6","上限值","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_检测标准","7","下限值","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_检测标准","8","测量单位","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_检测标准","9","检验比例","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_检测标准","10","检具","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_检测标准","11","备注","nvarchar","400","True","False"
|
||||
"dbo","YL_质量检验_检测标准","12","检测类别编号","int","4","True","False"
|
||||
"dbo","YL_质量检验_检测标准","13","创建时间","datetime","8","True","False"
|
||||
"dbo","YL_质量检验_检测标准","14","更新时间","datetime","8","True","False"
|
||||
"dbo","YL_质量检验_量具信息","1","AID","int","4","False","True"
|
||||
"dbo","YL_质量检验_量具信息","2","量具编号","nvarchar","200","True","False"
|
||||
"dbo","YL_质量检验_量具信息","3","量具名称","nvarchar","200","True","False"
|
||||
"dbo","YL_质量检验_量具信息","4","规格型号","nvarchar","200","True","False"
|
||||
"dbo","YL_质量检验_量具信息","5","制造商","nvarchar","200","True","False"
|
||||
"dbo","YL_质量检验_量具信息","6","精度等级","nvarchar","200","True","False"
|
||||
"dbo","YL_质量检验_量具信息","7","测量范围","nvarchar","200","True","False"
|
||||
"dbo","YL_质量检验_量具信息","8","量具状态","nvarchar","200","True","False"
|
||||
"dbo","YL_质量检验_量具信息","9","负责人","nvarchar","200","True","False"
|
||||
"dbo","YL_质量检验_量具信息","10","使用寿命","nvarchar","200","True","False"
|
||||
"dbo","YL_质量检验_质检记录","1","QT_AID","bigint","8","False","True"
|
||||
"dbo","YL_质量检验_质检记录","2","TaskAID","bigint","8","True","False"
|
||||
"dbo","YL_质量检验_质检记录","3","检测类型编号","int","4","True","False"
|
||||
"dbo","YL_质量检验_质检记录","4","质检类型","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_质检记录","5","零件编码","nvarchar","400","True","False"
|
||||
"dbo","YL_质量检验_质检记录","6","零件名称","nvarchar","400","True","False"
|
||||
"dbo","YL_质量检验_质检记录","7","内部合同号","nvarchar","200","True","False"
|
||||
"dbo","YL_质量检验_质检记录","8","计划号","int","4","True","False"
|
||||
"dbo","YL_质量检验_质检记录","9","工序名称","nvarchar","200","True","False"
|
||||
"dbo","YL_质量检验_质检记录","10","计划生产数","int","4","True","False"
|
||||
"dbo","YL_质量检验_质检记录","11","检验数量","decimal","9","True","False"
|
||||
"dbo","YL_质量检验_质检记录","12","合格数","decimal","9","True","False"
|
||||
"dbo","YL_质量检验_质检记录","13","不合格数","decimal","9","True","False"
|
||||
"dbo","YL_质量检验_质检记录","14","检测人","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_质检记录","15","检测时间","datetime","8","True","False"
|
||||
"dbo","YL_质量检验_质检记录","16","检测说明","nvarchar","-1","True","False"
|
||||
"dbo","YL_质量检验_质检记录","17","行号","int","4","True","False"
|
||||
"dbo","YL_质量检验_质检记录","18","订单类型","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_质检记录","19","到货数","decimal","9","True","False"
|
||||
"dbo","YL_质量检验_质检记录","20","转至","int","4","False","False"
|
||||
"dbo","YL_质量检验_质检记录","21","完成","int","4","False","False"
|
||||
"dbo","YL_质量检验_质检记录","22","放行数量","int","4","False","False"
|
||||
"dbo","YL_质量检验_质检记录","23","工位名称","nvarchar","200","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测零件","1","LJ_AID","bigint","8","False","True"
|
||||
"dbo","YL_质量检验_质检记录_检测零件","2","QT_AID","bigint","8","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测零件","3","当前检测零件编号","int","4","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测零件","4","检测结果","nvarchar","1000","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测零件","5","检测时间","datetime","8","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测零件","6","检测人","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测零件","7","零件编号","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","1","AID","bigint","8","False","True"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","2","LJ_AID","bigint","8","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","3","物料编号","nvarchar","200","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","4","当前检测零件编号","int","4","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","5","阶段标识","int","4","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","6","工序名称","nvarchar","200","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","7","计划号","int","4","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","8","检测项目","nvarchar","1000","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","9","理论值","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","10","上限值","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","11","下限值","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","12","实测值","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","13","测量单位","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","14","检验比例","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","15","检具","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","16","检测结果","int","4","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","17","合格数","int","4","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","18","不合格数","int","4","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","19","备注","nvarchar","400","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","20","检测人","nvarchar","100","True","False"
|
||||
"dbo","YL_质量检验_质检记录_检测数据","21","检测时间","datetime","8","True","False"
|
||||
"dbo","班次表","1","班次编号","nvarchar","100","False","False"
|
||||
"dbo","班次表","2","班次名称","nvarchar","100","False","False"
|
||||
"dbo","班次表","3","开始时间","time","5","False","False"
|
||||
"dbo","班次表","4","结束时间","time","5","False","False"
|
||||
"dbo","班次表","5","创建时间","datetime","8","False","False"
|
||||
"dbo","班次表","6","创建人","nvarchar","100","False","False"
|
||||
"dbo","班次表","7","更新时间","datetime","8","False","False"
|
||||
"dbo","班次表","8","更新人","nvarchar","100","False","False"
|
||||
"dbo","班次表","9","是否删除","bit","1","True","False"
|
||||
"dbo","班次人员绑定表","1","绑定ID","int","4","False","True"
|
||||
"dbo","班次人员绑定表","2","班次编号","nvarchar","100","False","False"
|
||||
"dbo","班次人员绑定表","3","人员编号","nvarchar","100","False","False"
|
||||
"dbo","班次人员绑定表","4","绑定时间","datetime","8","False","False"
|
||||
"dbo","班次人员绑定表","5","创建时间","datetime","8","False","False"
|
||||
"dbo","班次人员绑定表","6","创建人","nvarchar","100","False","False"
|
||||
"dbo","班次人员绑定表","7","更新时间","datetime","8","False","False"
|
||||
"dbo","班次人员绑定表","8","更新人","nvarchar","100","False","False"
|
||||
"dbo","班次人员绑定表","9","是否删除","bit","1","True","False"
|
||||
"dbo","报警_记录_历史","1","AID","int","4","False","True"
|
||||
"dbo","报警_记录_历史","2","报警代码","int","4","True","False"
|
||||
"dbo","报警_记录_历史","3","报警内容","nvarchar","4096","True","False"
|
||||
"dbo","报警_记录_历史","4","开始时间","datetime","8","True","False"
|
||||
"dbo","报警_记录_历史","5","结束时间","datetime","8","True","False"
|
||||
"dbo","报警_记录_历史","6","持续时间","int","4","True","False"
|
||||
"dbo","报警_记录_历史","7","TagID","nvarchar","4096","True","False"
|
||||
"dbo","报警_记录_历史","8","工位号","nvarchar","4096","True","False"
|
||||
"dbo","报警_记录_历史","9","报警1提示2","int","4","True","False"
|
||||
"dbo","报警_记录_历史","10","报警级别","nvarchar","4096","True","False"
|
||||
"dbo","报警_记录_历史_缓存","1","AID","int","4","False","True"
|
||||
"dbo","报警_记录_历史_缓存","2","报警代码","int","4","True","False"
|
||||
"dbo","报警_记录_历史_缓存","3","报警内容","nvarchar","4096","True","False"
|
||||
"dbo","报警_记录_历史_缓存","4","开始时间","datetime","8","True","False"
|
||||
"dbo","报警_记录_历史_缓存","5","结束时间","datetime","8","True","False"
|
||||
"dbo","报警_记录_历史_缓存","6","持续时间","int","4","True","False"
|
||||
"dbo","报警_记录_历史_缓存","7","TagID","nvarchar","4096","True","False"
|
||||
"dbo","报警_记录_历史_缓存","8","工位号","nvarchar","4096","True","False"
|
||||
"dbo","报警_记录_历史_缓存","9","报警级别","nvarchar","4096","True","False"
|
||||
"dbo","车间生产管理工艺_零件工序_工艺库","1","id","int","4","False","True"
|
||||
"dbo","车间生产管理工艺_零件工序_工艺库","2","零件图号","nvarchar","200","True","False"
|
||||
"dbo","车间生产管理工艺_零件工序_工艺库","3","工艺编号","int","4","True","False"
|
||||
"dbo","车间生产管理工艺_零件工序_工艺库","4","工艺顺序","int","4","True","False"
|
||||
"dbo","车间生产管理工艺_零件工序_工艺库","5","工艺要求","nvarchar","-1","True","False"
|
||||
"dbo","车间生产管理工艺_零件工序_工艺库","6","是否最后一序","tinyint","1","True","False"
|
||||
"dbo","车间生产管理工艺_零件工序_工艺库","7","计划数量","int","4","True","False"
|
||||
"dbo","车间生产管理工艺_零件工序_工艺库","8","准备工时","int","4","True","False"
|
||||
"dbo","车间生产管理工艺_零件工序_工艺库","9","标准工时","int","4","True","False"
|
||||
"dbo","车间生产管理工艺_零件工序_工艺库","10","工时合计","int","4","True","False"
|
||||
"dbo","车间生产管理工艺_零件工序_工艺库","11","工卡量具","nvarchar","400","True","False"
|
||||
"dbo","车间生产管理工艺_零件工序_工艺库","12","指定机床","nvarchar","400","True","False"
|
||||
"dbo","车间生产管理工艺_零件工序_工艺库","13","车间","nvarchar","400","True","False"
|
||||
"dbo","车间生产管理工艺_零件工序_工艺库","14","备注","nvarchar","1000","True","False"
|
||||
"dbo","车间生产管理工艺_零件工序_工艺库","15","启用","int","4","False","False"
|
||||
"dbo","车间生产管理工艺_零件生产工艺_工艺库","1","id","int","4","False","True"
|
||||
"dbo","车间生产管理工艺_零件生产工艺_工艺库","2","零件图号","nvarchar","200","True","False"
|
||||
"dbo","车间生产管理工艺_零件生产工艺_工艺库","3","工艺编号","int","4","True","False"
|
||||
"dbo","车间生产管理工艺_零件生产工艺_工艺库","4","工艺顺序","int","4","True","False"
|
||||
"dbo","车间生产管理工艺_零件生产工艺_工艺库","5","工艺要求","nvarchar","-1","True","False"
|
||||
"dbo","车间生产管理工艺_零件生产工艺_工艺库","6","是否最后一序","tinyint","1","True","False"
|
||||
"dbo","车间生产管理工艺_零件生产工艺_工艺库","7","订单编号","int","4","True","False"
|
||||
"dbo","车间生产管理工艺_零件生产工艺_工艺库","8","计划数量","int","4","True","False"
|
||||
"dbo","车间生产管理工艺_零件生产工艺_工艺库","9","准备工时","int","4","True","False"
|
||||
"dbo","车间生产管理工艺_零件生产工艺_工艺库","10","标准工时","int","4","True","False"
|
||||
"dbo","车间生产管理工艺_零件生产工艺_工艺库","11","工时合计","int","4","True","False"
|
||||
"dbo","车间生产管理工艺_零件生产工艺_工艺库","12","工卡量具","nvarchar","400","True","False"
|
||||
"dbo","车间生产管理工艺_零件生产工艺_工艺库","13","指定机床","nvarchar","400","True","False"
|
||||
"dbo","车间生产管理工艺_零件生产工艺_工艺库","14","车间","nvarchar","400","True","False"
|
||||
"dbo","车间生产管理工艺_零件生产工艺_工艺库","16","备注","nvarchar","1000","True","False"
|
||||
"dbo","车间生产管理工艺_零件生产工艺_工艺库","17","启用","int","4","False","False"
|
||||
"dbo","车间生产管理工艺_零件生产工艺_工艺库","18","属性","nvarchar","400","True","False"
|
||||
"dbo","登录基础数据_部门","1","部门编号","int","4","False","False"
|
||||
"dbo","登录基础数据_部门","2","部门名称","nvarchar","100","True","False"
|
||||
"dbo","登录基础数据_部门","3","操作日期","datetime","8","True","False"
|
||||
"dbo","登录基础数据_二级菜单","1","IDD","int","4","False","True"
|
||||
"dbo","登录基础数据_二级菜单","2","id","int","4","True","False"
|
||||
"dbo","登录基础数据_二级菜单","3","pid","int","4","True","False"
|
||||
"dbo","登录基础数据_二级菜单","4","path","varchar","100","True","False"
|
||||
"dbo","登录基础数据_二级菜单","5","componet","varchar","100","True","False"
|
||||
"dbo","登录基础数据_二级菜单","6","redirect","varchar","100","True","False"
|
||||
"dbo","登录基础数据_二级菜单","7","name","varchar","100","True","False"
|
||||
"dbo","登录基础数据_二级菜单","8","title","varchar","100","True","False"
|
||||
"dbo","登录基础数据_二级菜单","9","icon","varchar","100","True","False"
|
||||
"dbo","登录基础数据_二级菜单","10","账号代码","int","4","True","False"
|
||||
"dbo","登录基础数据_二级菜单","11","模块代码","int","4","True","False"
|
||||
"dbo","登录基础数据_二级菜单","12","操作时间","datetime","8","True","False"
|
||||
"dbo","登录基础数据_二级菜单","13","是否启用","int","4","True","False"
|
||||
"dbo","登录基础数据_二级菜单","14","AddData","int","4","True","False"
|
||||
"dbo","登录基础数据_二级菜单","15","DeleteData","int","4","True","False"
|
||||
"dbo","登录基础数据_二级菜单","16","EditData","int","4","True","False"
|
||||
"dbo","登录基础数据_二级菜单","17","SearchData","int","4","True","False"
|
||||
"dbo","登录基础数据_角色信息","1","Roles_number","int","4","False","True"
|
||||
"dbo","登录基础数据_角色信息","2","Roles_Function","nvarchar","100","False","False"
|
||||
"dbo","登录基础数据_人员权限角色","1","ID","int","4","False","True"
|
||||
"dbo","登录基础数据_人员权限角色","2","Personnel_Number","int","4","False","False"
|
||||
"dbo","登录基础数据_人员权限角色","3","Roles_number","int","4","False","False"
|
||||
"dbo","登录基础数据_人员信息","1","Personnel_Number","int","4","False","True"
|
||||
"dbo","登录基础数据_人员信息","2","account","nvarchar","100","False","False"
|
||||
"dbo","登录基础数据_人员信息","3","password","nvarchar","100","True","False"
|
||||
"dbo","登录基础数据_人员信息","4","Personnel_Name","nvarchar","100","False","False"
|
||||
"dbo","登录基础数据_人员信息","5","Departments_ID","int","4","True","False"
|
||||
"dbo","登录基础数据_人员信息","6","Quit","int","4","True","False"
|
||||
"dbo","登录基础数据_人员信息","7","OrgUnit","int","4","True","False"
|
||||
"dbo","登录基础数据_人员信息","8","Cost_Center","nvarchar","100","True","False"
|
||||
"dbo","登录基础数据_人员信息","9","Business_Area","nvarchar","100","True","False"
|
||||
"dbo","登录基础数据_人员信息","10","PSG","nvarchar","100","True","False"
|
||||
"dbo","登录基础数据_人员信息","11","Job_Title","nvarchar","100","True","False"
|
||||
"dbo","登录基础数据_人员信息","12","Payroll_Area","nvarchar","100","True","False"
|
||||
"dbo","登录基础数据_人员信息","13","Chinese_Name","nvarchar","100","True","False"
|
||||
"dbo","登录基础数据_人员信息","14","班组","nvarchar","100","True","False"
|
||||
"dbo","工位人员绑定表","1","绑定编号","int","4","False","True"
|
||||
"dbo","工位人员绑定表","2","工位号","nvarchar","100","False","False"
|
||||
"dbo","工位人员绑定表","3","人员编号","int","4","False","False"
|
||||
"dbo","工位人员绑定表","4","绑定时间","datetime","8","True","False"
|
||||
"dbo","工位人员绑定表","5","绑定人","nvarchar","100","True","False"
|
||||
"dbo","工位人员绑定表","6","绑定状态","int","4","True","False"
|
||||
"dbo","基础表_工序","1","AID","int","4","False","True"
|
||||
"dbo","基础表_工序","2","工艺编号","int","4","False","False"
|
||||
"dbo","基础表_工序","3","工序名称","nvarchar","100","True","False"
|
||||
"dbo","基础数据_设备工位点检表","1","设备流水号","int","4","False","True"
|
||||
"dbo","基础数据_设备工位点检表","2","设备名称","nvarchar","100","True","False"
|
||||
"dbo","基础数据_设备工位点检表","3","设备型号","nvarchar","100","True","False"
|
||||
"dbo","基础数据_设备工位点检表","4","制造厂家","nvarchar","200","True","False"
|
||||
"dbo","基础数据_设备工位点检表","5","工位号","nvarchar","100","True","False"
|
||||
"dbo","基础数据_设备工位点检表","6","点检表类型","int","4","True","False"
|
||||
"dbo","基础数据_设备工位点检表","7","操作日期","datetime","8","True","False"
|
||||
"dbo","基础数据_设备工位点检表","8","保养人员代码","int","4","True","False"
|
||||
"dbo","基础数据_设备工位点检表","9","监督人员代码","int","4","True","False"
|
||||
"dbo","基础数据_设备工位点检表","10","设备类型","nvarchar","100","True","False"
|
||||
"dbo","基础数据_设备工位点检表","11","公司编码","nvarchar","200","True","False"
|
||||
"dbo","基础数据_设备工位点检表","12","设备信息","nvarchar","1000","True","False"
|
||||
"dbo","基础数据_设备工位点检表","13","使用部门","nvarchar","200","True","False"
|
||||
"dbo","基础数据_设备工位点检表","14","入账日期","date","3","True","False"
|
||||
"dbo","基础数据_设备工位点检表","15","单位","nvarchar","100","True","False"
|
||||
"dbo","基础数据_设备工位点检表","16","数量","decimal","9","True","False"
|
||||
"dbo","基础数据_设备工位点检表","17","状态","nvarchar","100","True","False"
|
||||
"dbo","基础数据_设备工位点检表","18","维修记录","nvarchar","2000","True","False"
|
||||
"dbo","基础数据_设备工位点检表","19","维保记录","nvarchar","2000","True","False"
|
||||
"dbo","基础数据_设备工位点检表","20","工位绑定","nvarchar","2000","True","False"
|
||||
"dbo","基础数据_设备工位点检表","21","主要设备","nvarchar","20","True","False"
|
||||
"dbo","基础数据_设备工位点检表","22","设备标准开机工时","decimal","9","True","False"
|
||||
"dbo","基础数据_设备工位点检表","23","特种设备","nvarchar","20","True","False"
|
||||
"dbo","基础数据_设备工位点检表","24","证书有效期至","date","3","True","False"
|
||||
"dbo","基础数据_设备工位点检表","25","名称","nvarchar","200","True","False"
|
||||
"dbo","计划排产_装配合同预算","1","合同号","nvarchar","100","False","False"
|
||||
"dbo","计划排产_装配合同预算","2","合同预算测试工时","decimal","9","False","False"
|
||||
"dbo","计划排产_装配合同预算","3","最后编辑人","nvarchar","200","True","False"
|
||||
"dbo","计划排产_装配合同预算","4","最后编辑时间","datetime2","6","False","False"
|
||||
"dbo","计划排产_装配任务预算","1","订单号","int","4","False","False"
|
||||
"dbo","计划排产_装配任务预算","2","任务预算装配工时","decimal","9","False","False"
|
||||
"dbo","计划排产_装配任务预算","3","最后编辑人","nvarchar","200","True","False"
|
||||
"dbo","计划排产_装配任务预算","4","最后编辑时间","datetime2","6","False","False"
|
||||
"dbo","记录_日志_项目运行日志","1","AID","bigint","8","False","True"
|
||||
"dbo","记录_日志_项目运行日志","2","工位号","nvarchar","4096","True","False"
|
||||
"dbo","记录_日志_项目运行日志","3","日志类型","nvarchar","4096","True","False"
|
||||
"dbo","记录_日志_项目运行日志","4","TaskID","nvarchar","4096","True","False"
|
||||
"dbo","记录_日志_项目运行日志","5","请求CMD","nvarchar","4096","True","False"
|
||||
"dbo","记录_日志_项目运行日志","6","请求FROM","nvarchar","4096","True","False"
|
||||
"dbo","记录_日志_项目运行日志","7","请求TO","nvarchar","4096","True","False"
|
||||
"dbo","记录_日志_项目运行日志","8","请求时间","datetime","8","True","False"
|
||||
"dbo","记录_日志_项目运行日志","9","请求内容","nvarchar","-1","True","False"
|
||||
"dbo","记录_日志_项目运行日志","10","响应时间","datetime","8","True","False"
|
||||
"dbo","记录_日志_项目运行日志","11","响应内容","nvarchar","-1","True","False"
|
||||
"dbo","记录_日志_项目运行日志","12","请求内容安全","nvarchar","-1","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","1","AID_N","bigint","8","False","True"
|
||||
"dbo","历史_工位设备状态每分钟记录","2","AID","int","4","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","3","DeviceCode","nvarchar","100","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","4","工位号","nvarchar","4096","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","5","订单号","nvarchar","4096","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","6","产品型号","nvarchar","4096","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","7","工号","nvarchar","4096","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","8","零件号","nvarchar","4096","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","9","设备状态","int","4","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","10","电流1","real","4","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","11","电流2","real","4","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","12","电流3","real","4","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","13","线电压1","real","4","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","14","线电压2","real","4","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","15","线电压3","real","4","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","16","功率1","real","4","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","17","功率2","real","4","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","18","功率3","real","4","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","19","总功率","real","4","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","20","电能","real","4","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","21","创建时间","datetime","8","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","22","自动模式","int","4","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","23","LineName","nvarchar","400","True","False"
|
||||
"dbo","历史_工位设备状态每分钟记录","24","SyncTime","datetime","8","True","False"
|
||||
"dbo","历史_设备数据_定时","1","AID","bigint","8","False","True"
|
||||
"dbo","历史_设备数据_定时","2","在线状态","int","4","True","False"
|
||||
"dbo","历史_设备数据_定时","3","创建时间","datetime","8","True","False"
|
||||
"dbo","历史_设备数据_定时","4","设备代码","nvarchar","100","True","False"
|
||||
"dbo","历史_设备数据_定时","5","工位号","nvarchar","100","True","False"
|
||||
"dbo","历史_设备数据_定时","6","变量类型代码","int","4","True","False"
|
||||
"dbo","历史_设备数据_定时","7","变量名称","nvarchar","100","True","False"
|
||||
"dbo","历史_设备数据_定时","8","值","nvarchar","100","True","False"
|
||||
"dbo","历史_设备数据_定时","9","TagID","nvarchar","100","True","False"
|
||||
"dbo","历史_设备数据_定时","10","DeviceCode","nvarchar","400","True","False"
|
||||
"dbo","历史_设备数据_定时","11","单位","nvarchar","400","True","False"
|
||||
"dbo","历史_设备数据_定时","12","原始值","nvarchar","100","True","False"
|
||||
"dbo","历史_设备数据_定时","13","刀具号","nvarchar","100","True","False"
|
||||
"dbo","流程表","1","流程ID","int","4","False","True"
|
||||
"dbo","流程表","2","流程标题","nvarchar","400","False","False"
|
||||
"dbo","流程表","3","流程描述","nvarchar","-1","True","False"
|
||||
"dbo","流程表","4","优先级","nvarchar","40","True","False"
|
||||
"dbo","流程表","5","状态","nvarchar","40","True","False"
|
||||
"dbo","流程表","6","发起人ID","nvarchar","200","False","False"
|
||||
"dbo","流程表","7","发起人姓名","nvarchar","200","False","False"
|
||||
"dbo","流程表","8","当前节点","nvarchar","200","True","False"
|
||||
"dbo","流程表","9","当前步骤","int","4","True","False"
|
||||
"dbo","流程表","10","总步骤数","int","4","True","False"
|
||||
"dbo","流程表","11","截止时间","datetime","8","True","False"
|
||||
"dbo","流程表","12","创建时间","datetime","8","True","False"
|
||||
"dbo","流程表","13","更新时间","datetime","8","True","False"
|
||||
"dbo","流程表","14","完成人","nvarchar","200","True","False"
|
||||
"dbo","流程表","15","完成时间","datetime","8","True","False"
|
||||
"dbo","流程表","16","完成原因","nvarchar","1000","True","False"
|
||||
"dbo","流程表","17","完成类型","nvarchar","40","True","False"
|
||||
"dbo","流程表","18","已关联计划号","int","4","True","False"
|
||||
"dbo","流程表","19","零件名称","nvarchar","200","True","False"
|
||||
"dbo","流程表","20","零件编号","nvarchar","200","True","False"
|
||||
"dbo","流程表","21","工序名称","nvarchar","200","True","False"
|
||||
"dbo","流程表","22","num","nvarchar","200","True","False"
|
||||
"dbo","流程表","23","uid","nvarchar","200","True","False"
|
||||
"dbo","流程节点表","1","节点ID","int","4","False","True"
|
||||
"dbo","流程节点表","2","流程ID","int","4","False","False"
|
||||
"dbo","流程节点表","4","节点名称","nvarchar","200","False","False"
|
||||
"dbo","流程节点表","5","审批人ID","nvarchar","200","True","False"
|
||||
"dbo","流程节点表","6","审批人姓名","nvarchar","200","True","False"
|
||||
"dbo","流程节点表","7","步骤序号","int","4","False","False"
|
||||
"dbo","流程节点表","8","状态","nvarchar","40","True","False"
|
||||
"dbo","流程节点表","9","截止时间","datetime","8","True","False"
|
||||
"dbo","流程节点表","10","创建时间","datetime","8","True","False"
|
||||
"dbo","流程节点表","11","更新时间","datetime","8","True","False"
|
||||
"dbo","流程节点表","12","是否转办","bit","1","True","False"
|
||||
"dbo","流程节点表","13","转办ID","int","4","True","False"
|
||||
"dbo","流程完成记录表","1","完成记录ID","int","4","False","True"
|
||||
"dbo","流程完成记录表","2","流程ID","int","4","False","False"
|
||||
"dbo","流程完成记录表","3","发起人ID","nvarchar","200","False","False"
|
||||
"dbo","流程完成记录表","4","发起人姓名","nvarchar","200","False","False"
|
||||
"dbo","流程完成记录表","5","完成类型","nvarchar","40","False","False"
|
||||
"dbo","流程完成记录表","6","完成原因","nvarchar","1000","True","False"
|
||||
"dbo","流程完成记录表","7","完成时间","datetime","8","True","False"
|
||||
"dbo","流程转办表","1","转办ID","int","4","False","True"
|
||||
"dbo","流程转办表","2","流程ID","int","4","False","False"
|
||||
"dbo","流程转办表","3","原节点ID","int","4","False","False"
|
||||
"dbo","流程转办表","4","原审批人ID","nvarchar","200","False","False"
|
||||
"dbo","流程转办表","5","原审批人姓名","nvarchar","200","False","False"
|
||||
"dbo","流程转办表","6","新审批人ID","nvarchar","200","False","False"
|
||||
"dbo","流程转办表","7","新审批人姓名","nvarchar","200","False","False"
|
||||
"dbo","流程转办表","8","转办原因","nvarchar","1000","True","False"
|
||||
"dbo","流程转办表","9","转办时间","datetime","8","True","False"
|
||||
"dbo","流程转办表","10","状态","nvarchar","40","True","False"
|
||||
"dbo","设备信息缓存表","1","指派对象","nvarchar","100","True","False"
|
||||
"dbo","设备信息缓存表","2","订单编号","int","4","True","False"
|
||||
"dbo","设备信息缓存表","3","合同号","nvarchar","100","True","False"
|
||||
"dbo","设备信息缓存表","4","计划号","nvarchar","100","True","False"
|
||||
"dbo","设备信息缓存表","5","物料名称","nvarchar","1000","True","False"
|
||||
"dbo","设备信息缓存表","6","物料编码","nvarchar","1000","True","False"
|
||||
"dbo","设备信息缓存表","7","订单行号","int","4","True","False"
|
||||
"dbo","设备信息缓存表","8","工序名称","nvarchar","100","True","False"
|
||||
"dbo","设备信息缓存表","9","指派数量","decimal","9","True","False"
|
||||
"dbo","设备信息缓存表","10","加急总数","decimal","9","True","False"
|
||||
"dbo","设备信息缓存表","11","完成数量","int","4","True","False"
|
||||
"dbo","设备信息缓存表","12","计划开始时间","datetime","8","True","False"
|
||||
"dbo","设备信息缓存表","13","计划完成时间","datetime","8","True","False"
|
||||
"dbo","设备信息缓存表","14","派工特殊说明","nvarchar","1000","True","False"
|
||||
"dbo","审批记录表","1","记录ID","int","4","False","True"
|
||||
"dbo","审批记录表","2","流程ID","int","4","False","False"
|
||||
"dbo","审批记录表","3","节点ID","int","4","False","False"
|
||||
"dbo","审批记录表","4","审批人ID","nvarchar","200","False","False"
|
||||
"dbo","审批记录表","5","审批人姓名","nvarchar","200","False","False"
|
||||
"dbo","审批记录表","6","处理结果","nvarchar","40","False","False"
|
||||
"dbo","审批记录表","7","审批意见","nvarchar","-1","True","False"
|
||||
"dbo","审批记录表","8","处理时间","datetime","8","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","1","AID","int","4","False","True"
|
||||
"dbo","生产管理_工时校验_校验工时表","2","操作类别编号","int","4","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","3","操作类别","nvarchar","100","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","4","阶段标识","int","4","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","5","工序名称","nvarchar","100","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","6","工位编号","nvarchar","100","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","7","工位名称","nvarchar","100","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","8","操作人","nvarchar","100","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","9","合同号","nvarchar","100","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","10","订单编号","nvarchar","100","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","11","物料编号","nvarchar","100","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","12","物料描述","nvarchar","100","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","13","操作数值","int","4","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","14","操作内容","nvarchar","1000","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","15","操作描述","nvarchar","4000","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","16","TaskAID","bigint","8","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","17","开始时间","datetime","8","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","18","结束时间","datetime","8","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","19","工时","int","4","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","20","报工日期","date","3","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","21","已报工","int","4","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","22","不装配","nvarchar","100","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","23","最后编辑人","nvarchar","100","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","24","最后编辑时间","datetime","8","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","25","报工记录id","int","4","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","26","计算详情","nvarchar","-1","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","27","上传工时","decimal","9","True","False"
|
||||
"dbo","生产管理_工时校验_校验工时表","28","工时类型","nvarchar","40","True","False"
|
||||
"dbo","生产管理_手续确认报表记录","1","AID","bigint","8","False","True"
|
||||
"dbo","生产管理_手续确认报表记录","2","TaskAID","bigint","8","False","False"
|
||||
"dbo","生产管理_手续确认报表记录","3","订单编号","int","4","True","False"
|
||||
"dbo","生产管理_手续确认报表记录","4","手续确认","int","4","False","False"
|
||||
"dbo","生产管理_手续确认报表记录","5","确认人","nvarchar","100","True","False"
|
||||
"dbo","生产管理_手续确认报表记录","6","确认时间","datetime","8","False","False"
|
||||
"dbo","生产管理_手续确认报表记录","7","备注","nvarchar","1000","True","False"
|
||||
"dbo","物料基础数据_工艺图纸","1","id","int","4","False","True"
|
||||
"dbo","物料基础数据_工艺图纸","2","num","nvarchar","200","False","False"
|
||||
"dbo","物料基础数据_工艺图纸","3","uid","nvarchar","200","True","False"
|
||||
"dbo","物料基础数据_工艺图纸","4","name","nvarchar","200","True","False"
|
||||
"dbo","物料基础数据_工艺图纸","5","suffix","nvarchar","100","True","False"
|
||||
"dbo","物料基础数据_工艺图纸","6","是否启用","int","4","True","False"
|
||||
"dbo","物料基础数据_工艺图纸","7","worker","nvarchar","200","True","False"
|
||||
"dbo","物料基础数据_工艺图纸","8","uploadTime","nvarchar","200","True","False"
|
||||
"dbo","物料基础数据_零件图纸","1","id","int","4","False","True"
|
||||
"dbo","物料基础数据_零件图纸","2","num","nvarchar","200","False","False"
|
||||
"dbo","物料基础数据_零件图纸","3","uid","nvarchar","200","True","False"
|
||||
"dbo","物料基础数据_零件图纸","4","name","nvarchar","200","True","False"
|
||||
"dbo","物料基础数据_零件图纸","5","suffix","nvarchar","100","True","False"
|
||||
"dbo","物料基础数据_零件图纸","6","是否启用","int","4","True","False"
|
||||
"dbo","物料基础数据_零件图纸","9","worker","nvarchar","200","True","False"
|
||||
"dbo","物料基础数据_零件图纸","10","uploadTime","nvarchar","200","True","False"
|
||||
"dbo","物料基础数据_零件图纸删除记录","1","ID","int","4","False","True"
|
||||
"dbo","物料基础数据_零件图纸删除记录","2","物料编号","nvarchar","200","False","False"
|
||||
"dbo","物料基础数据_零件图纸删除记录","3","文件名称","nvarchar","510","True","False"
|
||||
"dbo","物料基础数据_零件图纸删除记录","4","操作人","nvarchar","100","False","False"
|
||||
"dbo","物料基础数据_零件图纸删除记录","5","删除时间","datetime","8","True","False"
|
||||
"dbo","物料基础数据_零件图纸删除记录","6","备注","nvarchar","1000","True","False"
|
||||
"dbo","物料数据","1","物料编码","nvarchar","-1","True","False"
|
||||
"dbo","物料数据","2","物料描述","nvarchar","-1","True","False"
|
||||
"dbo","物料数据","3","物料分类","nvarchar","-1","True","False"
|
||||
"dbo","物料数据","4","物料品牌","nvarchar","100","True","False"
|
||||
"dbo","物料数据","5","规格型号","nvarchar","-1","True","False"
|
||||
"dbo","物料数据","6","是否可用","nvarchar","100","True","False"
|
||||
"dbo","物料数据","7","物料组","nvarchar","100","True","False"
|
||||
"dbo","物料数据","8","默认仓库","nvarchar","100","True","False"
|
||||
"dbo","物料数据","9","库存单位","nvarchar","100","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","1","AID","int","4","False","True"
|
||||
"dbo","质量检验_质检任务_SAP","2","订单编号","int","4","False","False"
|
||||
"dbo","质量检验_质检任务_SAP","3","物料名称","nvarchar","1000","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","4","物料编码","nvarchar","1000","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","5","入库数量","decimal","9","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","6","检验结果","nvarchar","100","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","7","检测人","nvarchar","100","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","8","检验时间","datetime","8","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","9","合格数","decimal","9","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","10","不合格数","decimal","9","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","11","订单类型","nvarchar","100","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","12","同步时间","datetime","8","False","False"
|
||||
"dbo","质量检验_质检任务_SAP","13","行号","int","4","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","14","到货数","decimal","9","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","15","采购到货时间","nvarchar","100","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","16","单据码","nvarchar","100","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","17","优先级","nvarchar","100","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","18","任务码","nvarchar","100","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","19","批次信息","nvarchar","100","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","20","存放位置","nvarchar","100","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","21","备注","nvarchar","-1","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","22","加急状态","int","4","True","False"
|
||||
"dbo","质量检验_质检任务_SAP","23","加急总数","decimal","9","True","False"
|
||||
|
692
work/database_view_columns_20260725.csv
Normal file
@@ -0,0 +1,692 @@
|
||||
"SchemaName","ViewName","column_id","ColumnName","TypeName","max_length","is_nullable"
|
||||
"dbo","v_CurrentProductionStatus","1","TaskAID","bigint","8","True"
|
||||
"dbo","v_CurrentProductionStatus","2","订单号","int","4","True"
|
||||
"dbo","v_CurrentProductionStatus","3","合同号","nvarchar","100","True"
|
||||
"dbo","v_CurrentProductionStatus","4","加急总数","decimal","9","True"
|
||||
"dbo","v_CurrentProductionStatus","5","派工特殊说明","nvarchar","1000","True"
|
||||
"dbo","v_CurrentProductionStatus","6","订单拆分内码","int","4","True"
|
||||
"dbo","v_CurrentProductionStatus","7","订单行号","int","4","True"
|
||||
"dbo","v_CurrentProductionStatus","8","开工时间","datetime","8","True"
|
||||
"dbo","v_CurrentProductionStatus","9","零件编码","nvarchar","1000","True"
|
||||
"dbo","v_CurrentProductionStatus","10","零件名称","nvarchar","1000","True"
|
||||
"dbo","v_CurrentProductionStatus","11","加急","varchar","4","True"
|
||||
"dbo","v_CurrentProductionStatus","12","优先","nvarchar","100","True"
|
||||
"dbo","v_CurrentProductionStatus","13","指派对象编号","nvarchar","100","True"
|
||||
"dbo","v_CurrentProductionStatus","14","指派对象","nvarchar","100","True"
|
||||
"dbo","v_CurrentProductionStatus","15","工序名称","nvarchar","100","True"
|
||||
"dbo","v_CurrentProductionStatus","16","二次派工","nvarchar","1000","True"
|
||||
"dbo","v_CurrentProductionStatus","17","计划号","nvarchar","100","True"
|
||||
"dbo","v_CurrentProductionStatus","18","分配数","decimal","9","True"
|
||||
"dbo","v_CurrentProductionStatus","19","计划开始","datetime","8","True"
|
||||
"dbo","v_CurrentProductionStatus","20","计划完成","datetime","8","True"
|
||||
"dbo","v_CurrentProductionStatus","21","收料","int","4","True"
|
||||
"dbo","v_CurrentProductionStatus","22","完成数量","int","4","True"
|
||||
"dbo","v_CurrentProductionStatus","23","齐套","varchar","2","True"
|
||||
"dbo","v_CurrentProductionStatus","24","发料状态","varchar","8","True"
|
||||
"dbo","v_CurrentProductionStatus","25","拣配状态","varchar","6","True"
|
||||
"dbo","v_CurrentProductionStatus","26","任务状态","varchar","6","False"
|
||||
"dbo","v_CurrentProductionStatus","27","加工状态","varchar","8","False"
|
||||
"dbo","v_CurrentProductionStatus","28","加工状态编号","int","4","False"
|
||||
"dbo","v_CurrentProductionStatus","29","收检合格数","decimal","17","True"
|
||||
"dbo","v_CurrentProductionStatus","30","收检不合格数","decimal","17","True"
|
||||
"dbo","v_CurrentProductionStatus","31","人员名称","nvarchar","-1","True"
|
||||
"dbo","v_CurrentProductionStatus","32","首检","varchar","2","True"
|
||||
"dbo","v_CurrentProductionStatus","33","序检","varchar","2","True"
|
||||
"dbo","v_CurrentProductionStatus","34","上序已完成本序未开始","varchar","2","True"
|
||||
"dbo","v_CurrentProductionStatus","35","生产类型","varchar","4","False"
|
||||
"dbo","View_报工人员","1","操作人","nvarchar","100","True"
|
||||
"dbo","View_标准工艺视图","1","零件名称","nvarchar","1000","True"
|
||||
"dbo","View_标准工艺视图","2","id","int","4","True"
|
||||
"dbo","View_标准工艺视图","3","零件图号","nvarchar","200","True"
|
||||
"dbo","View_标准工艺视图","4","工艺编号","int","4","True"
|
||||
"dbo","View_标准工艺视图","5","工艺顺序","int","4","True"
|
||||
"dbo","View_标准工艺视图","6","工艺要求","nvarchar","-1","True"
|
||||
"dbo","View_标准工艺视图","7","是否最后一序","tinyint","1","True"
|
||||
"dbo","View_标准工艺视图","8","计划数量","int","4","True"
|
||||
"dbo","View_标准工艺视图","9","准备工时","int","4","True"
|
||||
"dbo","View_标准工艺视图","10","标准工时","int","4","True"
|
||||
"dbo","View_标准工艺视图","11","工时合计","int","4","True"
|
||||
"dbo","View_标准工艺视图","12","工卡量具","nvarchar","400","True"
|
||||
"dbo","View_标准工艺视图","13","指定机床","nvarchar","400","True"
|
||||
"dbo","View_标准工艺视图","14","车间","nvarchar","400","True"
|
||||
"dbo","View_标准工艺视图","15","备注","nvarchar","1000","True"
|
||||
"dbo","View_标准工艺视图","16","启用","int","4","True"
|
||||
"dbo","View_标准工艺视图","17","标准工艺","int","4","True"
|
||||
"dbo","View_标准工艺视图","18","工序名称","nvarchar","100","True"
|
||||
"dbo","View_工位人员绑定数","1","人员编号","int","4","False"
|
||||
"dbo","View_工位人员绑定数","2","人员姓名","nvarchar","100","False"
|
||||
"dbo","View_工位人员绑定数","3","绑定设备数","int","4","True"
|
||||
"dbo","View_基础数据_工位","1","VisCode","nvarchar","100","False"
|
||||
"dbo","View_基础数据_工位","2","Name","nvarchar","400","True"
|
||||
"dbo","View_基础数据_工位","3","SyncTime","datetime","8","True"
|
||||
"dbo","View_设备工位人员","1","人员名称","nvarchar","100","True"
|
||||
"dbo","View_设备工位人员","2","工位名称","nvarchar","400","True"
|
||||
"dbo","View_设备工位人员","3","是否删除","bit","1","True"
|
||||
"dbo","View_设备工位人员","4","班次名称","nvarchar","100","True"
|
||||
"dbo","View_设备工位人员","5","开始时间","time","5","True"
|
||||
"dbo","View_设备工位人员","6","结束时间","time","5","True"
|
||||
"dbo","View_设备工位人员","7","人员编号","int","4","True"
|
||||
"dbo","View_生产订单_MES","1","订单编号","int","4","False"
|
||||
"dbo","View_生产订单_MES","2","合同号","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","3","订单拆分内码","int","4","True"
|
||||
"dbo","View_生产订单_MES","4","订单类型","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","5","订单状态","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","6","物料编号","nvarchar","1000","True"
|
||||
"dbo","View_生产订单_MES","7","物料描述","nvarchar","1000","True"
|
||||
"dbo","View_生产订单_MES","8","工序计划数量","decimal","9","True"
|
||||
"dbo","View_生产订单_MES","9","计量单位","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","10","下达日期","datetime","8","True"
|
||||
"dbo","View_生产订单_MES","11","计划开始","datetime","8","True"
|
||||
"dbo","View_生产订单_MES","12","计划完成","datetime","8","True"
|
||||
"dbo","View_生产订单_MES","13","项目代码","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","14","备注","nvarchar","1000","True"
|
||||
"dbo","View_生产订单_MES","15","重量","decimal","9","True"
|
||||
"dbo","View_生产订单_MES","16","占用情况","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","17","加急状态","int","4","True"
|
||||
"dbo","View_生产订单_MES","18","同步时间","datetime","8","True"
|
||||
"dbo","View_生产订单_MES","19","订单行号","int","4","True"
|
||||
"dbo","View_生产订单_MES","20","物料编码","nvarchar","1000","True"
|
||||
"dbo","View_生产订单_MES","21","物料名称","nvarchar","1000","True"
|
||||
"dbo","View_生产订单_MES","22","基本数量","decimal","9","True"
|
||||
"dbo","View_生产订单_MES","23","计划数量","decimal","9","True"
|
||||
"dbo","View_生产订单_MES","24","已发货数量","decimal","9","True"
|
||||
"dbo","View_生产订单_MES","25","订单发货类型","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","26","仓库代码","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","27","可视订单","int","4","True"
|
||||
"dbo","View_生产订单_MES","28","物料类型","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","29","阶段标识","int","4","True"
|
||||
"dbo","View_生产订单_MES","30","工序名称","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","31","顺序编号","int","4","True"
|
||||
"dbo","View_生产订单_MES","32","性质","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","33","总工时","decimal","9","True"
|
||||
"dbo","View_生产订单_MES","34","行文本备注","nvarchar","1000","True"
|
||||
"dbo","View_生产订单_MES","35","不装配","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","36","指派对象","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","37","指派数量","decimal","9","True"
|
||||
"dbo","View_生产订单_MES","38","计划开始时间","datetime","8","True"
|
||||
"dbo","View_生产订单_MES","39","计划完成时间","datetime","8","True"
|
||||
"dbo","View_生产订单_MES","40","最晚开始时间","datetime","8","True"
|
||||
"dbo","View_生产订单_MES","41","派工状态","int","4","True"
|
||||
"dbo","View_生产订单_MES","42","任务状态","int","4","True"
|
||||
"dbo","View_生产订单_MES","43","修改时间","datetime","8","True"
|
||||
"dbo","View_生产订单_MES","44","外协通知","int","4","True"
|
||||
"dbo","View_生产订单_MES","45","优先级","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","46","未完成说明","nvarchar","1000","True"
|
||||
"dbo","View_生产订单_MES","47","派工特殊说明","nvarchar","1000","True"
|
||||
"dbo","View_生产订单_MES","48","最后编辑人","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","49","最后编辑时间","datetime","8","True"
|
||||
"dbo","View_生产订单_MES","50","可执行","int","4","True"
|
||||
"dbo","View_生产订单_MES","51","收料","int","4","True"
|
||||
"dbo","View_生产订单_MES","52","收料数量","int","4","True"
|
||||
"dbo","View_生产订单_MES","53","开工","int","4","True"
|
||||
"dbo","View_生产订单_MES","54","首检","int","4","True"
|
||||
"dbo","View_生产订单_MES","55","巡检","int","4","True"
|
||||
"dbo","View_生产订单_MES","56","完成数量","int","4","True"
|
||||
"dbo","View_生产订单_MES","57","进度","decimal","9","True"
|
||||
"dbo","View_生产订单_MES","58","序检","int","4","True"
|
||||
"dbo","View_生产订单_MES","59","测试","int","4","True"
|
||||
"dbo","View_生产订单_MES","60","入库","int","4","True"
|
||||
"dbo","View_生产订单_MES","61","TaskAID","bigint","8","True"
|
||||
"dbo","View_生产订单_MES","62","加工状态","int","4","True"
|
||||
"dbo","View_生产订单_MES","63","操作时间","datetime","8","True"
|
||||
"dbo","View_生产订单_MES","64","开工时间","datetime","8","True"
|
||||
"dbo","View_生产订单_MES","65","完工时间","datetime","8","True"
|
||||
"dbo","View_生产订单_MES","66","合格数量","int","4","True"
|
||||
"dbo","View_生产订单_MES","67","不合格数量","int","4","True"
|
||||
"dbo","View_生产订单_MES","68","让步放行数量","int","4","True"
|
||||
"dbo","View_生产订单_MES","69","报废数量","int","4","True"
|
||||
"dbo","View_生产订单_MES","70","计划数量订单","decimal","9","True"
|
||||
"dbo","View_生产订单_MES","71","排产状态","int","4","True"
|
||||
"dbo","View_生产订单_MES","72","自制件属性","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","73","二次派工","nvarchar","1000","True"
|
||||
"dbo","View_生产订单_MES","74","周转单打印次数","int","4","True"
|
||||
"dbo","View_生产订单_MES","75","外协打印次数","int","4","True"
|
||||
"dbo","View_生产订单_MES","76","单重","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","77","外协备注","nvarchar","1000","True"
|
||||
"dbo","View_生产订单_MES","78","齐套","float","8","True"
|
||||
"dbo","View_生产订单_MES","79","单据状态","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","80","生产工艺","int","4","True"
|
||||
"dbo","View_生产订单_MES","81","标准工艺","int","4","True"
|
||||
"dbo","View_生产订单_MES","82","Expr1","int","4","True"
|
||||
"dbo","View_生产订单_MES","83","指派对象编号","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","84","VisCode","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","85","发料状态","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","86","拣配状态","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","87","计划号","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","88","外协分组","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","89","加急数量","decimal","9","True"
|
||||
"dbo","View_生产订单_MES","90","发货状态","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","91","要求发货日期","datetime","8","True"
|
||||
"dbo","View_生产订单_MES","92","加急总数","decimal","9","True"
|
||||
"dbo","View_生产订单_MES","93","打印数量","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","94","入库数量","decimal","9","True"
|
||||
"dbo","View_生产订单_MES","95","worker","nvarchar","200","True"
|
||||
"dbo","View_生产订单_MES","96","本次检数","nvarchar","100","True"
|
||||
"dbo","View_生产订单_MES","97","任务概述","nvarchar","1000","True"
|
||||
"dbo","View_生产订单_MES","98","齐套时间","datetime","8","True"
|
||||
"dbo","View_生产订单_MES","99","派工时间","datetime","8","True"
|
||||
"dbo","View_生产订单_MES","100","钣金预达时间","datetime","8","True"
|
||||
"dbo","View_生产订单_MES","101","预计送检日期","datetime","8","True"
|
||||
"dbo","View_生产订单_MES","102","销售要求日期","datetime","8","True"
|
||||
"dbo","View_生产订单Temp_ERP","1","订单编号","int","4","False"
|
||||
"dbo","View_生产订单Temp_ERP","2","物料编号","nvarchar","40","False"
|
||||
"dbo","View_生产订单Temp_ERP","3","物料描述","nvarchar","200","False"
|
||||
"dbo","View_生产订单Temp_ERP","4","订单状态","nvarchar","40","False"
|
||||
"dbo","View_生产订单Temp_ERP","5","订单类型","nvarchar","40","False"
|
||||
"dbo","View_生产订单Temp_ERP","6","计划数量","numeric","9","False"
|
||||
"dbo","View_生产订单Temp_ERP","7","下达日期","date","3","False"
|
||||
"dbo","View_生产订单Temp_ERP","8","计划开始","date","3","False"
|
||||
"dbo","View_生产订单Temp_ERP","9","计划完成","date","3","False"
|
||||
"dbo","View_生产订单Temp_ERP","10","计量单位","nvarchar","40","False"
|
||||
"dbo","View_生产订单Temp_ERP","11","项目代码","nvarchar","40","False"
|
||||
"dbo","View_生产订单Temp_ERP","12","订单行号","int","4","True"
|
||||
"dbo","View_生产订单Temp_ERP","13","物料编码","nvarchar","100","True"
|
||||
"dbo","View_生产订单Temp_ERP","14","物料名称","nvarchar","400","True"
|
||||
"dbo","View_生产订单Temp_ERP","15","基本数量","numeric","9","True"
|
||||
"dbo","View_生产订单Temp_ERP","16","PlannedQuantity","numeric","9","True"
|
||||
"dbo","View_生产订单Temp_ERP","17","已发货数量","numeric","9","True"
|
||||
"dbo","View_生产订单Temp_ERP","18","仓库代码","nvarchar","100","True"
|
||||
"dbo","View_生产订单Temp_ERP","19","可视订单","int","4","True"
|
||||
"dbo","View_生产订单Temp_ERP","20","物料类型","nvarchar","100","True"
|
||||
"dbo","View_生产订单Temp_ERP","21","阶段标识","int","4","True"
|
||||
"dbo","View_生产订单Temp_ERP","22","行文本备注","nvarchar","400","True"
|
||||
"dbo","View_生产订单Temp_ERP","23","顺序编号","int","4","True"
|
||||
"dbo","View_生产订单Temp_ERP","24","阶段条目","int","4","True"
|
||||
"dbo","View_生产订单Temp_ERP","25","阶段名称","nvarchar","100","True"
|
||||
"dbo","View_生产订单Temp_ERP","26","开始时间___","datetime","8","True"
|
||||
"dbo","View_生产订单Temp_ERP","27","结束时间____","datetime","8","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","1","订单编号","int","4","False"
|
||||
"dbo","View_生产订单全部(包括已关闭)","2","合同号","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","3","订单拆分内码","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","4","订单类型","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","5","订单状态","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","6","物料编号","nvarchar","1000","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","7","物料描述","nvarchar","1000","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","8","工序计划数量","decimal","9","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","9","计量单位","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","10","下达日期","datetime","8","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","11","计划开始","datetime","8","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","12","计划完成","datetime","8","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","13","项目代码","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","14","备注","nvarchar","1000","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","15","重量","decimal","9","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","16","占用情况","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","17","加急状态","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","18","同步时间","datetime","8","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","19","订单行号","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","20","物料编码","nvarchar","1000","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","21","物料名称","nvarchar","1000","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","22","基本数量","decimal","9","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","23","计划数量","decimal","9","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","24","已发货数量","decimal","9","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","25","订单发货类型","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","26","仓库代码","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","27","可视订单","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","28","物料类型","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","29","阶段标识","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","30","工序名称","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","31","顺序编号","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","32","性质","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","33","总工时","decimal","9","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","34","行文本备注","nvarchar","1000","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","35","不装配","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","36","指派对象","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","37","指派数量","decimal","9","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","38","计划开始时间","datetime","8","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","39","计划完成时间","datetime","8","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","40","最晚开始时间","datetime","8","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","41","派工状态","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","42","派工时间","datetime","8","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","43","任务状态","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","44","修改时间","datetime","8","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","45","外协通知","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","46","优先级","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","47","未完成说明","nvarchar","1000","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","48","派工特殊说明","nvarchar","1000","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","49","最后编辑人","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","50","最后编辑时间","datetime","8","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","51","可执行","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","52","收料","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","53","收料数量","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","54","开工","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","55","首检","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","56","巡检","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","57","完成数量","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","58","进度","decimal","9","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","59","序检","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","60","测试","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","61","入库","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","62","TaskAID","bigint","8","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","63","加工状态","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","64","操作时间","datetime","8","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","65","开工时间","datetime","8","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","66","完工时间","datetime","8","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","67","合格数量","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","68","不合格数量","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","69","让步放行数量","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","70","报废数量","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","71","计划数量订单","decimal","9","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","72","排产状态","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","73","自制件属性","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","74","二次派工","nvarchar","1000","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","75","周转单打印次数","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","76","外协打印次数","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","77","单重","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","78","外协备注","nvarchar","1000","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","79","齐套","float","8","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","80","单据状态","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","81","生产工艺","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","82","标准工艺","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","83","Expr1","int","4","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","84","指派对象编号","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","85","VisCode","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","86","发料状态","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","87","拣配状态","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","88","计划号","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","89","外协分组","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","90","加急数量","decimal","9","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","91","发货状态","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","92","要求发货日期","datetime","8","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","93","加急总数","decimal","9","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","94","打印数量","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","95","入库数量","decimal","9","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","96","worker","nvarchar","200","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","97","本次检数","nvarchar","100","True"
|
||||
"dbo","View_生产订单全部(包括已关闭)","98","任务概述","nvarchar","1000","True"
|
||||
"dbo","View_生产订单完工","1","订单号","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","1","AID","int","4","False"
|
||||
"dbo","View_生产工时视图","2","操作类别编号","int","4","True"
|
||||
"dbo","View_生产工时视图","3","操作类别","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","4","阶段标识","int","4","True"
|
||||
"dbo","View_生产工时视图","5","工序名称","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","6","工位编号","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","7","工位名称","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","8","操作人","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","9","合同号","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","10","订单号","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","11","产品编码","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","12","产品名称","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","13","操作数值","int","4","True"
|
||||
"dbo","View_生产工时视图","14","操作内容","nvarchar","1000","True"
|
||||
"dbo","View_生产工时视图","15","操作描述","nvarchar","4000","True"
|
||||
"dbo","View_生产工时视图","16","TaskAID","bigint","8","True"
|
||||
"dbo","View_生产工时视图","17","开始时间","datetime","8","True"
|
||||
"dbo","View_生产工时视图","18","结束时间","datetime","8","True"
|
||||
"dbo","View_生产工时视图","19","加工工时","int","4","True"
|
||||
"dbo","View_生产工时视图","20","总时长","int","4","False"
|
||||
"dbo","View_生产工时视图","21","报工日期","date","3","True"
|
||||
"dbo","View_生产工时视图","22","已报工","int","4","True"
|
||||
"dbo","View_生产工时视图","23","不装配","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","24","已校验","int","4","False"
|
||||
"dbo","View_生产工时视图","25","最后编辑人","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","26","最后编辑时间","datetime","8","True"
|
||||
"dbo","View_生产工时视图","27","订单行号","int","4","True"
|
||||
"dbo","View_生产工时视图","28","顺序编号","int","4","True"
|
||||
"dbo","View_生产工时视图","29","VisCode","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","30","Expr1","int","4","True"
|
||||
"dbo","View_生产工时视图","31","计划数量","decimal","9","True"
|
||||
"dbo","View_生产工时视图","32","完成数量","int","4","True"
|
||||
"dbo","View_生产工时视图","33","自制件属性","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","34","订单合同号","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","35","入库数量","decimal","9","True"
|
||||
"dbo","View_生产工时视图","36","Expr2","decimal","9","True"
|
||||
"dbo","View_生产工时视图","37","单据状态","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","38","确认状态","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","39","绑定设备数","int","4","False"
|
||||
"dbo","View_生产工时视图","40","工序说明","nvarchar","1000","True"
|
||||
"dbo","View_生产工时视图","41","异常说明","nvarchar","1000","True"
|
||||
"dbo","View_生产工时视图","42","Expr3","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图","43","班次标准工时","int","4","False"
|
||||
"dbo","View_生产工时视图","44","当日班次最小标准工时","int","4","True"
|
||||
"dbo","View_生产工时视图","45","班次","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","1","AID","int","4","False"
|
||||
"dbo","View_生产工时视图全部","2","操作类别编号","int","4","True"
|
||||
"dbo","View_生产工时视图全部","3","操作类别","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","4","阶段标识","int","4","True"
|
||||
"dbo","View_生产工时视图全部","5","工序名称","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","6","工位编号","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","7","工位名称","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","8","操作人","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","9","合同号","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","10","订单号","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","11","产品编码","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","12","产品名称","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","13","操作数值","int","4","True"
|
||||
"dbo","View_生产工时视图全部","14","操作内容","nvarchar","1000","True"
|
||||
"dbo","View_生产工时视图全部","15","操作描述","nvarchar","4000","True"
|
||||
"dbo","View_生产工时视图全部","16","TaskAID","bigint","8","True"
|
||||
"dbo","View_生产工时视图全部","17","开始时间","datetime","8","True"
|
||||
"dbo","View_生产工时视图全部","18","结束时间","datetime","8","True"
|
||||
"dbo","View_生产工时视图全部","19","加工工时","int","4","True"
|
||||
"dbo","View_生产工时视图全部","20","总时长","int","4","False"
|
||||
"dbo","View_生产工时视图全部","21","报工日期","date","3","True"
|
||||
"dbo","View_生产工时视图全部","22","已报工","int","4","True"
|
||||
"dbo","View_生产工时视图全部","23","不装配","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","24","已校验","int","4","False"
|
||||
"dbo","View_生产工时视图全部","25","最后编辑人","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","26","最后编辑时间","datetime","8","True"
|
||||
"dbo","View_生产工时视图全部","27","订单行号","int","4","True"
|
||||
"dbo","View_生产工时视图全部","28","顺序编号","int","4","True"
|
||||
"dbo","View_生产工时视图全部","29","VisCode","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","30","Expr1","int","4","True"
|
||||
"dbo","View_生产工时视图全部","31","计划数量","decimal","9","True"
|
||||
"dbo","View_生产工时视图全部","32","完成数量","int","4","True"
|
||||
"dbo","View_生产工时视图全部","33","自制件属性","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","34","订单合同号","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","35","入库数量","decimal","9","True"
|
||||
"dbo","View_生产工时视图全部","36","Expr2","decimal","9","True"
|
||||
"dbo","View_生产工时视图全部","37","单据状态","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","38","确认状态","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","39","绑定设备数","int","4","False"
|
||||
"dbo","View_生产工时视图全部","40","工序说明","nvarchar","1000","True"
|
||||
"dbo","View_生产工时视图全部","41","异常说明","nvarchar","1000","True"
|
||||
"dbo","View_生产工时视图全部","42","Expr3","nvarchar","100","True"
|
||||
"dbo","View_生产工时视图全部","43","班次标准工时","int","4","False"
|
||||
"dbo","View_生产工时视图全部","44","当日班次最小标准工时","int","4","True"
|
||||
"dbo","View_生产工时视图全部","45","班次","nvarchar","100","True"
|
||||
"dbo","View_生产工艺视图","1","id","int","4","False"
|
||||
"dbo","View_生产工艺视图","2","零件图号","nvarchar","200","True"
|
||||
"dbo","View_生产工艺视图","3","工艺编号","int","4","True"
|
||||
"dbo","View_生产工艺视图","4","工艺顺序","int","4","True"
|
||||
"dbo","View_生产工艺视图","5","工艺要求","nvarchar","-1","True"
|
||||
"dbo","View_生产工艺视图","6","是否最后一序","tinyint","1","True"
|
||||
"dbo","View_生产工艺视图","7","订单编号","int","4","True"
|
||||
"dbo","View_生产工艺视图","8","计划数量","int","4","True"
|
||||
"dbo","View_生产工艺视图","9","准备工时","int","4","True"
|
||||
"dbo","View_生产工艺视图","10","标准工时","int","4","True"
|
||||
"dbo","View_生产工艺视图","11","工时合计","int","4","True"
|
||||
"dbo","View_生产工艺视图","12","工卡量具","nvarchar","400","True"
|
||||
"dbo","View_生产工艺视图","13","指定机床","nvarchar","400","True"
|
||||
"dbo","View_生产工艺视图","14","车间","nvarchar","400","True"
|
||||
"dbo","View_生产工艺视图","15","备注","nvarchar","1000","True"
|
||||
"dbo","View_生产工艺视图","16","启用","int","4","False"
|
||||
"dbo","View_生产工艺视图","17","零件名称","nvarchar","1000","True"
|
||||
"dbo","View_生产工艺视图","18","生产工艺","int","4","True"
|
||||
"dbo","View_生产工艺视图","19","周转单打印次数","int","4","True"
|
||||
"dbo","View_生产工艺视图","20","自制件属性","nvarchar","100","True"
|
||||
"dbo","View_生产工艺视图","21","任务状态","int","4","True"
|
||||
"dbo","View_生产工艺视图","22","计划号","nvarchar","100","True"
|
||||
"dbo","View_生产工艺视图","23","单据状态","nvarchar","100","True"
|
||||
"dbo","View_生产工艺视图","24","拣配状态","nvarchar","100","True"
|
||||
"dbo","View_生产计划零件图纸视图","1","AID","int","4","False"
|
||||
"dbo","View_生产计划零件图纸视图","2","订单编号","int","4","False"
|
||||
"dbo","View_生产计划零件图纸视图","3","合同号","nvarchar","100","True"
|
||||
"dbo","View_生产计划零件图纸视图","4","订单类型","nvarchar","100","True"
|
||||
"dbo","View_生产计划零件图纸视图","5","订单状态","nvarchar","100","True"
|
||||
"dbo","View_生产计划零件图纸视图","6","物料编号","nvarchar","1000","True"
|
||||
"dbo","View_生产计划零件图纸视图","7","物料描述","nvarchar","1000","True"
|
||||
"dbo","View_生产计划零件图纸视图","8","计划数量","decimal","9","True"
|
||||
"dbo","View_生产计划零件图纸视图","9","计量单位","nvarchar","100","True"
|
||||
"dbo","View_生产计划零件图纸视图","10","下达日期","datetime","8","True"
|
||||
"dbo","View_生产计划零件图纸视图","11","计划开始","datetime","8","True"
|
||||
"dbo","View_生产计划零件图纸视图","12","计划完成","datetime","8","True"
|
||||
"dbo","View_生产计划零件图纸视图","13","项目代码","nvarchar","100","True"
|
||||
"dbo","View_生产计划零件图纸视图","14","备注","nvarchar","1000","True"
|
||||
"dbo","View_生产计划零件图纸视图","15","重量","decimal","9","True"
|
||||
"dbo","View_生产计划零件图纸视图","16","占用情况","nvarchar","100","True"
|
||||
"dbo","View_生产计划零件图纸视图","17","加急状态","int","4","True"
|
||||
"dbo","View_生产计划零件图纸视图","18","排产状态","int","4","True"
|
||||
"dbo","View_生产计划零件图纸视图","19","排产时间","datetime","8","True"
|
||||
"dbo","View_生产计划零件图纸视图","20","同步时间","datetime","8","True"
|
||||
"dbo","View_生产计划零件图纸视图","21","任务状态","int","4","True"
|
||||
"dbo","View_生产计划零件图纸视图","22","标准工艺","int","4","True"
|
||||
"dbo","View_生产计划零件图纸视图","23","生产工艺","int","4","True"
|
||||
"dbo","View_生产计划零件图纸视图","24","齐套","float","8","True"
|
||||
"dbo","View_生产计划零件图纸视图","25","自制件属性","nvarchar","100","True"
|
||||
"dbo","View_生产计划零件图纸视图","26","周转单打印次数","int","4","True"
|
||||
"dbo","View_生产计划零件图纸视图","27","单据状态","nvarchar","100","True"
|
||||
"dbo","View_生产计划零件图纸视图","28","预计齐套时间","datetime","8","True"
|
||||
"dbo","View_生产计划零件图纸视图","29","发料状态","nvarchar","100","True"
|
||||
"dbo","View_生产计划零件图纸视图","30","拣配状态","nvarchar","100","True"
|
||||
"dbo","View_生产计划零件图纸视图","31","计划号","nvarchar","100","True"
|
||||
"dbo","View_生产计划零件图纸视图","32","加急数量","decimal","9","True"
|
||||
"dbo","View_生产计划零件图纸视图","33","发货状态","nvarchar","100","True"
|
||||
"dbo","View_生产计划零件图纸视图","34","要求发货日期","datetime","8","True"
|
||||
"dbo","View_生产计划零件图纸视图","35","加急总数","decimal","9","True"
|
||||
"dbo","View_生产计划零件图纸视图","36","入库数量","decimal","9","True"
|
||||
"dbo","View_生产计划零件图纸视图","37","worker","nvarchar","200","False"
|
||||
"dbo","View_图纸视图","1","id","int","4","False"
|
||||
"dbo","View_图纸视图","2","num","nvarchar","200","False"
|
||||
"dbo","View_图纸视图","3","uid","nvarchar","200","True"
|
||||
"dbo","View_图纸视图","4","name","nvarchar","200","True"
|
||||
"dbo","View_图纸视图","5","suffix","nvarchar","100","True"
|
||||
"dbo","View_图纸视图","6","是否启用","int","4","True"
|
||||
"dbo","View_图纸视图","7","worker","nvarchar","200","True"
|
||||
"dbo","View_图纸视图","8","uploadTime","nvarchar","200","True"
|
||||
"dbo","View_图纸视图","9","物料描述","ntext","16","True"
|
||||
"dbo","View_图纸视图","10","U_BuyToPrint","nvarchar","20","True"
|
||||
"dbo","View_外协报表视图","1","计划号","nvarchar","100","True"
|
||||
"dbo","View_外协报表视图","2","加急总数","decimal","9","True"
|
||||
"dbo","View_外协报表视图","3","拣配状态","nvarchar","100","True"
|
||||
"dbo","View_外协报表视图","4","自制件属性","nvarchar","100","True"
|
||||
"dbo","View_外协报表视图","5","入库数量","decimal","9","True"
|
||||
"dbo","View_外协报表视图","6","任务状态","varchar","6","False"
|
||||
"dbo","View_外协报表视图","7","加工状态","varchar","8","False"
|
||||
"dbo","View_外协报表视图","8","计划数量订单","decimal","9","True"
|
||||
"dbo","View_外协报表视图","9","进度","decimal","9","False"
|
||||
"dbo","View_外协报表视图","10","TaskAID","bigint","8","True"
|
||||
"dbo","View_外协报表视图","11","合同号","nvarchar","100","True"
|
||||
"dbo","View_外协报表视图","12","订单号","int","4","False"
|
||||
"dbo","View_外协报表视图","13","订单行号","int","4","True"
|
||||
"dbo","View_外协报表视图","14","产品编码","nvarchar","1000","True"
|
||||
"dbo","View_外协报表视图","15","产品名称","nvarchar","1000","True"
|
||||
"dbo","View_外协报表视图","16","计划数量","varchar","30","True"
|
||||
"dbo","View_外协报表视图","17","要求完工日期","datetime","8","True"
|
||||
"dbo","View_外协报表视图","18","工序名称","nvarchar","100","True"
|
||||
"dbo","View_外协报表视图","19","完成数量","int","4","True"
|
||||
"dbo","View_外协报表视图","20","收料数量","int","4","True"
|
||||
"dbo","View_外协报表视图","21","加急状态","varchar","4","False"
|
||||
"dbo","View_外协报表视图","22","加急数量","decimal","9","True"
|
||||
"dbo","View_外协报表视图","23","工序计划数量","decimal","9","True"
|
||||
"dbo","View_外协报表视图","24","指派对象","nvarchar","100","True"
|
||||
"dbo","View_外协报表视图","25","指派数量","varchar","30","True"
|
||||
"dbo","View_外协报表视图","26","计划开始时间","datetime","8","True"
|
||||
"dbo","View_外协报表视图","27","计划完成时间","datetime","8","True"
|
||||
"dbo","View_外协报表视图","28","最晚开始时间","datetime","8","True"
|
||||
"dbo","View_外协报表视图","29","派工状态","int","4","True"
|
||||
"dbo","View_外协报表视图","30","优先级","nvarchar","100","True"
|
||||
"dbo","View_外协报表视图","31","未完成说明","nvarchar","1000","True"
|
||||
"dbo","View_外协报表视图","32","派工特殊说明","nvarchar","1000","True"
|
||||
"dbo","View_外协报表视图","33","最后编辑人","nvarchar","100","True"
|
||||
"dbo","View_外协报表视图","34","最后编辑时间","datetime","8","True"
|
||||
"dbo","View_外协报表视图","35","收检合格数","decimal","17","False"
|
||||
"dbo","View_外协报表视图","36","收检不合格数","decimal","17","False"
|
||||
"dbo","View_外协报表视图","37","收检总数","decimal","17","True"
|
||||
"dbo","View_外协报表视图","38","开始时间","datetime","8","False"
|
||||
"dbo","View_外协报表视图","39","结束时间","datetime","8","False"
|
||||
"dbo","View_外协报表视图","40","外协结束时间","datetime","8","False"
|
||||
"dbo","View_外协报表视图","41","开工时间","datetime","8","True"
|
||||
"dbo","View_外协报表视图","42","拆分内码","int","4","True"
|
||||
"dbo","View_外协报表视图","43","外协分组","nvarchar","100","True"
|
||||
"dbo","View_外协报表视图","44","含税行总计","numeric","9","True"
|
||||
"dbo","View_外协报表视图","45","含税单价","numeric","9","True"
|
||||
"dbo","View_外协报表视图","46","未税行总计","numeric","9","True"
|
||||
"dbo","View_外协报表视图","47","未税单价","numeric","9","True"
|
||||
"dbo","View_外协报表视图","48","供应商名称","nvarchar","400","True"
|
||||
"dbo","View_外协报表视图","49","采购预计到货日期","datetime","8","True"
|
||||
"dbo","View_外协报表视图","50","开票数量","numeric","17","True"
|
||||
"dbo","View_外协报表视图","51","材质","ntext","16","True"
|
||||
"dbo","View_外协报表视图","52","发料数量合计","int","4","False"
|
||||
"dbo","View_外协报表视图","53","收料数量_报工","int","4","False"
|
||||
"dbo","View_外协质检","1","QT_AID","bigint","8","False"
|
||||
"dbo","View_外协质检","2","TaskAID","bigint","8","True"
|
||||
"dbo","View_外协质检","3","检测类型编号","int","4","True"
|
||||
"dbo","View_外协质检","4","质检类型","nvarchar","100","True"
|
||||
"dbo","View_外协质检","5","零件编码","nvarchar","400","True"
|
||||
"dbo","View_外协质检","6","零件名称","nvarchar","400","True"
|
||||
"dbo","View_外协质检","7","内部合同号","nvarchar","200","True"
|
||||
"dbo","View_外协质检","8","计划号","int","4","True"
|
||||
"dbo","View_外协质检","9","工序名称","nvarchar","200","True"
|
||||
"dbo","View_外协质检","10","计划生产数","int","4","True"
|
||||
"dbo","View_外协质检","11","检验数量","decimal","9","True"
|
||||
"dbo","View_外协质检","12","合格数","decimal","9","True"
|
||||
"dbo","View_外协质检","13","不合格数","decimal","9","True"
|
||||
"dbo","View_外协质检","14","检测人","nvarchar","100","True"
|
||||
"dbo","View_外协质检","15","检测时间","datetime","8","True"
|
||||
"dbo","View_外协质检","16","检测说明","nvarchar","4000","True"
|
||||
"dbo","View_外协质检","17","行号","int","4","True"
|
||||
"dbo","View_外协质检","18","订单类型","nvarchar","100","True"
|
||||
"dbo","View_外协质检","19","到货数","decimal","9","True"
|
||||
"dbo","View_外协质检","20","指派对象","nvarchar","100","True"
|
||||
"dbo","View_校验后的生产工时","1","AID","int","4","False"
|
||||
"dbo","View_校验后的生产工时","2","操作类别编号","int","4","True"
|
||||
"dbo","View_校验后的生产工时","3","操作类别","nvarchar","100","True"
|
||||
"dbo","View_校验后的生产工时","4","阶段标识","int","4","True"
|
||||
"dbo","View_校验后的生产工时","5","工序名称","nvarchar","100","True"
|
||||
"dbo","View_校验后的生产工时","6","工位编号","nvarchar","100","True"
|
||||
"dbo","View_校验后的生产工时","7","工位名称","nvarchar","100","True"
|
||||
"dbo","View_校验后的生产工时","8","操作人","nvarchar","100","True"
|
||||
"dbo","View_校验后的生产工时","9","合同号","nvarchar","100","True"
|
||||
"dbo","View_校验后的生产工时","10","订单号","nvarchar","100","True"
|
||||
"dbo","View_校验后的生产工时","11","产品编码","nvarchar","100","True"
|
||||
"dbo","View_校验后的生产工时","12","产品名称","nvarchar","100","True"
|
||||
"dbo","View_校验后的生产工时","13","操作数值","int","4","True"
|
||||
"dbo","View_校验后的生产工时","14","操作内容","nvarchar","1000","True"
|
||||
"dbo","View_校验后的生产工时","15","操作描述","nvarchar","4000","True"
|
||||
"dbo","View_校验后的生产工时","16","TaskAID","bigint","8","True"
|
||||
"dbo","View_校验后的生产工时","17","开始时间","datetime","8","True"
|
||||
"dbo","View_校验后的生产工时","18","结束时间","datetime","8","True"
|
||||
"dbo","View_校验后的生产工时","19","加工工时","int","4","True"
|
||||
"dbo","View_校验后的生产工时","20","总时长","int","4","False"
|
||||
"dbo","View_校验后的生产工时","21","报工日期","date","3","True"
|
||||
"dbo","View_校验后的生产工时","22","已报工","int","4","True"
|
||||
"dbo","View_校验后的生产工时","23","不装配","nvarchar","100","True"
|
||||
"dbo","View_校验后的生产工时","24","已校验","int","4","False"
|
||||
"dbo","View_校验后的生产工时","25","最后编辑人","nvarchar","100","True"
|
||||
"dbo","View_校验后的生产工时","26","最后编辑时间","datetime","8","True"
|
||||
"dbo","View_校验后的生产工时","27","订单行号","int","4","True"
|
||||
"dbo","View_校验后的生产工时","28","顺序编号","int","4","True"
|
||||
"dbo","View_校验后的生产工时","29","VisCode","nvarchar","100","True"
|
||||
"dbo","View_校验后的生产工时","30","Expr1","int","4","True"
|
||||
"dbo","View_校验后的生产工时","31","计划数量","decimal","9","True"
|
||||
"dbo","View_校验后的生产工时","32","完成数量","int","4","True"
|
||||
"dbo","View_校验后的生产工时","33","自制件属性","nvarchar","100","True"
|
||||
"dbo","View_校验后的生产工时","34","订单合同号","nvarchar","100","True"
|
||||
"dbo","View_账号权限信息","1","Expr1","nvarchar","100","False"
|
||||
"dbo","View_账号权限信息","2","password","nvarchar","100","True"
|
||||
"dbo","View_账号权限信息","3","Personnel_Name","nvarchar","100","False"
|
||||
"dbo","View_账号权限信息","4","title","varchar","100","True"
|
||||
"dbo","View_账号权限信息","5","Roles_Function","nvarchar","100","False"
|
||||
"dbo","View_质检明细","1","质检类型","nvarchar","100","True"
|
||||
"dbo","View_质检明细","2","零件编码","nvarchar","400","True"
|
||||
"dbo","View_质检明细","3","零件名称","nvarchar","400","True"
|
||||
"dbo","View_质检明细","4","计划号","int","4","True"
|
||||
"dbo","View_质检明细","5","工序名称","nvarchar","200","True"
|
||||
"dbo","View_质检明细","6","检验数量","decimal","9","True"
|
||||
"dbo","View_质检明细","7","合格数","decimal","9","True"
|
||||
"dbo","View_质检明细","8","不合格数","decimal","9","True"
|
||||
"dbo","View_质检明细","9","检测人","nvarchar","100","True"
|
||||
"dbo","View_质检明细","10","检测时间","datetime","8","True"
|
||||
"dbo","View_质检明细","11","检测说明","nvarchar","4000","True"
|
||||
"dbo","View_质检明细","12","订单类型","nvarchar","100","True"
|
||||
"dbo","View_质检明细","13","放行数量","int","4","False"
|
||||
"dbo","View_质检明细","14","工位名称","nvarchar","100","True"
|
||||
"dbo","View_质检明细","15","QT_AID","bigint","8","False"
|
||||
"dbo","View_质检明细","16","内部合同号","nvarchar","100","True"
|
||||
"dbo","View_质量检验_不合格品处理","1","FlowAID","int","4","False"
|
||||
"dbo","View_质量检验_不合格品处理","2","TaskAID","int","4","True"
|
||||
"dbo","View_质量检验_不合格品处理","3","不合格数量","int","4","True"
|
||||
"dbo","View_质量检验_不合格品处理","4","申请让步放行","int","4","True"
|
||||
"dbo","View_质量检验_不合格品处理","5","申请内容","nvarchar","4000","True"
|
||||
"dbo","View_质量检验_不合格品处理","6","发起人ID","int","4","True"
|
||||
"dbo","View_质量检验_不合格品处理","7","发起时间","datetime","8","True"
|
||||
"dbo","View_质量检验_不合格品处理","8","结束时间","datetime","8","True"
|
||||
"dbo","View_质量检验_不合格品处理","9","FlowNodeID","int","4","False"
|
||||
"dbo","View_质量检验_不合格品处理","10","处理人ID","int","4","True"
|
||||
"dbo","View_质量检验_不合格品处理","11","接收时间","datetime","8","True"
|
||||
"dbo","View_质量检验_不合格品处理","12","完成时间","datetime","8","True"
|
||||
"dbo","View_质量检验_不合格品处理","13","让步放行数量","int","4","True"
|
||||
"dbo","View_质量检验_不合格品处理","14","处理意见","nvarchar","4000","True"
|
||||
"dbo","View_质量检验_质检记录","1","Expr1","bigint","8","False"
|
||||
"dbo","View_质量检验_质检记录","2","Expr2","bigint","8","True"
|
||||
"dbo","View_质量检验_质检记录","3","Expr3","int","4","True"
|
||||
"dbo","View_质量检验_质检记录","4","Expr4","nvarchar","100","True"
|
||||
"dbo","View_质量检验_质检记录","5","Expr5","nvarchar","400","True"
|
||||
"dbo","View_质量检验_质检记录","6","Expr6","nvarchar","400","True"
|
||||
"dbo","View_质量检验_质检记录","7","Expr7","nvarchar","200","True"
|
||||
"dbo","View_质量检验_质检记录","8","Expr8","int","4","True"
|
||||
"dbo","View_质量检验_质检记录","9","Expr9","nvarchar","200","True"
|
||||
"dbo","View_质量检验_质检记录","10","Expr10","int","4","True"
|
||||
"dbo","View_质量检验_质检记录","11","Expr11","decimal","9","True"
|
||||
"dbo","View_质量检验_质检记录","12","Expr12","decimal","9","True"
|
||||
"dbo","View_质量检验_质检记录","13","Expr13","decimal","9","True"
|
||||
"dbo","View_质量检验_质检记录","14","Expr14","nvarchar","100","True"
|
||||
"dbo","View_质量检验_质检记录","15","Expr15","datetime","8","True"
|
||||
"dbo","View_质量检验_质检记录","16","Expr16","nvarchar","4000","True"
|
||||
"dbo","View_质量检验_质检记录","17","Expr17","int","4","True"
|
||||
"dbo","View_质量检验_质检记录","18","Expr18","nvarchar","100","True"
|
||||
"dbo","View_质量检验_质检记录","19","QT_AID","bigint","8","False"
|
||||
"dbo","View_质量检验_质检记录","20","TaskAID","bigint","8","True"
|
||||
"dbo","View_质量检验_质检记录","21","检测类型编号","int","4","True"
|
||||
"dbo","View_质量检验_质检记录","22","质检类型","nvarchar","100","True"
|
||||
"dbo","View_质量检验_质检记录","23","零件编码","nvarchar","400","True"
|
||||
"dbo","View_质量检验_质检记录","24","零件名称","nvarchar","400","True"
|
||||
"dbo","View_质量检验_质检记录","25","内部合同号","nvarchar","200","True"
|
||||
"dbo","View_质量检验_质检记录","26","计划号","int","4","True"
|
||||
"dbo","View_质量检验_质检记录","27","工序名称","nvarchar","200","True"
|
||||
"dbo","View_质量检验_质检记录","28","计划生产数","int","4","True"
|
||||
"dbo","View_质量检验_质检记录","29","检验数量","decimal","9","True"
|
||||
"dbo","View_质量检验_质检记录","30","合格数","decimal","9","True"
|
||||
"dbo","View_质量检验_质检记录","31","不合格数","decimal","9","True"
|
||||
"dbo","View_质量检验_质检记录","32","检测人","nvarchar","100","True"
|
||||
"dbo","View_质量检验_质检记录","33","检测时间","datetime","8","True"
|
||||
"dbo","View_质量检验_质检记录","34","检测说明","nvarchar","4000","True"
|
||||
"dbo","View_质量检验_质检记录","35","行号","int","4","True"
|
||||
"dbo","View_质量检验_质检记录","36","订单类型","nvarchar","100","True"
|
||||
"dbo","View_质量检验_质检记录","37","到货数","decimal","9","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","1","Expr1","bigint","8","False"
|
||||
"dbo","View_质量检验_质检记录_外协收检","2","Expr2","bigint","8","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","3","Expr3","int","4","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","4","Expr4","nvarchar","100","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","5","Expr5","nvarchar","400","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","6","Expr6","nvarchar","400","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","7","Expr7","nvarchar","200","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","8","Expr8","int","4","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","9","Expr9","nvarchar","200","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","10","Expr10","int","4","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","11","Expr11","decimal","9","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","12","Expr12","decimal","9","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","13","Expr13","decimal","9","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","14","Expr14","nvarchar","100","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","15","Expr15","datetime","8","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","16","Expr16","nvarchar","4000","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","17","Expr17","int","4","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","18","Expr18","nvarchar","100","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","19","QT_AID","bigint","8","False"
|
||||
"dbo","View_质量检验_质检记录_外协收检","20","TaskAID","bigint","8","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","21","检测类型编号","int","4","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","22","质检类型","nvarchar","100","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","23","零件编码","nvarchar","400","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","24","零件名称","nvarchar","400","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","25","内部合同号","nvarchar","200","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","26","计划号","int","4","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","27","工序名称","nvarchar","200","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","28","计划生产数","int","4","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","29","检验数量","decimal","9","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","30","合格数","decimal","9","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","31","不合格数","decimal","9","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","32","检测人","nvarchar","100","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","33","检测时间","datetime","8","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","34","检测说明","nvarchar","4000","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","35","行号","int","4","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","36","订单类型","nvarchar","100","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","37","到货数","decimal","9","True"
|
||||
"dbo","View_质量检验_质检记录_外协收检","38","指派对象","nvarchar","100","True"
|
||||
"dbo","View_终检状态","1","计划号","int","4","True"
|
||||
"dbo","View_装配信息","1","送检数","int","4","True"
|
||||
"dbo","View_装配信息","2","质检合格数","decimal","17","True"
|
||||
"dbo","View_装配信息","3","订单编号","int","4","False"
|
||||
"dbo","登录基础数据_管理人员权限视图","1","Roles_number","int","4","False"
|
||||
"dbo","登录基础数据_管理人员权限视图","2","Roles_Function","nvarchar","100","False"
|
||||
"dbo","登录基础数据_管理人员权限视图","3","Personnel_Number","int","4","False"
|
||||
"dbo","登录基础数据_管理人员权限视图","4","account","nvarchar","100","False"
|
||||
"dbo","登录基础数据_管理人员权限视图","5","password","nvarchar","100","True"
|
||||
"dbo","登录基础数据_管理人员权限视图","6","Personnel_Name","nvarchar","100","False"
|
||||
"dbo","登录基础数据_管理人员权限视图","7","Departments_ID","int","4","True"
|
||||
"dbo","登录基础数据_管理人员权限视图","8","Quit","int","4","True"
|
||||
"dbo","登录基础数据_管理人员权限视图","9","部门名称","nvarchar","100","True"
|
||||
"dbo","登录基础数据_管理人员权限视图","10","OrgUnit","int","4","True"
|
||||
"dbo","登录基础数据_管理人员权限视图","11","班组","nvarchar","100","True"
|
||||
"dbo","计划任务视图","1","工艺编号","int","4","True"
|
||||
"dbo","计划任务视图","2","订单编号","int","4","False"
|
||||
"dbo","计划任务视图","3","物料名称","nvarchar","1000","True"
|
||||
|
15
work/frontend_calls_missing_db_procedure_20260725.csv
Normal file
@@ -0,0 +1,15 @@
|
||||
"Procedure","CallCount","CreateDataTypes","SourceFiles"
|
||||
"查询零件号","1","11","src/views/QualityManagement/QualityStandardQuery/index copy.vue"
|
||||
"产品关系_变更节点排序","1","12","src/views/CraftManagement/CraftMaintain/index.vue"
|
||||
"登录基础数据_人员信息_切换是否用户","1","12","src/views/SystemMaintenance/PersonnelManagement/index.vue"
|
||||
"Prog_MES_SingleTaskPlanned","1","12","src/views/ProductionManagement/ProductionTaskManage/index.vue"
|
||||
"WEB_报警查询_未读报警记录_查询","1","11","src/views/layout/components/Navbar.vue"
|
||||
"WEB_报警查询_未读报警记录_未读条数查询","1","11","src/views/layout/components/Navbar.vue"
|
||||
"WEB_基本表_产品结构_查询","1","11","src/views/CraftManagement/CraftMaintain/index.vue"
|
||||
"WEB_基本表_产品结构_删除","1","11","src/views/CraftManagement/CraftMaintain/index.vue"
|
||||
"WEB_基本表_产品结构_新增","1","11","src/views/CraftManagement/CraftMaintain/index.vue"
|
||||
"WEB_基本表_产品结构_修改","1","11","src/views/CraftManagement/CraftMaintain/index.vue"
|
||||
"WEB_人员设备查看权限_查询","1","11","src/views/SystemMaintenance/PersonnelManagement/index.vue"
|
||||
"WEB_人员设备查看权限_权限切换","1","12","src/views/SystemMaintenance/PersonnelManagement/index.vue"
|
||||
"WEB_人员摄像头查看权限_权限切换","1","12","src/views/SystemMaintenance/PersonnelManagement/index.vue"
|
||||
"WEB_摄像头查看权限_查询","1","11","src/views/SystemMaintenance/PersonnelManagement/index.vue"
|
||||
|
19
work/frontend_function_scan_summary_20260725.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"sourceFiles": 185,
|
||||
"vueFiles": 108,
|
||||
"jsFiles": 77,
|
||||
"totalCreateDataCalls": 772,
|
||||
"literalCreateDataCalls": 766,
|
||||
"dynamicCreateDataCalls": 6,
|
||||
"uniqueLiteralProcedures": 281,
|
||||
"b1": {
|
||||
"get": 18,
|
||||
"post": 20,
|
||||
"patch": 18
|
||||
},
|
||||
"tm": {
|
||||
"get": 1,
|
||||
"post": 7,
|
||||
"patch": 1
|
||||
}
|
||||
}
|
||||
468
work/frontend_procedure_call_inventory_20260725.csv
Normal file
@@ -0,0 +1,468 @@
|
||||
"Procedure","CallCount","CreateDataTypes","SourceFiles"
|
||||
"菜单系统模块_项目角色_查询数据_MESWORK","3","11","src/views/SystemMaintenance/MenuManagement/index.vue|src/views/SystemMaintenance/OrgManagement/index.vue|src/views/SystemMaintenance/SystemRrolemaintenance/index.vue"
|
||||
"菜单系统模块_项目角色_删除_MESWORK","2","11","src/views/SystemMaintenance/OrgManagement/index.vue|src/views/SystemMaintenance/SystemRrolemaintenance/index.vue"
|
||||
"菜单系统模块_项目角色_修改数据_MESWORK","2","11","src/views/SystemMaintenance/OrgManagement/index.vue|src/views/SystemMaintenance/SystemRrolemaintenance/index.vue"
|
||||
"菜单系统模块_项目角色_增加_MESWORK","2","11","src/views/SystemMaintenance/OrgManagement/index.vue|src/views/SystemMaintenance/SystemRrolemaintenance/index.vue"
|
||||
"查询零件号","1","11","src/views/QualityManagement/QualityStandardQuery/index copy.vue"
|
||||
"查询字典","11","11","src/views/AnomalousManagement/PunctualWork/index.vue|src/views/DeviceManagement/DeviceInformation/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/QualityManagement/CheckTask/OtherInbound.vue|src/views/QualityManagement/CheckTask/final.vue|src/views/QualityManagement/CheckTask/materialReturn.vue|src/views/QualityManagement/CheckTask/processReceive.vue|src/views/QualityManagement/CheckTask/purchaseIncoming.vue|src/views/QualityManagement/CheckTask/salesReturn.vue|src/views/QualityManagement/QualityStandardQuery/index copy.vue|src/views/QualityManagement/QualityStandardQuery/index.vue"
|
||||
"产品关系_变更节点排序","1","12","src/views/CraftManagement/CraftMaintain/index.vue"
|
||||
"车间生产管理工艺_零件工序_保存为标准工艺","1","12","src/views/ProcessManagement/ProcessProduct/index.vue"
|
||||
"车间生产管理工艺_零件工序_编辑_工艺库","1","11","src/views/ProcessManagement/ProcessesDevelop/index.vue"
|
||||
"车间生产管理工艺_零件工序_编辑插入行","1","11","src/views/ProcessManagement/ProcessesDevelop/index.vue"
|
||||
"车间生产管理工艺_零件工序_插入工序_工艺库","1","11","src/views/ProcessManagement/ProcessesDevelop/index.vue"
|
||||
"车间生产管理工艺_零件工序_查询工序信息_工艺库","7","11","src/views/ProcessManagement/ProcessesDevelop/index.vue"
|
||||
"车间生产管理工艺_零件工序_启用","1","11","src/views/ProcessManagement/ProcessesDevelop/index.vue"
|
||||
"车间生产管理工艺_零件工序_删除工序_工艺库","1","11","src/views/ProcessManagement/ProcessesDevelop/index.vue"
|
||||
"车间生产管理工艺_零件工序_上移工序_工艺库","1","11","src/views/ProcessManagement/ProcessesDevelop/index.vue"
|
||||
"车间生产管理工艺_零件工序_下移工序_工艺库","1","11","src/views/ProcessManagement/ProcessesDevelop/index.vue"
|
||||
"车间生产管理工艺_零件工序_修改数据_工艺库","1","11","src/views/ProcessManagement/ProcessesDevelop/index.vue"
|
||||
"登录基础数据_人员信息_登陆检查密码","1","11","src/views/layout/components/Navbar.vue"
|
||||
"登录基础数据_人员信息_切换是否用户","1","12","src/views/SystemMaintenance/PersonnelManagement/index.vue"
|
||||
"登录基础数据_人员信息_修改密码","1","11","src/views/layout/components/Navbar.vue"
|
||||
"工时统计_任务工时_查询","1","11","src/views/ProductionManagement/Timesheet/index.vue"
|
||||
"工时统计_设备工时_查询","1","11","src/views/ProductionManagement/Timesheet/index.vue"
|
||||
"工时统计_项目工时_查询","1","11","src/views/ProductionManagement/Timesheet/index.vue"
|
||||
"工时统计_作业者工时_查询","1","11","src/views/ProductionManagement/Timesheet/index.vue"
|
||||
"工时校验_保存校验记录","6","11","src/views/ProductionManagement/WorkHoursCheck/index - 副本 (2).vue|src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue|src/views/ProductionManagement/WorkHoursCheck/index.vue|src/views/ProductionManagement/WorkhoursEdit/index.vue"
|
||||
"工时校验_获取操作记录列表","1","11","src/views/ProductionManagement/WorkhoursEdit/index.vue"
|
||||
"工时校验_获取操作人当天报工记录","2","11","src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue"
|
||||
"工时校验_获取订单工序","13","11","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/OutsourceSheet/index.vue|src/views/ProductionManagement/WorkHoursCheck/index - 副本 (2).vue|src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue|src/views/ProductionManagement/WorkHoursCheck/index.vue|src/views/ProductionManagement/WorkhoursEdit/index.vue|src/views/QualityManagement/QualityCenter/index.vue|src/views/QualityManagement/QualityDetails/index.vue"
|
||||
"工时校验_获取订单列表","9","11","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/OutsourceSheet/index.vue|src/views/ProductionManagement/WorkHoursCheck/index - 副本 (2).vue|src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue|src/views/ProductionManagement/WorkHoursCheck/index.vue|src/views/ProductionManagement/WorkhoursEdit/index.vue|src/views/QualityManagement/QualityCenter/index.vue|src/views/QualityManagement/QualityDetails/index.vue"
|
||||
"工时校验_获取工序和指派对象","1","11","src/views/QualityManagement/CheckTask/final.vue"
|
||||
"工时校验_获取设备数据","4","11","src/views/ProductionManagement/WorkHoursCheck/index - 副本 (2).vue|src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue|src/views/ProductionManagement/WorkHoursCheck/index.vue|src/views/ProductionManagement/WorkhoursEdit/index.vue"
|
||||
"工时校验_获取资源","3","11","src/views/ProductionManagement/WorkHoursCheck/index - 副本 (2).vue|src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue|src/views/ProductionManagement/WorkHoursCheck/index.vue"
|
||||
"工时校验_获取昨日之前操作记录列表","3","11","src/views/ProductionManagement/WorkHoursCheck/index - 副本 (2).vue|src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue|src/views/ProductionManagement/WorkHoursCheck/index.vue"
|
||||
"工时校验_批量保存校验记录","10","11","src/views/ProductionManagement/WorkHoursCheck/index - 副本 (2).vue|src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue|src/views/ProductionManagement/WorkHoursCheck/index.vue"
|
||||
"工时校验_新增操作记录","4","11","src/views/ProductionManagement/WorkHoursCheck/index - 副本 (2).vue|src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue|src/views/ProductionManagement/WorkHoursCheck/index.vue|src/views/ProductionManagement/WorkhoursEdit/index.vue"
|
||||
"工艺管理_工艺查询_查询生产工艺","1","11","src/views/ProcessManagement/ProcessInquiry/index.vue"
|
||||
"工艺管理_工艺查询_更新打印次数","1","11","src/views/ProcessManagement/ProcessInquiry/index.vue"
|
||||
"工艺管理_工艺任务_订单查询","1","11","src/views/ProcessManagement/ProductionOrder/index.vue"
|
||||
"工艺管理_工艺维护_查看图纸","13","11","src/views/PlanManagement/SelfMakePlando/index.vue|src/views/ProcessManagement/ProcessDrawing/index.vue|src/views/ProcessManagement/ProcessProduct/index.vue|src/views/ProcessManagement/ProcessesDevelop/index.vue|src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/OutsourceMange/index.vue|src/views/ProductionManagement/SaleOutsourceMange/index.vue|src/views/QualityManagement/CheckTask/OtherInbound.vue|src/views/QualityManagement/CheckTask/processReceive.vue|src/views/QualityManagement/CheckTask/salesReturn.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"工艺管理_工艺维护_工艺图查询","3","11","src/views/ProcessManagement/ProcessDrawing/index.vue"
|
||||
"工艺管理_工艺维护_删除图纸","1","12","src/views/ProcessManagement/ProcessDrawing/index.vue"
|
||||
"工艺管理_工艺维护_验证名称","1","11","src/views/ProcessManagement/ProcessDrawing/index.vue"
|
||||
"工艺管理_获取物料原料信息","6","11","src/views/PlanManagement/SelfMakePlando/index.vue|src/views/PlanManagement/SelfMakePlandone/index.vue|src/views/PlanManagement/WorkstationPlan/index.vue|src/views/ProcessManagement/ProcessInquiry/index.vue|src/views/ProcessManagement/ProcessProduct/index.vue|src/views/ProcessManagement/ProcessesDevelop/index.vue"
|
||||
"工艺管理_零件工序_生产工艺_编辑","1","11","src/views/ProcessManagement/ProcessProduct/index.vue"
|
||||
"工艺管理_零件工序_生产工艺_编辑插入工序","1","11","src/views/ProcessManagement/ProcessProduct/index.vue"
|
||||
"工艺管理_零件工序_生产工艺_插入工序","1","11","src/views/ProcessManagement/ProcessProduct/index.vue"
|
||||
"工艺管理_零件工序_生产工艺_批量生成生产工艺","1","12","src/views/ProcessManagement/ProcessProduct/index.vue"
|
||||
"工艺管理_零件工序_生产工艺_删除工序","1","11","src/views/ProcessManagement/ProcessProduct/index.vue"
|
||||
"工艺管理_零件工序_生产工艺_上移工序","1","11","src/views/ProcessManagement/ProcessProduct/index.vue"
|
||||
"工艺管理_零件工序_生产工艺_下移工序","1","11","src/views/ProcessManagement/ProcessProduct/index.vue"
|
||||
"工艺管理_零件工序_生产工艺_修改数据","1","11","src/views/ProcessManagement/ProcessProduct/index.vue"
|
||||
"工艺管理_生产工艺_标准工艺拷贝","2","11","src/views/ProcessManagement/ProcessProduct/index.vue|src/views/ProcessManagement/ProcessesDevelop/index.vue"
|
||||
"工艺管理_生产工艺_查询标准工艺","1","11","src/views/ProcessManagement/ProductionOrder/index.vue"
|
||||
"工艺管理_生产工艺_查询生产工艺","9","11","src/views/ProcessManagement/ProcessProduct/index.vue|src/views/ProcessManagement/ProductionOrder/index.vue"
|
||||
"工艺管理_生产工艺_工艺拷贝","1","12","src/views/ProcessManagement/ProcessProduct/index.vue"
|
||||
"工艺管理_生产工艺_启用","1","11","src/views/ProcessManagement/ProcessProduct/index.vue"
|
||||
"工艺管理_生产工艺_生产工艺拷贝","2","11","src/views/ProcessManagement/ProcessProduct/index.vue|src/views/ProcessManagement/ProcessesDevelop/index.vue"
|
||||
"工艺管理_生产计划物料查询","1","11","src/views/ProcessManagement/ProcessesDevelop/index.vue"
|
||||
"工艺管理_图纸维护_查看图纸","20","11","src/views/PlanManagement/SelfMakePlando/index.vue|src/views/ProcessManagement/PartDrawing/index.vue|src/views/ProcessManagement/PartDrawlook/index.vue|src/views/ProcessManagement/ProcessDrawing/index.vue|src/views/ProcessManagement/ProcessProduct/index.vue|src/views/ProcessManagement/ProcurementDrawlook/index.vue|src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/OutsourceMange/index.vue|src/views/ProductionManagement/SaleOutsourceMange/index.vue|src/views/QualityManagement/CheckTask/OtherInbound.vue|src/views/QualityManagement/CheckTask/processReceive.vue|src/views/QualityManagement/CheckTask/purchaseIncoming.vue|src/views/QualityManagement/CheckTask/salesReturn.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"工艺管理_图纸维护_查询删除记录","3","11","src/views/ProcessManagement/PartDrawing/index.vue|src/views/ProcessManagement/PartDrawlook/index.vue|src/views/ProcessManagement/ProcurementDrawlook/index.vue"
|
||||
"工艺管理_图纸维护_零件图查询","3","11","src/views/ProcessManagement/PartDrawing/index.vue"
|
||||
"工艺管理_图纸维护_零件图查询采购","3","11","src/views/ProcessManagement/ProcurementDrawlook/index.vue"
|
||||
"工艺管理_图纸维护_零件图查询全部","3","11","src/views/ProcessManagement/PartDrawlook/index.vue"
|
||||
"工艺管理_图纸维护_删除图纸","3","12","src/views/ProcessManagement/PartDrawing/index.vue|src/views/ProcessManagement/PartDrawlook/index.vue|src/views/ProcessManagement/ProcurementDrawlook/index.vue"
|
||||
"工艺管理_图纸维护_物料查询","3","11","src/views/ProcessManagement/PartDrawing/index.vue|src/views/ProcessManagement/PartDrawlook/index.vue|src/views/ProcessManagement/ProcessDrawing/index.vue"
|
||||
"工艺管理_图纸维护_物料查询_采购","1","11","src/views/ProcessManagement/ProcurementDrawlook/index.vue"
|
||||
"工艺管理_图纸维护_验证名称","3","11","src/views/ProcessManagement/PartDrawing/index.vue|src/views/ProcessManagement/PartDrawlook/index.vue|src/views/ProcessManagement/ProcurementDrawlook/index.vue"
|
||||
"工艺管理_制定标准工艺_拷贝工艺保存","1","12","src/views/ProcessManagement/ProcessesDevelop/index.vue"
|
||||
"工艺管理_制定标准工艺_拷贝生产工艺","2","11","src/views/ProcessManagement/ProcessProduct/index.vue|src/views/ProcessManagement/ProcessesDevelop/index.vue"
|
||||
"机加已排产_获取任务列表","4","11","src/views/PlanManagement/SelfMakePlandone/index.vue|src/views/PlanManagement/WorkstationPlan/index.vue"
|
||||
"计划排产_查询计划信息","1","11","src/views/PlanManagement/PlanShell/index.vue"
|
||||
"计划排产_二次派工","18","12","src/views/PlanManagement/InstallMakePlan/index.vue|src/views/PlanManagement/InstallMakePlanDo/index.vue|src/views/PlanManagement/InstallMakePlanDone/index.vue|src/views/PlanManagement/SelfMakePlan/index.vue|src/views/PlanManagement/SelfMakePlando/index.vue|src/views/PlanManagement/SelfMakePlandone/index.vue|src/views/PlanManagement/SystemInstallTask/index.vue|src/views/PlanManagement/ValueInstallTask/index.vue|src/views/PlanManagement/WorkstationPlan/index.vue"
|
||||
"计划排产_阀类任务查询","1","11","src/views/PlanManagement/ValueInstallTask/index.vue"
|
||||
"计划排产_阀类任务查询_导出","1","2001","src/views/PlanManagement/ValueInstallTask/index.vue"
|
||||
"计划排产_阀类装配任务_修改销售要求日期","1","12","src/views/PlanManagement/ValueInstallTask/index.vue"
|
||||
"计划排产_阀类装配任务_修改预计送检日期","1","12","src/views/PlanManagement/ValueInstallTask/index.vue"
|
||||
"计划排产_派工","11","12","src/views/PlanManagement/InstallMakePlan/index.vue|src/views/PlanManagement/InstallMakePlanDo/index.vue|src/views/PlanManagement/InstallMakePlanDone/index.vue|src/views/PlanManagement/SelfMakePlan/index.vue|src/views/PlanManagement/SelfMakePlando/index.vue|src/views/PlanManagement/SelfMakePlandone/index.vue|src/views/PlanManagement/SystemInstallTask/index.vue|src/views/PlanManagement/ValueInstallTask/index.vue|src/views/PlanManagement/WorkstationPlan/index.vue|src/views/ProductionManagement/OutsourceMange/index.vue|src/views/ProductionManagement/SaleOutsourceMange/index.vue"
|
||||
"计划排产_生产订单_订单查询","1","11","src/views/ProcessManagement/ProcessProduct/index.vue"
|
||||
"计划排产_生产订单_订单任务","1","12","src/views/ProcessManagement/ProductionOrder/index.vue"
|
||||
"计划排产_生产订单_订单任务_单条生产工艺任务下发","1","12","src/views/ProcessManagement/ProcessProduct/index.vue"
|
||||
"计划排产_生产订单_订单任务_生产工艺任务下发","1","11","src/views/ProcessManagement/ProcessProduct/index.vue"
|
||||
"计划排产_生产订单_已排产订单查询","9","11","src/views/PlanManagement/InstallMakePlan/index.vue|src/views/PlanManagement/InstallMakePlanDo/index.vue|src/views/PlanManagement/InstallMakePlanDone/index.vue|src/views/PlanManagement/SelfMakePlan/index.vue|src/views/PlanManagement/SelfMakePlando/index.vue|src/views/PlanManagement/SelfMakePlandone/index.vue|src/views/PlanManagement/SystemInstallTask/index.vue|src/views/PlanManagement/ValueInstallTask/index.vue|src/views/PlanManagement/WorkstationPlan/index.vue"
|
||||
"计划排产_生产订单关闭_查询全部订单","1","11","src/views/PlanManagement/PlannOrderClose/index.vue"
|
||||
"计划排产_生产订单关闭_关闭订单","1","11","src/views/PlanManagement/PlannOrderClose/index.vue"
|
||||
"计划排产_生产订单关闭_确认订单","1","12","src/views/PlanManagement/PlannOrderClose/index.vue"
|
||||
"计划排产_外协分组","3","12","src/views/PlanManagement/SelfMakePlando/index.vue|src/views/PlanManagement/SelfMakePlandone/index.vue|src/views/PlanManagement/WorkstationPlan/index.vue"
|
||||
"计划排产_系统类任务查询","1","11","src/views/PlanManagement/SystemInstallTask/index.vue"
|
||||
"计划排产_系统类任务查询_导出","1","2001","src/views/PlanManagement/SystemInstallTask/index.vue"
|
||||
"计划排产_系统类装配任务_修改钣金预达时间","1","12","src/views/PlanManagement/SystemInstallTask/index.vue"
|
||||
"计划排产_系统类装配任务_修改销售要求日期","1","12","src/views/PlanManagement/SystemInstallTask/index.vue"
|
||||
"计划排产_系统类装配任务_修改预计送检日期","1","12","src/views/PlanManagement/SystemInstallTask/index.vue"
|
||||
"计划排产_重置派工状态","1","11","src/views/ProductionManagement/SaleOutsourceMange/index.vue"
|
||||
"计划排产_装配任务预算_保存","2","12","src/views/PlanManagement/SystemInstallTask/index.vue|src/views/PlanManagement/ValueInstallTask/index.vue"
|
||||
"计划排产_自制件_日程时间修改","9","12","src/views/PlanManagement/InstallMakePlan/index.vue|src/views/PlanManagement/InstallMakePlanDo/index.vue|src/views/PlanManagement/InstallMakePlanDone/index.vue|src/views/PlanManagement/SelfMakePlan/index.vue|src/views/PlanManagement/SelfMakePlando/index.vue|src/views/PlanManagement/SelfMakePlandone/index.vue|src/views/PlanManagement/SystemInstallTask/index.vue|src/views/PlanManagement/ValueInstallTask/index.vue|src/views/PlanManagement/WorkstationPlan/index.vue"
|
||||
"加工中心_收检_读取收检记录","3","11","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"加工中心_修改工时_保存修改记录","3","11","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"加工中心_异常工时_获取操作记录列表","3","11","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"加急订单_加急明细查询","10","11","src/views/AnomalousManagement/UrgentTask/index.vue|src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/PickingTask/index.vue|src/views/ProductionManagement/ProductionPlanTrack/index.vue|src/views/ProductionManagement/Urgent/index.vue|src/views/QualityManagement/CheckTask/final.vue|src/views/QualityManagement/CheckTask/processReceive.vue|src/views/QualityManagement/CheckTask/purchaseIncoming.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"人员管理_角色信息初始化查询_查询","1","11","src/views/SystemMaintenance/PersonnelManagement/index.vue"
|
||||
"人员管理_人员信息查询","2","11","src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/components/AbnormalControlPanel.vue"
|
||||
"人员管理_人员信息查询_查询","1","11","src/views/SystemMaintenance/PersonnelManagement/index.vue"
|
||||
"人员管理_人员信息查询_质检部门_查询","14","11","src/views/ProductionManagement/AssembleStatus/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/WorkHoursCheck/index - 副本 (2).vue|src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue|src/views/ProductionManagement/WorkHoursCheck/index.vue|src/views/ProductionManagement/WorkhoursEdit/index.vue|src/views/QualityManagement/CheckTask/OtherInbound.vue|src/views/QualityManagement/CheckTask/final.vue|src/views/QualityManagement/CheckTask/materialReturn.vue|src/views/QualityManagement/CheckTask/processReceive.vue|src/views/QualityManagement/CheckTask/punctualInspection.vue|src/views/QualityManagement/CheckTask/purchaseIncoming.vue|src/views/QualityManagement/CheckTask/salesReturn.vue|src/views/QualityManagement/Unqualified/index.vue"
|
||||
"人员管理_人员信息新增_新增","1","11","src/views/SystemMaintenance/PersonnelManagement/index.vue"
|
||||
"人员管理_人员信息修改_编辑","1","12","src/views/SystemMaintenance/PersonnelManagement/index.vue"
|
||||
"人员管理_人员信息修改_删除","1","12","src/views/SystemMaintenance/PersonnelManagement/index.vue"
|
||||
"设备管理_设备数据_工位信息_查询","1","11","src/views/DeviceManagement/DeviceRealData/index.vue"
|
||||
"设备管理_设备数据_历史查询","2","11","src/views/DeviceManagement/DeviceDataHistory/index.vue"
|
||||
"设备管理_设备数据_统计数据查询","1","11","src/views/DeviceManagement/DeviceRealData/index.vue"
|
||||
"设备管理_设备数据_统计数据查询_通过类型","1","11","src/views/DeviceManagement/DeviceRealData/index.vue"
|
||||
"设备管理_设备数据查询","1","11","src/views/DeviceManagement/Devicedata/index.vue"
|
||||
"设备管理_设备信息_编辑","1","12","src/views/DeviceManagement/DeviceInformation/index.vue"
|
||||
"设备管理_设备信息_查询","4","11","src/views/DeviceManagement/DeviceInformation/index.vue|src/views/ProcessManagement/ProcessProduct/index.vue|src/views/ProcessManagement/ProcessesDevelop/index.vue|src/views/ProcessManagement/ProductionOrder/index.vue"
|
||||
"设备管理_设备信息_删除","1","12","src/views/DeviceManagement/DeviceInformation/index.vue"
|
||||
"设备管理_设备信息_增加","1","12","src/views/DeviceManagement/DeviceInformation/index.vue"
|
||||
"设备管理_设备状态_查询","3","11","src/views/PlanManagement/SelfMakePlandone/index.vue|src/views/PlanManagement/WorkstationPlan/index.vue|src/views/ProductionManagement/DeviceStatus/index.vue"
|
||||
"设计报工_附件_查询","1","11","src/views/ProductionManagement/DesignReportTask/components/TaskAttachments.vue"
|
||||
"设计报工_工时校验_保存","1","12","src/views/ProductionManagement/DesignReportTask/Check/index.vue"
|
||||
"设计报工_工时校验_查询","1","11","src/views/ProductionManagement/DesignReportTask/Check/index.vue"
|
||||
"设计报工_工时校验_批量保存","1","12","src/views/ProductionManagement/DesignReportTask/Check/index.vue"
|
||||
"设计报工_领导批示权限_查询","2","11","src/views/ProductionManagement/DesignReportTask/Report/index.vue|src/views/ProductionManagement/DesignReportTask/Task/index.vue"
|
||||
"设计报工_人员查询","2","11","src/views/ProductionManagement/DesignReportTask/Task/index.vue"
|
||||
"设计报工_任务_查询","5","11","src/views/ProductionManagement/DesignReportTask/Report/index.vue|src/views/ProductionManagement/DesignReportTask/Task/index.vue"
|
||||
"设计报工_任务_删除","1","12', procedure, params)
|
||||
try {
|
||||
const response = await this.ExecDatabase(data)
|
||||
const result = this.getResult(response)
|
||||
if (String(result.result) === '1') {
|
||||
this.$message.success(result.message || '保存成功')
|
||||
this.dialogVisible = false
|
||||
this.searchTable()
|
||||
} else {
|
||||
this.$message.error(result.message || '保存失败')
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('设计任务保存失败:', error)
|
||||
this.$message.error('保存失败')
|
||||
} finally {
|
||||
this.submitLoading = false
|
||||
}
|
||||
})
|
||||
},
|
||||
buildSaveParams() {
|
||||
const params = []
|
||||
if (this.isEdit) params.push(['DID', this.formData.DID || 0])
|
||||
params.push(['项目号', this.formData.项目号 || ''])
|
||||
params.push(['物料编码', this.formData.物料编码 || ''])
|
||||
params.push(['物料名称', this.formData.物料名称 || ''])
|
||||
params.push(['图号', this.formData.图号 || ''])
|
||||
params.push(['类别', this.formData.类别 || ''])
|
||||
params.push(['任务来源', this.formData.任务来源 || ''])
|
||||
params.push(['任务描述', this.formData.任务描述 || ''])
|
||||
params.push(['关联父件物料编码', this.formData.关联父件物料编码 || ''])
|
||||
params.push(['关联父件物料名称', this.formData.关联父件物料名称 || ''])
|
||||
params.push(['设计要求', this.formData.设计要求 || ''])
|
||||
params.push(['研发立项号', this.formData.研发立项号 || ''])
|
||||
params.push(['研发目的', this.formData.研发目的 || ''])
|
||||
params.push(['对齐可见ID', this.formData.对齐可见ID || ''])
|
||||
params.push(['对齐可见', this.formData.对齐可见 || ''])
|
||||
params.push(['指派对象ID', this.formData.指派对象ID || ''])
|
||||
params.push(['指派对象', this.formData.指派对象 || ''])
|
||||
params.push(['预计开始时间', this.formData.预计开始时间 || ''])
|
||||
params.push(['预计结束时间', this.formData.预计结束时间 || ''])
|
||||
params.push([this.isEdit ? '最后编辑人' : '创建人', this.currentUserName()])
|
||||
params.push(['备注', this.formData.备注 || ''])
|
||||
return params
|
||||
},
|
||||
deleteTask(row) {
|
||||
this.$confirm(`确定删除设计任务 DID ${row.DID} 吗?已有报工记录的任务不能删除。`, '提示', { type: 'warning' })
|
||||
.then(async() => {
|
||||
const latest = await this.getLatestTask(row.DID)
|
||||
if (!latest) return
|
||||
Object.assign(row, latest)
|
||||
const blockMessage = this.getDeleteBlockMessage(latest)
|
||||
if (blockMessage) {
|
||||
this.$message.error(blockMessage)
|
||||
this.searchTable()
|
||||
return
|
||||
}
|
||||
try {
|
||||
const data = this.CreateData('12","src/views/ProductionManagement/DesignReportTask/Task/index.vue"
|
||||
"设计报工_任务说明_新增","1","12","src/views/ProductionManagement/DesignReportTask/Task/index.vue"
|
||||
"设计报工_物料查询","7","11","src/views/ProductionManagement/DesignReportTask/Check/index.vue|src/views/ProductionManagement/DesignReportTask/FinancialHours/index.vue|src/views/ProductionManagement/DesignReportTask/HoursReport/index.vue|src/views/ProductionManagement/DesignReportTask/Report/index.vue|src/views/ProductionManagement/DesignReportTask/Task/index.vue"
|
||||
"设计报工_项目查询","5","11|11', procedure, this.buildSearchParams())
|
||||
try {
|
||||
const response = await this.ExecDatabase(data)
|
||||
if (isTaskReport) {
|
||||
this.taskTableData = this.buildTaskTree(response.data || [])
|
||||
} else {
|
||||
this.operatorTableData = this.buildOperatorTree(response.data || [])
|
||||
}
|
||||
} catch (error) {
|
||||
console.error(`${isTaskReport ? '任务工时' : '作业者工时'}查询失败:`, error)
|
||||
this.$message.error('查询失败')
|
||||
} finally {
|
||||
this.loading = false
|
||||
}
|
||||
},
|
||||
exportToExcel() {
|
||||
if (this.currentTableData.length === 0) {
|
||||
this.$message.warning('没有数据可导出')
|
||||
return
|
||||
}
|
||||
|
||||
this.exporting = true
|
||||
try {
|
||||
const rows = this.flattenTree(this.currentTableData)
|
||||
const isTaskReport = this.activeTab === 'task'
|
||||
const reportName = isTaskReport ? '任务工时' : '作业者工时'
|
||||
const exportData = rows.map(row => ({
|
||||
层级: this.getExportLevel(row, isTaskReport),
|
||||
[isTaskReport ? '任务 / 操作人' : '操作人 / 日期 / 任务']:
|
||||
`${' '.repeat(Math.max((row.Level || 1) - 1, 0))}${isTaskReport ? this.getTaskTreeTitle(row) : this.getOperatorTreeTitle(row)}`,
|
||||
工作日期: this.getExportValue(row.工作日期),
|
||||
RID: this.getExportValue(row.RID),
|
||||
DID: this.getExportValue(row.DID),
|
||||
项目号: this.getExportValue(row.项目号),
|
||||
物料编码: this.getExportValue(row.物料编码),
|
||||
物料名称: this.getExportValue(row.物料名称),
|
||||
图号: this.getExportValue(row.图号),
|
||||
类别: this.getExportValue(row.类别),
|
||||
报工次数: this.getExportValue(row.报工次数),
|
||||
'工时(h)': this.formatHours(row.工时小时),
|
||||
开始时间: this.getExportValue(row.开始时间),
|
||||
结束时间: this.getExportValue(row.结束时间),
|
||||
校验状态: this.getExportValue(row.校验状态),
|
||||
进度说明: this.getExportValue(row.进度说明),
|
||||
备注: this.getExportValue(row.备注)
|
||||
}))
|
||||
const workbook = XLSX.utils.book_new()
|
||||
const worksheet = XLSX.utils.json_to_sheet(exportData)
|
||||
worksheet['!cols'] = [
|
||||
{ wch: 12 },
|
||||
{ wch: 32 },
|
||||
{ wch: 14 },
|
||||
{ wch: 10 },
|
||||
{ wch: 10 },
|
||||
{ wch: 16 },
|
||||
{ wch: 22 },
|
||||
{ wch: 24 },
|
||||
{ wch: 16 },
|
||||
{ wch: 16 },
|
||||
{ wch: 12 },
|
||||
{ wch: 12 },
|
||||
{ wch: 20 },
|
||||
{ wch: 20 },
|
||||
{ wch: 14 },
|
||||
{ wch: 30 },
|
||||
{ wch: 30 }
|
||||
]
|
||||
XLSX.utils.book_append_sheet(workbook, worksheet, reportName)
|
||||
XLSX.writeFile(workbook, `设计${reportName}_${this.formatDateForFileName(new Date())}.xlsx`)
|
||||
this.$message.success('导出成功')
|
||||
} catch (error) {
|
||||
console.error('设计工时报表导出失败:', error)
|
||||
this.$message.error('导出失败')
|
||||
} finally {
|
||||
this.exporting = false
|
||||
}
|
||||
},
|
||||
flattenTree(rows) {
|
||||
return rows.reduce((result, row) => {
|
||||
result.push(row)
|
||||
if (row.children && row.children.length > 0) {
|
||||
result.push(...this.flattenTree(row.children))
|
||||
}
|
||||
return result
|
||||
}, [])
|
||||
},
|
||||
getExportValue(value) {
|
||||
return value === null || value === undefined ? '' : value
|
||||
},
|
||||
getExportLevel(row, isTaskReport) {
|
||||
if (isTaskReport) return row.Level === 1 ? '任务汇总' : '操作人汇总'
|
||||
return row.Level === 1 ? '操作人汇总' : (row.Level === 2 ? '日期汇总' : '任务明细')
|
||||
},
|
||||
formatDateForFileName(date) {
|
||||
const year = date.getFullYear()
|
||||
const month = String(date.getMonth() + 1).padStart(2, '0')
|
||||
const day = String(date.getDate()).padStart(2, '0')
|
||||
const hours = String(date.getHours()).padStart(2, '0')
|
||||
const minutes = String(date.getMinutes()).padStart(2, '0')
|
||||
const seconds = String(date.getSeconds()).padStart(2, '0')
|
||||
return `${year}${month}${day}_${hours}${minutes}${seconds}`
|
||||
},
|
||||
async queryProjects(query) {
|
||||
const data = this.CreateData('11|12', procedure, params)
|
||||
try {
|
||||
const response = await this.ExecDatabase(data)
|
||||
const result = this.getResult(response)
|
||||
if (String(result.result) === '1') {
|
||||
this.$message.success(result.message || defaultMessage)
|
||||
this.searchTable()
|
||||
return true
|
||||
}
|
||||
this.$message.error(result.message || '操作失败')
|
||||
return false
|
||||
} catch (error) {
|
||||
console.error(`${procedure}失败:`, error)
|
||||
this.$message.error('操作失败')
|
||||
return false
|
||||
} finally {
|
||||
this.actionLoading = false
|
||||
}
|
||||
},
|
||||
getDeleteBlockMessage(row) {
|
||||
if (Number(row.报工次数 || 0) > 0) return '删除失败:该任务已有设计报工记录,不能删除'
|
||||
if (row.单据状态 === '已完成') return '删除失败:任务已完成,不能删除'
|
||||
if (row.单据状态 && row.单据状态 !== '待开始') return `删除失败:任务状态为${row.单据状态},不能删除`
|
||||
return ''
|
||||
},
|
||||
async queryProjects(query) {
|
||||
const data = this.CreateData('11","src/views/ProductionManagement/DesignReportTask/Check/index.vue|src/views/ProductionManagement/DesignReportTask/FinancialHours/index.vue|src/views/ProductionManagement/DesignReportTask/HoursReport/index.vue|src/views/ProductionManagement/DesignReportTask/Report/index.vue|src/views/ProductionManagement/DesignReportTask/Task/index.vue"
|
||||
"设计报工_研发财务工时_查询","1","11","src/views/ProductionManagement/DesignReportTask/FinancialHours/index.vue"
|
||||
"生产管理_班次管理_班次绑定人员保存","1","11","src/views/ProductionManagement/ShiftManagement/index.vue"
|
||||
"生产管理_班次管理_班次绑定人员查询","2","11","src/views/ProductionManagement/ShiftManagement/index.vue"
|
||||
"生产管理_班次管理_班次保存","1","11","src/views/ProductionManagement/ShiftManagement/index.vue"
|
||||
"生产管理_班次管理_班次列表查询","1","11","src/views/ProductionManagement/ShiftManagement/index.vue"
|
||||
"生产管理_班次管理_班次删除","1","11","src/views/ProductionManagement/ShiftManagement/index.vue"
|
||||
"生产管理_产品合格率工位_查询","1","11","src/views/ProductionManagement/ProductPassRateWorkstation/index.vue"
|
||||
"生产管理_工时查询_工序工时_查询","1","11","src/views/ProductionManagement/Workhours/index.vue"
|
||||
"生产管理_获取人员绑定","3","11","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"生产管理_及时齐套跟踪结果_查询","1","11","src/views/PlanManagement/TimelyKitTrackingResult/index.vue"
|
||||
"生产管理_加工中心_班次信息","2","11","src/views/ProductionManagement/MachiningCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"生产管理_加工中心_获取班次信息","1","11","src/views/ProductionManagement/MachiningCenter/index.vue"
|
||||
"生产管理_加工中心_获取设备人员","2","11","src/views/ProductionManagement/MachiningCenter/index.vue"
|
||||
"生产管理_加工中心_开始时间","1","11","src/views/ProductionManagement/MachiningCenter/index.vue"
|
||||
"生产管理_加工中心_领料物料查询","3","11","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"生产管理_加工中心_设备是否正在加工","1","11","src/views/ProductionManagement/MachiningCenter/index.vue"
|
||||
"生产管理_加工中心_生产发料查询","3","11","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"生产管理_加工中心_退库","3","12","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"生产管理_加工中心_自动加班","1","11","src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"生产管理_加急件管理_更新完成","1","11","src/views/ProductionManagement/Urgent/index.vue"
|
||||
"生产管理_加急件管理_更新转至","1","11","src/views/ProductionManagement/Urgent/index.vue"
|
||||
"生产管理_加急件管理查询","1","11","src/views/ProductionManagement/Urgent/index.vue"
|
||||
"生产管理_拣配任务_查询","1","11","src/views/ProductionManagement/PickingTask/index.vue"
|
||||
"生产管理_结算工时_查询","4","11","src/views/PlanManagement/SelfMakePlando/index.vue|src/views/PlanManagement/SelfMakePlandone/index.vue|src/views/PlanManagement/WorkstationPlan/index.vue|src/views/ProductionManagement/SettlementWorkhours/index.vue"
|
||||
"生产管理_生产计划跟踪","2","11","src/views/AnomalousManagement/UrgentTask/index.vue|src/views/ProductionManagement/ProductionPlanTrack/index.vue"
|
||||
"生产管理_生产任务汇总","1","11","src/views/ProductionManagement/ProductionTasksSum/index.vue"
|
||||
"生产管理_手续确认报表_查询","1","11","src/views/ProductionManagement/FormalityConfirmReport/index.vue"
|
||||
"生产管理_手续确认报表_确认","1","12","src/views/ProductionManagement/FormalityConfirmReport/index.vue"
|
||||
"生产管理_外协报表_查询","1","11","src/views/ProductionManagement/OutsourceSheet/index.vue"
|
||||
"生产管理_外协报表_导出","1","2001","src/views/ProductionManagement/OutsourceSheet/index.vue"
|
||||
"生产管理_外协管理_查询外协","1","11","src/views/ProductionManagement/SaleOutsourceMange/index.vue"
|
||||
"生产管理_外协管理_查询外协历史记录","1","11","src/views/ProductionManagement/SaleOutsourceMange/index.vue"
|
||||
"生产管理_外协管理_查询外协全部","1","11","src/views/ProductionManagement/OutsourceMange/index.vue"
|
||||
"生产管理_外协管理_查询质检记录","1","11","src/views/ProductionManagement/SaleOutsourceMange/index.vue"
|
||||
"生产管理_外协管理_更新备注","2","11","src/views/ProductionManagement/OutsourceMange/index.vue|src/views/ProductionManagement/SaleOutsourceMange/index.vue"
|
||||
"生产管理_外协管理_更新打印次数","2","11","src/views/ProductionManagement/OutsourceMange/index.vue|src/views/ProductionManagement/SaleOutsourceMange/index.vue"
|
||||
"生产管理_外协管理_外协发料保存","2","11","src/views/ProductionManagement/OutsourceMange/index.vue|src/views/ProductionManagement/SaleOutsourceMange/index.vue"
|
||||
"生产管理_外协管理_外协发料查询","4","11","src/views/ProductionManagement/OutsourceMange/index.vue|src/views/ProductionManagement/SaleOutsourceMange/index.vue"
|
||||
"生产管理_外协管理_外协历史查询","2","11","src/views/ProductionManagement/OutsourceMange/index.vue|src/views/ProductionManagement/SaleOutsourceMange/index.vue"
|
||||
"生产管理_外协管理_外协收料保存","2","11","src/views/ProductionManagement/OutsourceMange/index.vue|src/views/ProductionManagement/SaleOutsourceMange/index.vue"
|
||||
"生产管理_物料机器人_查询历史数据","1","11","src/views/ProductionManagement/AGVtask/index.vue"
|
||||
"生产管理_物料机器人_查询实时数据","1","11","src/views/ProductionManagement/AGVtask/index.vue"
|
||||
"生产管理_物料机器人_创建任务","1","12","src/views/ProductionManagement/AGVtask/index.vue"
|
||||
"生产管理_物料机器人_点位查询","1","11","src/views/ProductionManagement/AGVtask/index.vue"
|
||||
"生产管理_物料机器人_更新任务状态","2","12","src/views/ProductionManagement/AGVtask/index.vue"
|
||||
"生产管理_物料机器人_删除点位","1","11","src/views/ProductionManagement/AGVtask/index.vue"
|
||||
"生产管理_物料机器人_完成任务","1","12","src/views/ProductionManagement/AGVtask/index.vue"
|
||||
"生产管理_物料机器人_物料查询","1","11","src/views/ProductionManagement/AGVtask/index.vue"
|
||||
"生产管理_物料机器人_新增点位","1","11","src/views/ProductionManagement/AGVtask/index.vue"
|
||||
"生产管理_物料机器人_修改点位","1","12","src/views/ProductionManagement/AGVtask/index.vue"
|
||||
"生产管理_装配中心_缺料查询","4","11","src/views/PlanManagement/PlanShell/index.vue|src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue|src/views/SaleManagement/saleorderstatus/index.vue"
|
||||
"生产管理_装配状态_获取进行中任务","1","11","src/views/ProductionManagement/AssembleStatus/index.vue"
|
||||
"系统管理_报工操作记录_查询","1","11","src/views/SystemMaintenance/OperationLog/index.vue"
|
||||
"系统管理_工位管理_工位绑定人员保存","1","11","src/views/ProductionManagement/PersonnelBinding/index.vue"
|
||||
"系统管理_工位管理_工位绑定人员查询","2","11","src/views/ProductionManagement/PersonnelBinding/index.vue"
|
||||
"系统管理_工位管理_工位信息删除","1","11","src/views/SystemMaintenance/WorkstationManagement/index.vue"
|
||||
"系统管理_工位管理_工位信息修改","1","11","src/views/SystemMaintenance/WorkstationManagement/index.vue"
|
||||
"系统管理_工位管理_工位信息增加","1","11","src/views/SystemMaintenance/WorkstationManagement/index.vue"
|
||||
"系统管理_人员管理_所有有效人员查询","17","11","src/views/PlanManagement/InstallMakePlan/index.vue|src/views/PlanManagement/InstallMakePlanDo/index.vue|src/views/PlanManagement/InstallMakePlanDone/index.vue|src/views/PlanManagement/SelfMakePlan/index.vue|src/views/PlanManagement/SelfMakePlando/index.vue|src/views/PlanManagement/SelfMakePlandone/index.vue|src/views/PlanManagement/SystemInstallTask/index.vue|src/views/PlanManagement/ValueInstallTask/index.vue|src/views/PlanManagement/WorkstationPlan/index.vue|src/views/ProductionManagement/OutsourceSheet/index.vue|src/views/ProductionManagement/PersonnelBinding/index.vue|src/views/ProductionManagement/ShiftManagement/index.vue|src/views/ProductionManagement/WorkHoursCheck/index - 副本 (2).vue|src/views/ProductionManagement/WorkHoursCheck/index - 副本.vue|src/views/ProductionManagement/WorkHoursCheck/index.vue|src/views/ProductionManagement/WorkhoursEdit/index.vue|src/views/QualityManagement/QualityDetails/index.vue"
|
||||
"销售管理_销售订单状态","1","11","src/views/SaleManagement/saleorderstatus/index.vue"
|
||||
"异常工时_新增操作记录","3","11","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"异常提醒_及时开工_查询","1","11","src/views/AnomalousManagement/PunctualWork/index.vue"
|
||||
"异常提醒_外协及时开工_查询","1","11","src/views/AnomalousManagement/OutPunctualWork/index.vue"
|
||||
"异常提醒_装配及时送检_查询","1","11","src/views/AnomalousManagement/AssemblyPunctualInspection/index.vue"
|
||||
"质量管理_不合格品处置_查询","1","11","src/views/QualityManagement/Unqualified/index.vue"
|
||||
"质量管理_测试装配任务_查询","1","11","src/views/QualityManagement/TestAssemblyTask/index.vue"
|
||||
"质量管理_及时检验报表_查询","1","11","src/views/QualityManagement/CheckTask/punctualInspection.vue"
|
||||
"质量管理_检验标准表_查询","2","11","src/views/QualityManagement/QualityStandardQuery/index copy.vue|src/views/QualityManagement/QualityStandardQuery/index.vue"
|
||||
"质量管理_检验标准表_删除","2","12","src/views/QualityManagement/QualityStandardQuery/index copy.vue|src/views/QualityManagement/QualityStandardQuery/index.vue"
|
||||
"质量管理_检验标准表_新增","2","12","src/views/QualityManagement/QualityStandardQuery/index copy.vue|src/views/QualityManagement/QualityStandardQuery/index.vue"
|
||||
"质量管理_检验标准表_修改","2","12","src/views/QualityManagement/QualityStandardQuery/index copy.vue|src/views/QualityManagement/QualityStandardQuery/index.vue"
|
||||
"质量管理_来料检验_更新","1","12","src/views/QualityManagement/CheckTask/purchaseIncoming.vue"
|
||||
"质量管理_其他入库_查询","1","11","src/views/QualityManagement/CheckTask/OtherInbound.vue"
|
||||
"质量管理_其他入库检验_更新","1","12","src/views/QualityManagement/CheckTask/OtherInbound.vue"
|
||||
"质量管理_销售退货检_更新","1","12","src/views/QualityManagement/CheckTask/salesReturn.vue"
|
||||
"质量管理_序检收检_新增","3","12","src/views/QualityManagement/CheckTask/processReceive.vue"
|
||||
"质量管理_原材料退库_查询","1","11","src/views/QualityManagement/CheckTask/materialReturn.vue"
|
||||
"质量管理_原材料退库检验_更新","1","12","src/views/QualityManagement/CheckTask/materialReturn.vue"
|
||||
"质量管理_质检报工_任务查询","1","11","src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"质量管理_质检明细_查询","1","11","src/views/QualityManagement/QualityDetails/index.vue"
|
||||
"质量管理_质检明细_导出","1","2001","src/views/QualityManagement/QualityDetails/index.vue"
|
||||
"质量管理_质量检验_入库质检任务_查询","1","11","src/views/QualityManagement/CheckTask/purchaseIncoming.vue"
|
||||
"质量管理_质量检验_收检记录_查询","1","11","src/views/QualityManagement/CheckTask/processReceive.vue"
|
||||
"质量管理_质量检验_退货质检任务_查询","1","11","src/views/QualityManagement/CheckTask/salesReturn.vue"
|
||||
"质量管理_质量检验_终检记录_查询","1","11","src/views/QualityManagement/CheckTask/final.vue"
|
||||
"质量管理_质量检验_终检数据_查询","1","11","src/views/QualityManagement/CheckTask/final.vue"
|
||||
"装配中心任务看板_发货状态查询","1","11","src/views/ProductionManagement/DeliveryNoticeList/index.vue"
|
||||
"MES_操作记录_获取任务暂停状态","1","11","src/views/ProductionManagement/MachiningCenter/index.vue"
|
||||
"MES_操作记录_获取暂停状态","1","11","src/views/ProductionManagement/MachiningCenter/index.vue"
|
||||
"MES_登录_工位与名称_查询","24","11","src/views/AnomalousManagement/PunctualWork/index.vue|src/views/DeviceManagement/DeviceDataHistory/index.vue|src/views/DeviceManagement/DeviceInformation/index.vue|src/views/DeviceManagement/Devicedata/index.vue|src/views/PlanManagement/InstallMakePlan/index.vue|src/views/PlanManagement/InstallMakePlanDo/index.vue|src/views/PlanManagement/InstallMakePlanDone/index.vue|src/views/PlanManagement/SelfMakePlan/index.vue|src/views/PlanManagement/SelfMakePlando/index.vue|src/views/PlanManagement/SelfMakePlandone/index.vue|src/views/PlanManagement/SystemInstallTask/index.vue|src/views/PlanManagement/ValueInstallTask/index.vue|src/views/PlanManagement/WorkstationPlan/index.vue|src/views/ProductionManagement/AssembleStatus/index.vue|src/views/ProductionManagement/AssembleTaskManage/index.vue|src/views/ProductionManagement/AssembleTasksSum/index.vue|src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/DeviceStatus/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/PersonnelBinding/index.vue|src/views/ProductionManagement/ProductionTaskManage/index.vue|src/views/ProductionManagement/ProductionTasksSum/index.vue|src/views/QualityManagement/QualityCenter/index.vue|src/views/SystemMaintenance/WorkstationManagement/index.vue"
|
||||
"MES_人员工时记录_获取进行中任务","2","11","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"MES_人员工时记录_获取进行中任务2","2","11","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"MES_人员工时记录_结束","2","12","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"MES_人员工时记录_开始","2","12","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"MES_OrderPlanned_ChildTask_Add","1","12","src/views/ProductionManagement/AssembleTaskManage/index.vue"
|
||||
"MES_OrderPlanned_ChildTask_Get","1","11","src/views/ProductionManagement/AssembleTaskManage/index.vue"
|
||||
"MES_OrderPlanned_DescriptionEdit","18","12","src/views/AnomalousManagement/UrgentTask/index.vue|src/views/PlanManagement/InstallMakePlan/index.vue|src/views/PlanManagement/InstallMakePlanDo/index.vue|src/views/PlanManagement/InstallMakePlanDone/index.vue|src/views/PlanManagement/PlanShell/index.vue|src/views/PlanManagement/SelfMakePlan/index.vue|src/views/PlanManagement/SelfMakePlando/index.vue|src/views/PlanManagement/SelfMakePlandone/index.vue|src/views/PlanManagement/SystemInstallTask/index.vue|src/views/PlanManagement/ValueInstallTask/index.vue|src/views/PlanManagement/WorkstationPlan/index.vue|src/views/ProductionManagement/AssemblePlanTrack/index.vue|src/views/ProductionManagement/AssembleTaskManage/index.vue|src/views/ProductionManagement/AssembleTasksSum/index.vue|src/views/ProductionManagement/ProductionPlanTrack/index.vue|src/views/ProductionManagement/ProductionTaskManage/index.vue|src/views/ProductionManagement/ProductionTasksSum/index.vue|src/views/SaleManagement/saleorderstatus/index.vue"
|
||||
"MES_OrderPlanned_EditTaskPlanned","48","12","src/views/PlanManagement/InstallMakePlan/index.vue|src/views/PlanManagement/InstallMakePlanDo/index.vue|src/views/PlanManagement/InstallMakePlanDone/index.vue|src/views/PlanManagement/SelfMakePlan/index.vue|src/views/PlanManagement/SelfMakePlando/index.vue|src/views/PlanManagement/SelfMakePlandone/index.vue|src/views/PlanManagement/SystemInstallTask/index.vue|src/views/PlanManagement/ValueInstallTask/index.vue|src/views/PlanManagement/WorkstationPlan/index.vue|src/views/PlanManagement/priorityinstall/index.vue|src/views/ProductionManagement/AssembleTaskManage/index.vue|src/views/ProductionManagement/AssembleTasksSum/index.vue|src/views/ProductionManagement/ProductionTaskManage/index.vue|src/views/ProductionManagement/ProductionTasksSum/index.vue"
|
||||
"MES_OrderPlanned_Finish","10","11|12","src/views/PlanManagement/InstallMakePlan/index.vue|src/views/PlanManagement/InstallMakePlanDo/index.vue|src/views/PlanManagement/InstallMakePlanDone/index.vue|src/views/PlanManagement/SelfMakePlan/index.vue|src/views/PlanManagement/SelfMakePlando/index.vue|src/views/PlanManagement/SelfMakePlandone/index.vue|src/views/PlanManagement/SystemInstallTask/index.vue|src/views/PlanManagement/ValueInstallTask/index.vue|src/views/PlanManagement/WorkstationPlan/index.vue|src/views/ProductionManagement/AssembleTaskManage/index.vue"
|
||||
"MES_OrderPlanned_Query","5","11","src/views/PlanManagement/SelfMakePlan/index.vue|src/views/PlanManagement/SelfMakePlando/index.vue|src/views/ProductionManagement/AssembleTaskManage/index.vue"
|
||||
"MES_OrderPlanned_Queryzp","8","11","src/views/PlanManagement/InstallMakePlan/index.vue|src/views/PlanManagement/InstallMakePlanDo/index.vue|src/views/PlanManagement/InstallMakePlanDone/index.vue|src/views/PlanManagement/priorityinstall/index.vue|src/views/ProductionManagement/AssemblePlanTrack/index.vue"
|
||||
"MES_OrderPlanned_SingleTaskPlanned","21","12","src/views/PlanManagement/InstallMakePlan/index.vue|src/views/PlanManagement/InstallMakePlanDo/index.vue|src/views/PlanManagement/InstallMakePlanDone/index.vue|src/views/PlanManagement/SelfMakePlan/index.vue|src/views/PlanManagement/SelfMakePlando/index.vue|src/views/PlanManagement/SelfMakePlandone/index.vue|src/views/PlanManagement/SystemInstallTask/index.vue|src/views/PlanManagement/ValueInstallTask/index.vue|src/views/PlanManagement/WorkstationPlan/index.vue|src/views/ProductionManagement/AssembleTaskManage/index.vue|src/views/ProductionManagement/ProductionTaskManage/index.vue"
|
||||
"MES_ProcessManagement_PartGet","2","11","src/views/ProcessManagement/ProcessInquiry/index.vue|src/views/QualityManagement/QualityStandardQuery/index.vue"
|
||||
"MES_ProcessManagement_ProcessAdd","1","11","src/views/ProcessManagement/ProcedureManagement/index.vue"
|
||||
"MES_ProcessManagement_ProcessBindGet","3","11","src/views/ProcessManagement/ProcessProduct/index.vue|src/views/ProcessManagement/ProcessesDevelop/index.vue"
|
||||
"MES_ProcessManagement_Processdel","1","12","src/views/ProcessManagement/ProcedureManagement/index.vue"
|
||||
"MES_ProcessManagement_ProcessEdit","1","12","src/views/ProcessManagement/ProcedureManagement/index.vue"
|
||||
"MES_ProcessManagement_ProcessGet","4","11","src/views/ProcessManagement/ProcedureManagement/index.vue|src/views/ProcessManagement/ProcessProduct/index.vue|src/views/ProcessManagement/ProcessesDevelop/index.vue"
|
||||
"MES_ProductAdmin_Query","4","11","src/views/ProductionManagement/AssembleTasksSum/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/ProductionTaskManage/index.vue|src/views/ProductionManagement/components/AbnormalControlPanel.vue"
|
||||
"MES_ProductCenter_DoingTask","1","11","src/views/ProductionManagement/MachiningCenter/index.vue"
|
||||
"MES_ProductCenter_GetOrderTasks","1","11","src/views/ProductionManagement/MachiningCenter/index.vue"
|
||||
"MES_ProductCenter_GetTask","1","11","src/views/ProductionManagement/MachiningCenter/index.vue"
|
||||
"MES_ProductCenter_GetTask_zp","2","11","src/views/ProductionManagement/AssemblyCenter/index.vue"
|
||||
"MES_ProductTask_HelpEnd","1","11","src/views/ProductionManagement/MachiningCenter/index.vue"
|
||||
"MES_ProductTask_HelpStart","1","12","src/views/ProductionManagement/MachiningCenter/index.vue"
|
||||
"MES_ProductTask_MaterialRecieved","1","12","src/views/ProductionManagement/MachiningCenter/index.vue"
|
||||
"MES_ProductTask_Notice","1","12","src/views/ProductionManagement/ProductionTaskManage/index.vue"
|
||||
"MES_ProductTask_ProdReport","2","11","src/views/ProductionManagement/MachiningCenter/index.vue"
|
||||
"MES_ProductTask_Rest","3","12","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"MES_ProductTask_SendInspection","2","12","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"MES_ProductTask_WorkingStart","1","12","src/views/ProductionManagement/MachiningCenter/index.vue"
|
||||
"MES_ProductTask_WorkTimeSum","6","11","src/views/ProductionManagement/AssembleTasksSum/index.vue|src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/ProductionTaskManage/index.vue|src/views/ProductionManagement/ProductionTasksSum/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"MES_QualityInspection_CheckRecord_Query","1","11","src/views/ProductionManagement/MachiningCenter/index.vue"
|
||||
"MES_QualityInspection_GetInspectionDetails","1","11","src/views/ProductionManagement/MachiningCenter/index.vue"
|
||||
"MES_QualityInspection_GetInspectionParts","1","11","src/views/ProductionManagement/MachiningCenter/index.vue"
|
||||
"MES_QulityInspection_CheckItemData_Save","6","12","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"MES_QulityInspection_FinalCheck","1","12","src/views/QualityManagement/CheckTask/final.vue"
|
||||
"MES_QulityInspection_FirstCheckRecords","1","11","src/views/QualityManagement/CheckTask/firstSpecial.vue"
|
||||
"MES_QulityInspection_GetItemStandard","6","11","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"MES_QulityInspection_ReceiveCheck","3","12","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"Prog_MES_GetProductOrder_byAID","9","11","src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/QualityManagement/QualityCenter/index.vue"
|
||||
"Prog_MES_LoadProcess","7","11","src/views/AnomalousManagement/PunctualWork/index.vue|src/views/ProductionManagement/AssemblyCenter/index.vue|src/views/ProductionManagement/MachiningCenter/index.vue|src/views/QualityManagement/CheckTask/firstSpecial.vue|src/views/QualityManagement/QualityCenter/index.vue|src/views/QualityManagement/QualityStandardQuery/index copy.vue|src/views/QualityManagement/QualityStandardQuery/index.vue"
|
||||
"Prog_MES_LoadStations","19","11","src/views/AnomalousManagement/UrgentTask/index.vue|src/views/PlanManagement/InstallMakePlan/index.vue|src/views/PlanManagement/InstallMakePlanDo/index.vue|src/views/PlanManagement/InstallMakePlanDone/index.vue|src/views/PlanManagement/PlanShell/index.vue|src/views/PlanManagement/SelfMakePlan/index.vue|src/views/PlanManagement/SelfMakePlando/index.vue|src/views/PlanManagement/SelfMakePlandone/index.vue|src/views/PlanManagement/SystemInstallTask/index.vue|src/views/PlanManagement/ValueInstallTask/index.vue|src/views/PlanManagement/WorkstationPlan/index.vue|src/views/ProductionManagement/AssemblePlanTrack/index.vue|src/views/ProductionManagement/AssembleTaskManage/index.vue|src/views/ProductionManagement/AssembleTasksSum/index.vue|src/views/ProductionManagement/ProductionPlanTrack/index.vue|src/views/ProductionManagement/ProductionTaskManage/index.vue|src/views/ProductionManagement/ProductionTasksSum/index.vue|src/views/QualityManagement/CheckTask/firstSpecial.vue|src/views/SaleManagement/saleorderstatus/index.vue"
|
||||
"Prog_MES_SingleTaskPlanned","1","12","src/views/ProductionManagement/ProductionTaskManage/index.vue"
|
||||
"sp_处理审批","2","12","src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/components/AbnormalControlPanel.vue"
|
||||
"sp_创建流程_简化版","2","11","src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/components/AbnormalControlPanel.vue"
|
||||
"sp_获取待处理任务","2","11","src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/components/AbnormalControlPanel.vue"
|
||||
"sp_获取流程详情","2","11","src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/components/AbnormalControlPanel.vue"
|
||||
"sp_获取我的流程","2","11","src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/components/AbnormalControlPanel.vue"
|
||||
"sp_获取最近处理任务","2","11","src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/components/AbnormalControlPanel.vue"
|
||||
"sp_完成流程","2","11","src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/components/AbnormalControlPanel.vue"
|
||||
"sp_转办流程","2","12","src/views/ProductionManagement/MachiningCenter/index.vue|src/views/ProductionManagement/components/AbnormalControlPanel.vue"
|
||||
"usp_BatchValidateWorkTime","2","11","src/views/ProductionManagement/WorkHoursCheck/index - 副本 (2).vue|src/views/ProductionManagement/WorkHoursCheck/index.vue"
|
||||
"usp_ValidateWorkTime","2","11","src/views/ProductionManagement/WorkHoursCheck/index - 副本 (2).vue|src/views/ProductionManagement/WorkHoursCheck/index.vue"
|
||||
"WEB_报警查询_未读报警记录_查询","1","11","src/views/layout/components/Navbar.vue"
|
||||
"WEB_报警查询_未读报警记录_未读条数查询","1","11","src/views/layout/components/Navbar.vue"
|
||||
"WEB_登录基础数据_人员信息_重置密码","1","12","src/views/SystemMaintenance/PersonnelManagement/index.vue"
|
||||
"WEB_基本表_产品结构_查询","1","11","src/views/CraftManagement/CraftMaintain/index.vue"
|
||||
"WEB_基本表_产品结构_删除","1","11","src/views/CraftManagement/CraftMaintain/index.vue"
|
||||
"WEB_基本表_产品结构_新增","1","11","src/views/CraftManagement/CraftMaintain/index.vue"
|
||||
"WEB_基本表_产品结构_修改","1","11","src/views/CraftManagement/CraftMaintain/index.vue"
|
||||
"WEB_人员设备查看权限_查询","1","11","src/views/SystemMaintenance/PersonnelManagement/index.vue"
|
||||
"WEB_人员设备查看权限_权限切换","1","12","src/views/SystemMaintenance/PersonnelManagement/index.vue"
|
||||
"WEB_人员摄像头查看权限_权限切换","1","12","src/views/SystemMaintenance/PersonnelManagement/index.vue"
|
||||
"WEB_摄像头查看权限_查询","1","11","src/views/SystemMaintenance/PersonnelManagement/index.vue"
|
||||
|
545
work/generate-mes-takeover-report.js
Normal file
@@ -0,0 +1,545 @@
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const JSZip = require('jszip')
|
||||
|
||||
const outputPath = path.resolve(
|
||||
__dirname,
|
||||
'..',
|
||||
'doc',
|
||||
'大连元利流体技术有限公司MES测试环境接管报告_V1.1_2026-07-25.docx'
|
||||
)
|
||||
|
||||
const COLORS = {
|
||||
navy: '17365D',
|
||||
blue: '1F4E78',
|
||||
lightBlue: 'D9EAF7',
|
||||
paleBlue: 'EAF2F8',
|
||||
green: '548235',
|
||||
paleGreen: 'E2F0D9',
|
||||
amber: 'BF8F00',
|
||||
paleAmber: 'FFF2CC',
|
||||
red: 'C00000',
|
||||
paleRed: 'FCE4D6',
|
||||
gray: '666666',
|
||||
lightGray: 'F2F2F2',
|
||||
border: 'B4C6E7',
|
||||
white: 'FFFFFF'
|
||||
}
|
||||
|
||||
function xmlEscape(value) {
|
||||
return String(value == null ? '' : value)
|
||||
.replace(/&/g, '&')
|
||||
.replace(/</g, '<')
|
||||
.replace(/>/g, '>')
|
||||
.replace(/"/g, '"')
|
||||
.replace(/'/g, ''')
|
||||
}
|
||||
|
||||
function run(text, options = {}) {
|
||||
const props = []
|
||||
const font = options.font || '宋体'
|
||||
const eastAsia = options.eastAsia || font
|
||||
props.push(`<w:rFonts w:ascii="${xmlEscape(font)}" w:hAnsi="${xmlEscape(font)}" w:eastAsia="${xmlEscape(eastAsia)}"/>`)
|
||||
if (options.bold) props.push('<w:b/>')
|
||||
if (options.italic) props.push('<w:i/>')
|
||||
if (options.color) props.push(`<w:color w:val="${options.color}"/>`)
|
||||
if (options.size) props.push(`<w:sz w:val="${options.size}"/><w:szCs w:val="${options.size}"/>`)
|
||||
if (options.highlight) props.push(`<w:shd w:fill="${options.highlight}"/>`)
|
||||
return `<w:r><w:rPr>${props.join('')}</w:rPr><w:t xml:space="preserve">${xmlEscape(text)}</w:t></w:r>`
|
||||
}
|
||||
|
||||
function paragraph(content = '', options = {}) {
|
||||
const runs = Array.isArray(content) ? content : [run(content, options.run || {})]
|
||||
const props = []
|
||||
if (options.style) props.push(`<w:pStyle w:val="${options.style}"/>`)
|
||||
if (options.align) props.push(`<w:jc w:val="${options.align}"/>`)
|
||||
if (options.keepNext) props.push('<w:keepNext/>')
|
||||
if (options.keepLines) props.push('<w:keepLines/>')
|
||||
if (options.pageBreakBefore) props.push('<w:pageBreakBefore/>')
|
||||
if (options.spacingBefore != null || options.spacingAfter != null || options.line != null) {
|
||||
props.push(`<w:spacing${options.spacingBefore != null ? ` w:before="${options.spacingBefore}"` : ''}${options.spacingAfter != null ? ` w:after="${options.spacingAfter}"` : ''}${options.line != null ? ` w:line="${options.line}" w:lineRule="auto"` : ''}/>`)
|
||||
}
|
||||
if (options.indentLeft != null || options.firstLine != null) {
|
||||
props.push(`<w:ind${options.indentLeft != null ? ` w:left="${options.indentLeft}"` : ''}${options.firstLine != null ? ` w:firstLine="${options.firstLine}"` : ''}/>`)
|
||||
}
|
||||
if (options.borderBottom) {
|
||||
props.push(`<w:pBdr><w:bottom w:val="single" w:sz="8" w:space="5" w:color="${options.borderBottom}"/></w:pBdr>`)
|
||||
}
|
||||
return `<w:p><w:pPr>${props.join('')}</w:pPr>${runs.join('')}</w:p>`
|
||||
}
|
||||
|
||||
function heading(text, level, options = {}) {
|
||||
return paragraph(text, {
|
||||
style: `Heading${level}`,
|
||||
keepNext: true,
|
||||
pageBreakBefore: Boolean(options.pageBreakBefore)
|
||||
})
|
||||
}
|
||||
|
||||
function bullet(text, level = 0) {
|
||||
return paragraph([
|
||||
run('• ', { font: '微软雅黑', eastAsia: '微软雅黑', color: COLORS.blue, bold: true }),
|
||||
run(text, { font: '宋体', eastAsia: '宋体', size: 21 })
|
||||
], {
|
||||
indentLeft: 360 + level * 360,
|
||||
spacingAfter: 80,
|
||||
line: 320
|
||||
})
|
||||
}
|
||||
|
||||
function numbered(number, text) {
|
||||
return paragraph([
|
||||
run(`${number}. `, { font: '微软雅黑', eastAsia: '微软雅黑', color: COLORS.blue, bold: true, size: 21 }),
|
||||
run(text, { font: '宋体', eastAsia: '宋体', size: 21 })
|
||||
], {
|
||||
indentLeft: 360,
|
||||
spacingAfter: 100,
|
||||
line: 320
|
||||
})
|
||||
}
|
||||
|
||||
function pageBreak() {
|
||||
return '<w:p><w:r><w:br w:type="page"/></w:r></w:p>'
|
||||
}
|
||||
|
||||
function cell(content, width, options = {}) {
|
||||
const paragraphs = Array.isArray(content)
|
||||
? content
|
||||
: [paragraph(String(content), {
|
||||
run: {
|
||||
font: options.font || '宋体',
|
||||
eastAsia: options.font || '宋体',
|
||||
size: options.size || 20,
|
||||
bold: Boolean(options.bold),
|
||||
color: options.color
|
||||
},
|
||||
align: options.align,
|
||||
spacingAfter: 0,
|
||||
line: 280
|
||||
})]
|
||||
const props = [
|
||||
`<w:tcW w:w="${width}" w:type="dxa"/>`,
|
||||
'<w:tcMar><w:top w:w="90" w:type="dxa"/><w:left w:w="110" w:type="dxa"/><w:bottom w:w="90" w:type="dxa"/><w:right w:w="110" w:type="dxa"/></w:tcMar>',
|
||||
`<w:vAlign w:val="${options.vAlign || 'center'}"/>`
|
||||
]
|
||||
if (options.fill) props.push(`<w:shd w:fill="${options.fill}"/>`)
|
||||
if (options.colSpan) props.push(`<w:gridSpan w:val="${options.colSpan}"/>`)
|
||||
return `<w:tc><w:tcPr>${props.join('')}</w:tcPr>${paragraphs.join('')}</w:tc>`
|
||||
}
|
||||
|
||||
function table(rows, widths, options = {}) {
|
||||
const grid = widths.map(width => `<w:gridCol w:w="${width}"/>`).join('')
|
||||
const rowXml = rows.map((row, rowIndex) => {
|
||||
const isHeader = options.header && rowIndex === 0
|
||||
const cells = row.map((value, index) => {
|
||||
const descriptor = value && typeof value === 'object' && !Array.isArray(value)
|
||||
? value
|
||||
: { text: value }
|
||||
return cell(descriptor.paragraphs || descriptor.text, descriptor.width || widths[index], {
|
||||
fill: descriptor.fill || (isHeader ? COLORS.blue : (options.band && rowIndex % 2 === 0 ? COLORS.paleBlue : null)),
|
||||
bold: descriptor.bold != null ? descriptor.bold : isHeader,
|
||||
color: descriptor.color || (isHeader ? COLORS.white : null),
|
||||
align: descriptor.align || (isHeader ? 'center' : null),
|
||||
vAlign: descriptor.vAlign,
|
||||
colSpan: descriptor.colSpan,
|
||||
size: descriptor.size,
|
||||
font: descriptor.font
|
||||
})
|
||||
}).join('')
|
||||
return `<w:tr><w:trPr>${isHeader ? '<w:tblHeader/>' : ''}<w:cantSplit/></w:trPr>${cells}</w:tr>`
|
||||
}).join('')
|
||||
return `<w:tbl><w:tblPr><w:tblW w:w="9000" w:type="dxa"/><w:tblLayout w:type="fixed"/><w:tblBorders><w:top w:val="single" w:sz="6" w:color="${COLORS.border}"/><w:left w:val="single" w:sz="6" w:color="${COLORS.border}"/><w:bottom w:val="single" w:sz="6" w:color="${COLORS.border}"/><w:right w:val="single" w:sz="6" w:color="${COLORS.border}"/><w:insideH w:val="single" w:sz="4" w:color="D9E2F3"/><w:insideV w:val="single" w:sz="4" w:color="D9E2F3"/></w:tblBorders><w:tblCellMar><w:top w:w="80" w:type="dxa"/><w:left w:w="90" w:type="dxa"/><w:bottom w:w="80" w:type="dxa"/><w:right w:w="90" w:type="dxa"/></w:tblCellMar></w:tblPr><w:tblGrid>${grid}</w:tblGrid>${rowXml}</w:tbl>`
|
||||
}
|
||||
|
||||
function infoBox(title, text, type = 'info') {
|
||||
const palette = {
|
||||
info: [COLORS.blue, COLORS.paleBlue],
|
||||
success: [COLORS.green, COLORS.paleGreen],
|
||||
warning: [COLORS.amber, COLORS.paleAmber],
|
||||
danger: [COLORS.red, COLORS.paleRed]
|
||||
}[type]
|
||||
const paragraphs = [
|
||||
paragraph([run(title, { font: '微软雅黑', eastAsia: '微软雅黑', bold: true, color: palette[0], size: 22 })], { spacingAfter: 80 }),
|
||||
paragraph([run(text, { font: '宋体', eastAsia: '宋体', size: 21 })], { spacingAfter: 0, line: 320 })
|
||||
]
|
||||
return table([[{ paragraphs, fill: palette[1] }]], [9000])
|
||||
}
|
||||
|
||||
function tocField() {
|
||||
return `<w:p><w:pPr><w:spacing w:after="180"/></w:pPr><w:fldSimple w:instr="TOC \\o "1-3" \\h \\z \\u"><w:r><w:rPr><w:rFonts w:eastAsia="宋体"/><w:color w:val="${COLORS.gray}"/><w:sz w:val="20"/></w:rPr><w:t>目录将在打开文档时自动更新</w:t></w:r></w:fldSimple></w:p>`
|
||||
}
|
||||
|
||||
const body = []
|
||||
|
||||
// Cover
|
||||
body.push(paragraph('大连元利流体技术有限公司', {
|
||||
align: 'center', spacingBefore: 900, spacingAfter: 100,
|
||||
run: { font: '微软雅黑', eastAsia: '微软雅黑', size: 28, color: COLORS.gray }
|
||||
}))
|
||||
body.push(paragraph('MES 测试环境接管报告', {
|
||||
align: 'center', spacingBefore: 850, spacingAfter: 160,
|
||||
run: { font: '微软雅黑', eastAsia: '微软雅黑', size: 56, bold: true, color: COLORS.navy }
|
||||
}))
|
||||
body.push(paragraph('生产环境接管准备基线', {
|
||||
align: 'center', spacingAfter: 900,
|
||||
run: { font: '微软雅黑', eastAsia: '微软雅黑', size: 28, color: COLORS.blue }
|
||||
}))
|
||||
body.push(infoBox('接管结论', '测试环境已完成前端、MES 接口、数据库、只读外部集成、备份恢复与安全基线的受控接管,可作为后续生产环境接管的演练环境。', 'success'))
|
||||
body.push(paragraph('', { spacingAfter: 400 }))
|
||||
body.push(table([
|
||||
['文档编号', 'YL-MES-TAKEOVER-TEST-20260725'],
|
||||
['文档版本', 'V1.1'],
|
||||
['环境', 'MES 测试环境'],
|
||||
['报告日期', '2026-07-25'],
|
||||
['文档状态', '正式接管报告'],
|
||||
['保密级别', '内部资料']
|
||||
], [2200, 6800], { band: true }))
|
||||
body.push(paragraph('本报告不包含账号、密码、Token 或生产业务明细。', {
|
||||
align: 'center', spacingBefore: 500,
|
||||
run: { font: '宋体', eastAsia: '宋体', size: 18, color: COLORS.gray }
|
||||
}))
|
||||
body.push(pageBreak())
|
||||
|
||||
// Document control and TOC
|
||||
body.push(heading('文档控制', 1))
|
||||
body.push(table([
|
||||
['版本', '日期', '编制/维护', '变更说明'],
|
||||
['V1.0', '2026-07-25', 'MES 接管维护', '首次形成测试环境接管报告'],
|
||||
['V1.1', '2026-07-25', 'MES 接管维护', '修复部分富文本 XML 被显示为普通文字的问题']
|
||||
], [1200, 1600, 2000, 4200], { header: true, band: true }))
|
||||
body.push(heading('审批与分发', 2))
|
||||
body.push(table([
|
||||
['角色', '姓名/部门', '确认内容', '状态'],
|
||||
['业务负责人', '', '业务模块范围及验收口径', '待签字'],
|
||||
['MES 运维负责人', '', '环境、发布、备份和回滚', '待签字'],
|
||||
['信息安全负责人', '', '账号、网络、证书和审计要求', '待签字'],
|
||||
['生产环境负责人', '', '生产接管窗口和授权边界', '待签字']
|
||||
], [1800, 2200, 3400, 1600], { header: true, band: true }))
|
||||
body.push(heading('目录', 1))
|
||||
body.push(tocField())
|
||||
body.push(pageBreak())
|
||||
|
||||
// 1
|
||||
body.push(heading('1. 文档目的与接管结论', 1))
|
||||
body.push(paragraph('本报告用于固化 MES 测试环境的实际接管状态、验证证据、运维能力和风险边界,并作为后续生产环境接管方案、演练和审批的输入。', {
|
||||
firstLine: 420, spacingAfter: 180, line: 360
|
||||
}))
|
||||
body.push(infoBox('总体判定:受控接管完成', '测试前端已真实部署,MES 接口和数据库可管理,数据库恢复演练已通过,关键安全问题已整改,九个核心模块只读冒烟全部通过。当前环境可以承担日常诊断、受控变更、发布回归和生产接管演练。', 'success'))
|
||||
body.push(heading('1.1 接管状态摘要', 2))
|
||||
body.push(table([
|
||||
['领域', '状态', '结论'],
|
||||
['前端代码与部署', '已接管', '构建成功,IIS 10012 已部署并可访问'],
|
||||
['MES 通用接口', '已接管', '登录、菜单、权限和只读过程调用通过'],
|
||||
['测试数据库', '已接管', '结构诊断、脚本变更、回滚和恢复演练通过'],
|
||||
['B1 集成', '只读接管', 'VPN 可达,语义 GET 实测通过,POST/PATCH 强制阻止'],
|
||||
['TM 集成', '受限只读', '代理端口可达;当前无安全 GET 验收端点,库存任务写调用全部阻止'],
|
||||
['核心后端', '发布物接管', '维护 IIS、配置和现有发布物;当前不修改核心 DLL'],
|
||||
['安全基线', '部分完成', '密码响应、Cookie 和目录浏览已整改;证书与服务账号仍待处理']
|
||||
], [1900, 1700, 5400], { header: true, band: true }))
|
||||
|
||||
// 2
|
||||
body.push(heading('2. 接管范围与边界', 1, { pageBreakBefore: true }))
|
||||
body.push(heading('2.1 已纳入接管范围', 2))
|
||||
;[
|
||||
'Vue 2 管理前端代码、构建流程、运行配置和 IIS 前端站点。',
|
||||
'MESCommonBase.ashx 通用接口的运行状态、配置、日志和已部署处理器。',
|
||||
'测试 SQL Server 2019 中 YL_MESDB 的结构、存储过程、索引、备份和恢复。',
|
||||
'MES 登录、角色菜单、系统、工艺、计划、生产、质量、设备、异常、销售和看板查询链路。',
|
||||
'B1/TM 代理的网络可用性和测试环境只读保护。',
|
||||
'WinRM、IIS、部署目录、证书、目录浏览和防火墙等运维基线。'
|
||||
].forEach(item => body.push(bullet(item)))
|
||||
body.push(heading('2.2 明确边界', 2))
|
||||
;[
|
||||
'不在测试或生产环境执行未经批准的 MES 业务写入。',
|
||||
'B1/TM 的语义 POST 和 PATCH 在测试前端被强制阻止,不进行真实库存、生产订单或条码任务写入。',
|
||||
'核心 DLL 没有原始源码,当前按发布物运维;本次不替换、不重建核心 DLL。',
|
||||
'本轮全模块验收为只读冒烟,不代表报工、送检、入库、领料和退料等写流程已经验收。',
|
||||
'正式环境的任何变更仍需单独授权、变更窗口、备份和回滚方案。'
|
||||
].forEach(item => body.push(bullet(item)))
|
||||
|
||||
// 3
|
||||
body.push(heading('3. 环境与资产清单', 1, { pageBreakBefore: true }))
|
||||
body.push(heading('3.1 访问与部署地址', 2))
|
||||
body.push(table([
|
||||
['对象', '地址/位置', '用途与状态'],
|
||||
['测试前端', 'http://124.220.15.242:10012/', 'IIS 站点已启动,外部访问 200'],
|
||||
['MES 测试接口', 'https://124.220.15.242:10101/submit/MESCommonBase.ashx', '业务接口可用;证书尚待整改'],
|
||||
['测试数据库', '124.220.15.242,64722 / YL_MESDB', 'SQL Server 2019,数据库 ONLINE'],
|
||||
['测试前端目录', 'C:\\ProjectShow\\元利流体\\MES_Manage_View\\dist', '84 个文件,约 95.69 MB'],
|
||||
['后端发布目录', 'C:\\ProjectShow\\元利流体\\MES_ManageV20250916', '现有 10100/10101 IIS 发布物'],
|
||||
['B1 代理', 'https://192.168.2.92:9996/b1s', '通过管理机 VPN 访问,仅允许语义 GET'],
|
||||
['TM 代理', 'https://192.168.2.92:9996/openapi', '通过管理机 VPN 访问,写请求禁用']
|
||||
], [1900, 4300, 2800], { header: true, band: true }))
|
||||
body.push(heading('3.2 技术与版本基线', 2))
|
||||
body.push(table([
|
||||
['层级', '版本/实现'],
|
||||
['前端框架', 'Vue 2.7.16 / Vue Router 3.6.5 / Vuex 3.6.2'],
|
||||
['UI 与 HTTP', 'Element UI 2.15.14 / Axios 0.21.4'],
|
||||
['构建工具', 'Webpack 5.103.0 / Node.js 20'],
|
||||
['数据库', 'Microsoft SQL Server 2019,兼容级别 150'],
|
||||
['业务接口', 'ASP.NET .ashx 统一存储过程网关'],
|
||||
['前端构建入口', 'app.83b8251a.js'],
|
||||
['接管基线', 'MES测试环境接管基线_20260725.md / V1.3']
|
||||
], [2400, 6600], { band: true }))
|
||||
|
||||
// 4
|
||||
body.push(heading('4. 系统架构与调用链', 1, { pageBreakBefore: true }))
|
||||
body.push(table([[
|
||||
{ paragraphs: [
|
||||
paragraph([run('浏览器 / Vue 前端', { font: 'Consolas', eastAsia: '微软雅黑', bold: true, color: COLORS.navy, size: 22 })], { align: 'center', spacingAfter: 100 }),
|
||||
paragraph([run('↓ 运行配置与 Axios', { font: 'Consolas', eastAsia: '微软雅黑', color: COLORS.gray, size: 20 })], { align: 'center', spacingAfter: 100 }),
|
||||
paragraph([run('MESCommonBase.ashx', { font: 'Consolas', eastAsia: '微软雅黑', bold: true, color: COLORS.blue, size: 22 })], { align: 'center', spacingAfter: 100 }),
|
||||
paragraph([run('↓ 存储过程名 + 参数 + 用户/模块上下文', { font: 'Consolas', eastAsia: '微软雅黑', color: COLORS.gray, size: 20 })], { align: 'center', spacingAfter: 100 }),
|
||||
paragraph([run('SQL Server / YL_MESDB', { font: 'Consolas', eastAsia: '微软雅黑', bold: true, color: COLORS.green, size: 22 })], { align: 'center', spacingAfter: 100 }),
|
||||
paragraph([run('↘ B1 代理(仅 GET) ↘ TM 代理(写入禁用)', { font: 'Consolas', eastAsia: '微软雅黑', color: COLORS.amber, size: 20 })], { align: 'center' })
|
||||
], fill: COLORS.lightGray }
|
||||
]], [9000]))
|
||||
body.push(heading('4.1 环境隔离原则', 2))
|
||||
body.push(paragraph('测试 dist 使用独立运行配置:MES 指向测试 10101;B1/TM 通过 VPN 指向现场代理;externalReadOnly 必须为 true。生产源配置保留 externalReadOnly=false,不将测试限制误带入正式构建。', {
|
||||
firstLine: 420, spacingAfter: 120, line: 360
|
||||
}))
|
||||
body.push(infoBox('重要说明', 'B1/TM 代理封装在传输层统一使用 HTTP POST,但真正操作类型由请求体 func 决定。只读保护按语义 GET/POST/PATCH 判断,语义 GET 仍可通过代理传输。', 'warning'))
|
||||
|
||||
// 5
|
||||
body.push(heading('5. 已完成接管工作', 1, { pageBreakBefore: true }))
|
||||
body.push(heading('5.1 前端部署', 2))
|
||||
;[
|
||||
'完成包含装配任务预算进度、登录安全修复和外部系统只读保护的生产构建。',
|
||||
'直接复制 dist 到测试服务器 staging,核对文件数、总字节数及 index.html/config.js SHA-256 后切换为最终目录。',
|
||||
'创建独立 IIS 站点和应用池,绑定 *:10012:,站点 Started、端口 Listening。',
|
||||
'服务器本机和管理端均返回 HTTP 200,实际加载 app.83b8251a.js。',
|
||||
'本次未生成 zip,符合直接部署 dist 的维护约定。'
|
||||
].forEach(item => body.push(bullet(item)))
|
||||
body.push(heading('5.2 装配任务功能同步', 2))
|
||||
;[
|
||||
'同步系统类和阀类装配任务合同工时修复、共享核心查询和 5 个查询索引。',
|
||||
'增加任务预算装配工时、合同预算测试工时及两个计算进度字段。',
|
||||
'测试环境跳过不可达的 SAP 交货日期远程读取,保留返回字段结构和独立回滚过程。',
|
||||
'系统类接口约 0.8-1.1 秒,阀类接口约 0.9-1.2 秒,均返回正确分页和预算字段。'
|
||||
].forEach(item => body.push(bullet(item)))
|
||||
body.push(heading('5.3 安全整改', 2))
|
||||
body.push(table([
|
||||
['问题', '整改结果', '验证证据'],
|
||||
['登录接口返回 password', '登录过程显式返回非密码字段,保留密码校验', '登录成功,响应无 password 属性'],
|
||||
['浏览器保存明文密码 Cookie', '只记住账号并删除旧 password Cookie', '源码和构建产物复核通过'],
|
||||
['后端目录浏览开启', '根目录和 submit 均设置为 False', '目录返回 403,接口仍返回 200'],
|
||||
['仓库历史口令残留', '历史注释和日志文字已脱敏', '已知口令特征扫描文件数为 0'],
|
||||
['B1/TM 写污染风险', '测试配置启用语义写保护', '4 个写入口网络请求数为 0']
|
||||
], [2500, 3700, 2800], { header: true, band: true }))
|
||||
|
||||
// 6
|
||||
body.push(heading('6. 验证与演练结果', 1, { pageBreakBefore: true }))
|
||||
body.push(heading('6.1 核心模块只读冒烟', 2))
|
||||
body.push(table([
|
||||
['模块', '查询入口', '结果', '耗时'],
|
||||
['系统', '人员管理_人员信息查询', '200 / 135 行', '385 ms'],
|
||||
['工艺', 'MES_ProcessManagement_ProcessGet', '200 / 合法 JSON', '113 ms'],
|
||||
['计划', '计划排产_生产订单_工艺查询', '200 / 9878 行', '2619 ms'],
|
||||
['生产', '生产管理_班次管理_班次列表查询', '200 / 4 行', '128 ms'],
|
||||
['质量', '质量管理_测试装配任务_查询2', '200 / 0 行', '200 ms'],
|
||||
['设备', '设备管理_设备数据_工位信息_查询', '200 / 21 行', '140 ms'],
|
||||
['异常', '加急订单_加急明细查询', '200 / 合法 JSON', '117 ms'],
|
||||
['销售', '销售管理_销售订单状态', '200 / 200 行', '430 ms'],
|
||||
['首页看板', '看板_主页六个关键数据_查询', '200 / 25 行', '1099 ms']
|
||||
], [1300, 4200, 2100, 1400], { header: true, band: true }))
|
||||
body.push(paragraph('角色菜单查询返回 84 条,覆盖工艺、计划、生产、质量、设备和异常等主模块。质量测试装配任务当前返回 0 行属于有效空结果,不是接口失败。', {
|
||||
spacingBefore: 160, spacingAfter: 160, line: 340
|
||||
}))
|
||||
body.push(heading('6.2 B1/TM 只读验证', 2))
|
||||
body.push(table([
|
||||
['验证项', '结果'],
|
||||
['VPN/代理端口', '192.168.2.92:9996 可达'],
|
||||
['B1 ProductionOrders 最小 GET', 'HTTP 200,约 252 ms,包含 value,无 B1 错误'],
|
||||
['B1 POST/PATCH', '前端拦截,网络请求 0'],
|
||||
['TM POST/PATCH', '前端拦截,网络请求 0'],
|
||||
['TM GET', '当前源码无明确安全 GET 端点,未调用库存任务接口']
|
||||
], [3000, 6000], { band: true }))
|
||||
body.push(heading('6.3 数据库备份恢复演练', 2))
|
||||
body.push(table([
|
||||
['步骤', '结果', '关键数据'],
|
||||
['备份头与文件列表读取', '通过', '完整备份约 1.28 GB,逻辑数据/日志文件完整'],
|
||||
['RESTORE VERIFYONLY', '通过', '约 4.3 秒;历史备份未包含 checksum'],
|
||||
['隔离恢复', '通过', 'YL_MESDB_RestoreDrill_20260725,约 9.4 秒 ONLINE'],
|
||||
['DBCC CHECKDB PHYSICAL_ONLY', '通过', '约 5.9 秒,无物理一致性错误'],
|
||||
['对象核对', '通过', '备份 61/27/425;当前 63/27/432'],
|
||||
['演练清理', '通过', '演练库、MDF、LDF 均已删除,空间恢复']
|
||||
], [2800, 1600, 4600], { header: true, band: true }))
|
||||
body.push(infoBox('备份策略改进项', '当前完整备份没有启用 SQL Server checksum。普通 VERIFYONLY 和实际恢复均已通过,但生产备份任务应启用 WITH CHECKSUM,并定期执行独立恢复演练。', 'warning'))
|
||||
|
||||
// 7
|
||||
body.push(heading('7. 当前可开展的工作', 1, { pageBreakBefore: true }))
|
||||
;[
|
||||
'前端功能开发、生产构建、测试配置注入、IIS 发布和页面回归。',
|
||||
'MES 登录、菜单、权限、接口错误和存储过程调用链诊断。',
|
||||
'测试数据库结构比对、查询性能分析、索引优化和带事务/回滚的变更。',
|
||||
'系统类、阀类装配任务查询、合同工时、预算工时和进度功能维护。',
|
||||
'通过 VPN 开展 B1 登录代理与 GET 查询联调,不污染现场业务数据。',
|
||||
'数据库备份校验、隔离恢复、DBCC 检查和清理演练。',
|
||||
'IIS 站点、应用池、部署目录、日志、证书、WinRM 和防火墙巡检。',
|
||||
'为生产接管准备资产清单、变更脚本、回滚路径、验收记录和问题台账。'
|
||||
].forEach((item, index) => body.push(numbered(index + 1, item)))
|
||||
body.push(infoBox('不能直接开展的工作', '未经专项授权不得执行生产环境变更;测试环境不执行 B1/TM 写入;MES 报工、送检、入库等写流程尚未完成系统性验收;核心 DLL 逻辑暂不修改。', 'danger'))
|
||||
|
||||
// 8
|
||||
body.push(heading('8. 日常运维与变更流程', 1, { pageBreakBefore: true }))
|
||||
body.push(heading('8.1 前端发布流程', 2))
|
||||
;[
|
||||
'确认目标环境和变更范围,核对 Git 差异及运行配置。',
|
||||
'执行生产构建,检查构建错误和关键资源入口。',
|
||||
'构建后注入测试 config.js,确认 MES 地址和 externalReadOnly=true。',
|
||||
'直接复制 dist 到服务器 staging,不生成 zip。',
|
||||
'核对文件总数、总字节数和关键文件 SHA-256。',
|
||||
'切换 IIS 物理目录或最终 dist,验证首页、config.js、应用 Bundle 和登录。',
|
||||
'出现异常时恢复上一个 dist 目录并复测。'
|
||||
].forEach((item, index) => body.push(numbered(index + 1, item)))
|
||||
body.push(heading('8.2 数据库变更流程', 2))
|
||||
;[
|
||||
'部署前验证数据库、对象结构、依赖和当前定义哈希。',
|
||||
'每项变更必须包含事务、前置校验、验证 SQL 和回滚脚本。',
|
||||
'先在测试环境部署,执行接口、性能和数据清理回归。',
|
||||
'禁止使用测试库整体覆盖正式库,按对象脚本逐项同步。',
|
||||
'记录部署时间、执行人、对象、结果、回滚点和残留风险。'
|
||||
].forEach((item, index) => body.push(numbered(index + 1, item)))
|
||||
body.push(heading('8.3 故障处理流程', 2))
|
||||
body.push(table([
|
||||
['故障类型', '首要检查', '回退/处置'],
|
||||
['前端无法访问', '10012 监听、站点状态、物理目录、首页文件', '启动站点或恢复上一版 dist'],
|
||||
['接口失败', '10101、IIS 日志、证书、ASHX 响应、应用池', '回收应用池前先保留日志;必要时恢复发布物'],
|
||||
['数据库慢查询', '执行计划、等待、索引、链接服务器', '终止异常诊断会话,回滚当次 SQL 变更'],
|
||||
['B1/TM 异常', 'VPN、9996、func 类型、只读开关', '保持写保护,禁止以真实写入验证连通性'],
|
||||
['数据恢复', '备份时间、VERIFYONLY、空间、逻辑文件名', '只恢复到隔离库,检查通过后再制定业务恢复方案']
|
||||
], [1800, 3700, 3500], { header: true, band: true }))
|
||||
|
||||
// 9
|
||||
body.push(heading('9. 生产环境接管准备', 1, { pageBreakBefore: true }))
|
||||
body.push(heading('9.1 建议接管阶段', 2))
|
||||
body.push(table([
|
||||
['阶段', '主要工作', '完成标志'],
|
||||
['阶段 1:只读盘点', '生产 IIS、数据库、配置、证书、备份、外部依赖和日志', '形成生产资产清单与差异清单'],
|
||||
['阶段 2:权限与安全', '建立只读诊断账号、受控发布账号、管理入口白名单', '日常操作不再依赖 sysadmin/Administrator'],
|
||||
['阶段 3:发布演练', '前端发布回滚、数据库脚本回滚、接口发布物恢复', '每类发布至少完成一次可重复演练'],
|
||||
['阶段 4:业务验收', '只读模块、MES 写流程、B1/TM 受控联调', '关键业务流程有负责人和验收记录'],
|
||||
['阶段 5:正式交接', '监控、巡检、值守、故障升级和文档签字', '接管责任、权限和窗口正式生效']
|
||||
], [1800, 4300, 2900], { header: true, band: true }))
|
||||
body.push(heading('9.2 生产变更前置条件', 2))
|
||||
;[
|
||||
'用户明确批准生产变更范围和执行窗口。',
|
||||
'完成正式备份校验并确认可用回滚点。',
|
||||
'测试环境已通过同版本脚本和页面回归。',
|
||||
'配置文件不包含测试地址,B1/TM 保护策略符合生产业务要求。',
|
||||
'发布账号、数据库账号和远程管理账号遵循最小权限。',
|
||||
'发布后有业务负责人完成关键流程验收。'
|
||||
].forEach(item => body.push(bullet(item)))
|
||||
|
||||
// 10
|
||||
body.push(heading('10. 风险与整改计划', 1, { pageBreakBefore: true }))
|
||||
body.push(table([
|
||||
['编号', '级别', '风险', '建议措施', '状态'],
|
||||
['SEC-01', '高', '10101 使用名称不匹配的自签名证书', '部署受信任且匹配域名的业务证书', '待整改'],
|
||||
['SEC-02', '高', '后端仍使用高权限数据库账号', '建立专用服务账号并完成全部写流程回归后切换', '待整改'],
|
||||
['NET-01', '中', '10012 当前使用 HTTP 且来源为 Any', '启用 HTTPS,并按测试人员或网络范围限制入口', '待整改'],
|
||||
['TEST-01', '高', 'MES 关键写流程尚未系统验收', '准备隔离测试数据、回滚脚本和业务验收人', '待验收'],
|
||||
['INT-01', '中', 'TM 没有明确安全 GET 验收端点', '提供健康检查或只读查询端点', '待补充'],
|
||||
['OPS-01', '中', '核心 DLL 没有原始源码', '日常按发布物运维;需要改逻辑时获取源码或专项验证替代构建', '已接受限制'],
|
||||
['BAK-01', '中', '历史完整备份未启用 checksum', '调整备份任务并定期执行恢复演练', '待整改'],
|
||||
['PERF-01', '低', '计划工艺查询返回量大且约 2.6 秒', '增加分页/条件限制并持续观察执行计划', '持续优化']
|
||||
], [1100, 900, 2500, 3400, 1100], { header: true, band: true }))
|
||||
|
||||
// 11
|
||||
body.push(heading('11. 回滚与应急依据', 1, { pageBreakBefore: true }))
|
||||
body.push(table([
|
||||
['对象', '回滚依据'],
|
||||
['登录接口安全修复', 'rollback_secure_test_login_response_20260725.sql 及安全修复前备份过程'],
|
||||
['装配任务查询优化', 'rollback_install_task_queries_20260725.sql'],
|
||||
['装配任务查询索引', 'rollback_install_task_query_indexes_20260725.sql'],
|
||||
['装配任务预算进度', 'rollback_install_task_budget_progress_20260725.sql'],
|
||||
['测试 SAP 交货日期适配', 'rollback_test_disable_install_task_sap_delivery_20260725.sql'],
|
||||
['后端目录浏览', '服务器同目录 web.config.directorybrowse_before_20260725.bak'],
|
||||
['前端发布', '保留上一版 dist 或 staging,通过 IIS 物理路径切回'],
|
||||
['数据库恢复', '完整备份 VERIFYONLY + 隔离恢复 + DBCC CHECKDB 流程']
|
||||
], [2700, 6300], { band: true }))
|
||||
body.push(infoBox('应急原则', '先保留证据和当前状态,再执行最小范围回退;不使用测试数据库整体覆盖正式数据库;不通过关闭只读保护来排查 B1/TM 连通性。', 'danger'))
|
||||
|
||||
// 12
|
||||
body.push(heading('12. 验收与签字', 1, { pageBreakBefore: true }))
|
||||
body.push(paragraph('各责任人签字表示已阅读本报告,认可当前测试环境的接管状态、能力范围、限制和生产接管前置条件。', {
|
||||
spacingAfter: 240, line: 340
|
||||
}))
|
||||
body.push(table([
|
||||
['角色', '姓名', '意见', '签字', '日期'],
|
||||
['业务负责人', '', '', '', ''],
|
||||
['MES 运维负责人', '', '', '', ''],
|
||||
['信息安全负责人', '', '', '', ''],
|
||||
['生产环境负责人', '', '', '', '']
|
||||
], [1800, 1500, 2700, 1500, 1500], { header: true }))
|
||||
body.push(paragraph('', { spacingAfter: 300 }))
|
||||
body.push(infoBox('最终接管意见', '测试环境接管:通过(受控)。生产环境接管:尚未授权,需完成本报告第 9、10 节的前置条件与风险整改,并另行批准。', 'success'))
|
||||
|
||||
// Appendix
|
||||
body.push(heading('附录 A:关键交付物', 1, { pageBreakBefore: true }))
|
||||
body.push(table([
|
||||
['类型', '交付物'],
|
||||
['接管基线', 'doc/MES测试环境接管基线_20260725.md'],
|
||||
['接管报告', 'doc/大连元利流体技术有限公司MES测试环境接管报告_V1.1_2026-07-25.docx'],
|
||||
['过程日志', 'gptlog-process/gpdlog.md'],
|
||||
['前端产物', 'dist/(含测试 static/config.js)'],
|
||||
['登录安全脚本', 'db_backups/secure_test_login_response_20260725.sql 及回滚脚本'],
|
||||
['装配任务脚本', 'db_backups/ 下 20260725 查询、索引、合同工时、预算进度及回滚脚本'],
|
||||
['后端脱敏基线', 'server_baseline/MES_ManageV20250916_20260725/']
|
||||
], [2300, 6700], { band: true }))
|
||||
body.push(heading('附录 B:验证结论索引', 1))
|
||||
;[
|
||||
'前端:10012 外部访问 200,配置 externalReadOnly=true。',
|
||||
'接口:登录 200,菜单 84 条,登录响应无 password。',
|
||||
'模块:9 个核心模块只读查询全部返回 200 和合法 JSON。',
|
||||
'外部集成:B1 GET 通过;B1/TM 写请求隔离测试网络调用为 0。',
|
||||
'数据库:VERIFYONLY、隔离恢复、DBCC CHECKDB、清理全部通过。',
|
||||
'安全:目录浏览关闭、密码 Cookie 移除、仓库已知口令特征扫描为 0。'
|
||||
].forEach(item => body.push(bullet(item)))
|
||||
|
||||
const sectionProperties = `<w:sectPr><w:headerReference w:type="default" r:id="rId1"/><w:footerReference w:type="default" r:id="rId2"/><w:pgSz w:w="11906" w:h="16838"/><w:pgMar w:top="1360" w:right="1360" w:bottom="1360" w:left="1360" w:header="650" w:footer="650" w:gutter="0"/><w:cols w:space="720"/><w:docGrid w:linePitch="312"/></w:sectPr>`
|
||||
|
||||
const documentXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><w:body>${body.join('')}${sectionProperties}</w:body></w:document>`
|
||||
|
||||
const stylesXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
|
||||
<w:styles xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
|
||||
<w:docDefaults><w:rPrDefault><w:rPr><w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体"/><w:sz w:val="21"/><w:szCs w:val="21"/><w:lang w:val="zh-CN" w:eastAsia="zh-CN"/></w:rPr></w:rPrDefault><w:pPrDefault><w:pPr><w:spacing w:after="120" w:line="340" w:lineRule="auto"/></w:pPr></w:pPrDefault></w:docDefaults>
|
||||
<w:style w:type="paragraph" w:default="1" w:styleId="Normal"><w:name w:val="正文"/><w:qFormat/><w:pPr><w:widowControl/></w:pPr><w:rPr><w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体"/><w:sz w:val="21"/><w:szCs w:val="21"/></w:rPr></w:style>
|
||||
<w:style w:type="paragraph" w:styleId="Heading1"><w:name w:val="标题 1"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:qFormat/><w:pPr><w:keepNext/><w:keepLines/><w:spacing w:before="340" w:after="180"/><w:outlineLvl w:val="0"/><w:pBdr><w:bottom w:val="single" w:sz="12" w:space="7" w:color="${COLORS.blue}"/></w:pBdr></w:pPr><w:rPr><w:rFonts w:ascii="微软雅黑" w:hAnsi="微软雅黑" w:eastAsia="微软雅黑"/><w:b/><w:color w:val="${COLORS.navy}"/><w:sz w:val="32"/><w:szCs w:val="32"/></w:rPr></w:style>
|
||||
<w:style w:type="paragraph" w:styleId="Heading2"><w:name w:val="标题 2"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:qFormat/><w:pPr><w:keepNext/><w:keepLines/><w:spacing w:before="260" w:after="120"/><w:outlineLvl w:val="1"/></w:pPr><w:rPr><w:rFonts w:ascii="微软雅黑" w:hAnsi="微软雅黑" w:eastAsia="微软雅黑"/><w:b/><w:color w:val="${COLORS.blue}"/><w:sz w:val="26"/><w:szCs w:val="26"/></w:rPr></w:style>
|
||||
<w:style w:type="paragraph" w:styleId="Heading3"><w:name w:val="标题 3"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:qFormat/><w:pPr><w:keepNext/><w:keepLines/><w:spacing w:before="180" w:after="100"/><w:outlineLvl w:val="2"/></w:pPr><w:rPr><w:rFonts w:ascii="微软雅黑" w:hAnsi="微软雅黑" w:eastAsia="微软雅黑"/><w:b/><w:color w:val="${COLORS.gray}"/><w:sz w:val="22"/><w:szCs w:val="22"/></w:rPr></w:style>
|
||||
</w:styles>`
|
||||
|
||||
const settingsXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:settings xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:zoom w:percent="100"/><w:updateFields w:val="true"/><w:defaultTabStop w:val="420"/><w:characterSpacingControl w:val="doNotCompress"/><w:compat><w:compatSetting w:name="compatibilityMode" w:uri="http://schemas.microsoft.com/office/word" w:val="15"/></w:compat></w:settings>`
|
||||
|
||||
const headerXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:hdr xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:p><w:pPr><w:pBdr><w:bottom w:val="single" w:sz="6" w:space="4" w:color="${COLORS.border}"/></w:pBdr><w:jc w:val="right"/></w:pPr>${run('大连元利流体技术有限公司 | MES 测试环境接管报告', { font: '微软雅黑', eastAsia: '微软雅黑', size: 17, color: COLORS.gray })}</w:p></w:hdr>`
|
||||
|
||||
const footerXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:ftr xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:p><w:pPr><w:pBdr><w:top w:val="single" w:sz="4" w:space="4" w:color="${COLORS.border}"/></w:pBdr><w:jc w:val="center"/></w:pPr>${run('内部资料 | 第 ', { font: '宋体', eastAsia: '宋体', size: 17, color: COLORS.gray })}<w:fldSimple w:instr="PAGE"><w:r><w:rPr><w:rFonts w:eastAsia="宋体"/><w:sz w:val="17"/><w:color w:val="${COLORS.gray}"/></w:rPr><w:t>1</w:t></w:r></w:fldSimple>${run(' 页', { font: '宋体', eastAsia: '宋体', size: 17, color: COLORS.gray })}</w:p></w:ftr>`
|
||||
|
||||
const contentTypesXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/word/document.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"/><Override PartName="/word/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"/><Override PartName="/word/settings.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml"/><Override PartName="/word/header1.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml"/><Override PartName="/word/footer1.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml"/><Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/><Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/></Types>`
|
||||
|
||||
const packageRelsXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="word/document.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/></Relationships>`
|
||||
|
||||
const documentRelsXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/header" Target="header1.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" Target="footer1.xml"/><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/><Relationship Id="rId4" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/settings" Target="settings.xml"/></Relationships>`
|
||||
|
||||
const coreXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:dcmitype="http://purl.org/dc/dcmitype/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dc:title>大连元利流体技术有限公司MES测试环境接管报告</dc:title><dc:subject>MES 测试环境接管与生产接管准备</dc:subject><dc:creator>MES 接管维护</dc:creator><cp:keywords>MES;测试环境;接管;IIS;数据库;恢复演练;安全</cp:keywords><dc:description>MES 测试环境接管状态、验收证据、能力边界和生产接管准备报告。</dc:description><cp:lastModifiedBy>MES 接管维护</cp:lastModifiedBy><dcterms:created xsi:type="dcterms:W3CDTF">2026-07-25T08:00:00Z</dcterms:created><dcterms:modified xsi:type="dcterms:W3CDTF">2026-07-25T08:00:00Z</dcterms:modified><cp:revision>1</cp:revision></cp:coreProperties>`
|
||||
|
||||
const appXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties" xmlns:vt="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes"><Application>Microsoft Office Word</Application><AppVersion>16.0000</AppVersion><Company>大连元利流体技术有限公司</Company><Manager>MES 运维</Manager><DocSecurity>0</DocSecurity><ScaleCrop>false</ScaleCrop><LinksUpToDate>false</LinksUpToDate><SharedDoc>false</SharedDoc><HyperlinksChanged>false</HyperlinksChanged></Properties>`
|
||||
|
||||
const zip = new JSZip()
|
||||
zip.file('[Content_Types].xml', contentTypesXml)
|
||||
zip.folder('_rels').file('.rels', packageRelsXml)
|
||||
zip.folder('docProps').file('core.xml', coreXml).file('app.xml', appXml)
|
||||
const word = zip.folder('word')
|
||||
word.file('document.xml', documentXml)
|
||||
word.file('styles.xml', stylesXml)
|
||||
word.file('settings.xml', settingsXml)
|
||||
word.file('header1.xml', headerXml)
|
||||
word.file('footer1.xml', footerXml)
|
||||
word.folder('_rels').file('document.xml.rels', documentRelsXml)
|
||||
|
||||
fs.mkdirSync(path.dirname(outputPath), { recursive: true })
|
||||
fs.writeFileSync(outputPath, zip.generate({ type: 'nodebuffer', compression: 'DEFLATE' }))
|
||||
|
||||
const stats = fs.statSync(outputPath)
|
||||
console.log(JSON.stringify({ outputPath, bytes: stats.size, sections: 12, appendices: 2 }))
|
||||
467
work/generate-mes-user-manual.js
Normal file
@@ -0,0 +1,467 @@
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const JSZip = require('jszip')
|
||||
|
||||
const root = path.resolve(__dirname, '..')
|
||||
const docDir = path.join(root, 'doc')
|
||||
const menuRows = parseCsv(fs.readFileSync(path.join(root, 'work', 'menu_inventory_role1.csv'), 'utf8'))
|
||||
const pageRows = parseCsv(fs.readFileSync(path.join(root, 'work', 'page_ui_inventory_role1_20260725.csv'), 'utf8'))
|
||||
const frontendRows = parseCsv(fs.readFileSync(path.join(root, 'work', 'frontend_procedure_call_inventory_20260725.csv'), 'utf8'))
|
||||
const dbRows = parseCsv(fs.readFileSync(path.join(root, 'work', 'database_procedure_inventory_20260725.csv'), 'utf8'))
|
||||
const dependencyRows = parseCsv(fs.readFileSync(path.join(root, 'work', 'database_expression_dependencies_20260725.csv'), 'utf8'))
|
||||
const missingRows = parseCsv(fs.readFileSync(path.join(root, 'work', 'frontend_calls_missing_db_procedure_20260725.csv'), 'utf8'))
|
||||
const scanSummary = JSON.parse(fs.readFileSync(path.join(root, 'work', 'frontend_function_scan_summary_20260725.json'), 'utf8'))
|
||||
|
||||
function parseCsv(text) {
|
||||
const source = text.replace(/^\uFEFF/, '').trim()
|
||||
const records = []
|
||||
let record = []
|
||||
let value = ''
|
||||
let quoted = false
|
||||
|
||||
for (let i = 0; i < source.length; i++) {
|
||||
const c = source[i]
|
||||
if (c === '"') {
|
||||
if (quoted && source[i + 1] === '"') {
|
||||
value += '"'
|
||||
i++
|
||||
} else {
|
||||
quoted = !quoted
|
||||
}
|
||||
} else if (c === ',' && !quoted) {
|
||||
record.push(value)
|
||||
value = ''
|
||||
} else if ((c === '\r' || c === '\n') && !quoted) {
|
||||
if (c === '\r' && source[i + 1] === '\n') i++
|
||||
record.push(value)
|
||||
records.push(record)
|
||||
record = []
|
||||
value = ''
|
||||
} else {
|
||||
value += c
|
||||
}
|
||||
}
|
||||
|
||||
record.push(value)
|
||||
records.push(record)
|
||||
const headers = records.shift()
|
||||
return records
|
||||
.filter(values => values.some(item => item !== ''))
|
||||
.map(values => Object.fromEntries(headers.map((header, i) => [header, values[i] || ''])))
|
||||
}
|
||||
|
||||
function unique(values) {
|
||||
return [...new Set(values.map(value => String(value || '').replace(/ /g, ' ').replace(/\s+/g, ' ').trim()).filter(Boolean))]
|
||||
}
|
||||
|
||||
function list(value, limit = 10) {
|
||||
const values = unique(String(value || '').split('|')).filter(item => !/^(if|for|returnModule|fn|-->)/.test(item))
|
||||
return values.slice(0, limit).join('、') + (values.length > limit ? ' 等' : '')
|
||||
}
|
||||
|
||||
function csv(value) {
|
||||
return `"${String(value == null ? '' : value).replace(/"/g, '""')}"`
|
||||
}
|
||||
|
||||
const rootRows = menuRows.filter(row => row.pid === '0')
|
||||
const pagesByModule = new Map()
|
||||
for (const row of pageRows) {
|
||||
if (!pagesByModule.has(row.module)) pagesByModule.set(row.module, [])
|
||||
pagesByModule.get(row.module).push(row)
|
||||
}
|
||||
const moduleTitles = Object.fromEntries(rootRows.map(row => [row.componet.split('/')[1], row.title]))
|
||||
const moduleIntros = {
|
||||
SystemMaintenance: '维护人员、角色、菜单、工位和操作记录,是权限与基础配置入口。',
|
||||
PlanManagement: '管理机加件、装配件、工位任务、排产状态、优先级、关闭和齐套跟踪。',
|
||||
ProductionManagement: '覆盖生产计划跟踪、加工中心、装配、工时、外协、拣配、设备状态和发货通知。',
|
||||
QualityManagement: '覆盖终检、序检、采购/退库/其他入库检、质检报工、质检明细和不合格品处置。',
|
||||
ProcessManagement: '维护工序、标准工艺、生产工艺、工艺任务、零件图纸和工艺图纸。',
|
||||
DeviceManagement: '维护设备基础信息、工位绑定、设备采集数据、历史数据和实时数据。',
|
||||
SaleManagement: '查看销售订单状态、排产、发货和入库相关信息。',
|
||||
AnomalousManagement: '集中查看未及时开工、外协开工、加急任务和装配及时送检异常。',
|
||||
ResearchManagement: '覆盖设计任务、设计报工、设计工时校验、工时报表和研发财务工时。'
|
||||
}
|
||||
|
||||
function moduleWorkflow(module) {
|
||||
const workflows = {
|
||||
SystemMaintenance: ['先维护人员和角色,再配置菜单权限;修改权限后退出并重新登录验证。', '工位管理用于维护 MES 工位名称和绑定信息,删除或修改前确认没有未完成任务。', '操作记录用于追溯关键人工操作,出现争议时先按时间、人员和模块筛选。'],
|
||||
PlanManagement: ['先按订单、物料、日期和状态查询,再选择任务执行排产、派工、优先级或计划时间调整。', '批量操作前核对选择行、计划数量和指派对象;排产完成后到已排产/工位任务汇总复核。', '系统类装配任务和阀类装配任务中的预算工时为手工输入,进度由任务/质检工时除以对应预算自动计算。'],
|
||||
ProductionManagement: ['加工中心按待处理任务、工序和工位操作,通常按收料、开工、暂停/恢复、报工、送检或异常流程推进。', '工时修正、结算工时和外协流程属于受控写操作,必须确认业务单据和审批状态。', '生产计划跟踪、工时报表、装配状态和发货通知优先用于查询和核对。'],
|
||||
QualityManagement: ['先选择质检任务和质检类型,再录入实测值、判定、合格/不合格数量并保存;不合格品进入处置流程。', '终检、序检、收检、采购入库检、退库检和其他入库检应按实际业务节点使用,不要跨节点补录。', '质检明细、及时检验报表和产品合格率用于追溯和统计,导出前先确认筛选条件。'],
|
||||
ProcessManagement: ['先维护工序和标准工艺,再生成/编辑生产工艺,最后向生产订单下发工艺任务。', '图纸维护和工艺维护用于查看、上传或关联图纸;修改工序顺序、工时和启用状态前确认影响范围。', '工艺查询优先用于只读核对,工艺编辑需保留变更原因。'],
|
||||
DeviceManagement: ['先建立设备基础信息并绑定工位,再使用设备数据、历史数据和实时数据检查采集状态。', '设备信息中的证书有效期、主要设备、特种设备和标准开机工时应保持准确。', '实时数据异常时先判断采集链路,再判断页面和数据库,不要直接重复提交设备写操作。'],
|
||||
SaleManagement: ['使用订单号、合同号、产品编码、计划日期、排产/发货/入库状态筛选销售订单。', '订单状态用于跨计划、生产、库存和发货的核对,不作为单独修改生产状态的入口。'],
|
||||
AnomalousManagement: ['先按异常类型、订单、产品和时间筛选,确认责任工序和当前状态。', '加急任务和及时送检异常处理前先确认计划、工序、人员和优先级,避免重复催办。'],
|
||||
ResearchManagement: ['设计任务用于接收和分派研发任务,设计报工用于提交研发工时,设计工时校验和报表用于复核。', '研发财务工时属于统计口径页面,修改前需确认研发任务和财务归集规则。']
|
||||
}
|
||||
return workflows[module] || ['按页面筛选条件查询数据,选择记录后执行页面提供的操作。', '涉及保存、删除、状态切换的操作必须先确认权限和回滚方式。']
|
||||
}
|
||||
|
||||
const markdown = []
|
||||
markdown.push('# 大连元利流体技术有限公司 MES 后台网页版用户操作手册')
|
||||
markdown.push('')
|
||||
markdown.push('**文档版本:V1.0 | 适用环境:MES 测试环境 | 日期:2026-07-25**')
|
||||
markdown.push('')
|
||||
markdown.push('> 本手册基于测试环境角色 1 的 84 条菜单、75 个可进入页面、前端代码静态扫描和测试数据库对象盘点生成。不同角色的菜单、按钮和数据范围以实际权限为准。')
|
||||
markdown.push('')
|
||||
markdown.push('## 1. 使用前说明')
|
||||
markdown.push('')
|
||||
markdown.push('- 测试前端地址:`http://124.220.15.242:10012/`。')
|
||||
markdown.push('- MES 接口由前端自动调用,用户不需要手工拼接接口地址。')
|
||||
markdown.push('- 测试环境 B1/TM 只允许登录与只读 GET;语义 POST/PATCH 会在前端拦截,不要用写操作验证连通性。')
|
||||
markdown.push('- 页面按钮和数据范围由角色权限控制;看不到某个菜单或按钮时先联系系统管理员,不要直接修改浏览器参数。')
|
||||
markdown.push('- 涉及新增、编辑、删除、排产、派工、报工、质检、入库和状态切换的操作,必须先确认业务单据、操作人和回滚方式。')
|
||||
markdown.push('')
|
||||
markdown.push('## 2. 登录与通用操作')
|
||||
markdown.push('')
|
||||
markdown.push('### 2.1 登录')
|
||||
markdown.push('')
|
||||
markdown.push('1. 打开测试前端地址。')
|
||||
markdown.push('2. 输入账号和密码,点击“登录”。')
|
||||
markdown.push('3. 登录成功后进入首页;系统按角色加载菜单和按钮权限。')
|
||||
markdown.push('4. “记住账号”只保存账号,不保存密码;离开共享电脑时不要勾选。')
|
||||
markdown.push('')
|
||||
markdown.push('### 2.2 列表查询')
|
||||
markdown.push('')
|
||||
markdown.push('1. 先填写必要筛选条件,日期条件使用页面提供的日期选择器。')
|
||||
markdown.push('2. 点击“查询”,等待表格刷新。')
|
||||
markdown.push('3. 使用分页、每页条数、排序和导出功能核对结果。')
|
||||
markdown.push('4. 查询结果为空时先清空筛选条件,再判断是否确实没有数据。')
|
||||
markdown.push('')
|
||||
markdown.push('### 2.3 新增、编辑、删除与状态操作')
|
||||
markdown.push('')
|
||||
markdown.push('1. 新增前确认必填字段、编码唯一性和关联对象。')
|
||||
markdown.push('2. 编辑前先选中正确记录,核对订单、合同、工位或人员。')
|
||||
markdown.push('3. 删除、关闭、完成、启用、禁用、排产、派工和报工属于状态性操作,执行前必须二次确认。')
|
||||
markdown.push('4. 保存后重新查询并核对操作时间、编辑人和状态。')
|
||||
markdown.push('')
|
||||
markdown.push('### 2.4 页面常见问题')
|
||||
markdown.push('')
|
||||
markdown.push('| 现象 | 处理顺序 |')
|
||||
markdown.push('| --- | --- |')
|
||||
markdown.push('| 登录成功但没有菜单 | 退出重新登录;确认角色是否启用、菜单是否分配、接口是否返回菜单数据。 |')
|
||||
markdown.push('| 查询很慢 | 缩小日期和订单范围;记录页面、条件和耗时,交给运维分析存储过程和执行计划。 |')
|
||||
markdown.push('| 按钮不存在 | 检查角色 AddData/DeleteData/EditData/SearchData 权限,不要直接改前端隐藏逻辑。 |')
|
||||
markdown.push('| B1/TM 操作失败 | 测试环境先确认是否为被保护的 POST/PATCH;写操作不会为了测试而放开。 |')
|
||||
markdown.push('| 保存后页面没有变化 | 重新查询并查看接口返回;确认过程是否存在、参数名和业务状态是否满足。 |')
|
||||
markdown.push('')
|
||||
markdown.push('## 3. 菜单与页面总览')
|
||||
markdown.push('')
|
||||
markdown.push(`当前角色菜单共 **${menuRows.length}** 条,其中模块 **${rootRows.length}** 个、可进入页面 **${pageRows.length}** 个。`)
|
||||
markdown.push('')
|
||||
for (const rootRow of rootRows) {
|
||||
const module = rootRow.componet.split('/')[1]
|
||||
const pages = pagesByModule.get(module) || []
|
||||
markdown.push(`### ${rootRow.title}`)
|
||||
markdown.push('')
|
||||
markdown.push(`用途:${moduleIntros[module] || '用于 MES 业务管理和查询。'}`)
|
||||
markdown.push('')
|
||||
markdown.push('| 页面 | 路径 | 主要操作 | 关键字段/内容 |')
|
||||
markdown.push('| --- | --- | --- | --- |')
|
||||
for (const page of pages) {
|
||||
markdown.push(`| ${page.title} | \`${page.path}\` | ${list(page.buttons, 8) || '查询/查看'} | ${list(page.columns, 10) || '按页面实际数据展示'} |`)
|
||||
}
|
||||
markdown.push('')
|
||||
}
|
||||
markdown.push('## 4. 各模块操作流程')
|
||||
markdown.push('')
|
||||
for (const rootRow of rootRows) {
|
||||
const module = rootRow.componet.split('/')[1]
|
||||
markdown.push(`### 4.${rootRows.indexOf(rootRow) + 1} ${rootRow.title}`)
|
||||
markdown.push('')
|
||||
markdown.push(`模块定位:${moduleIntros[module] || '用于 MES 业务管理和查询。'}`)
|
||||
for (const item of moduleWorkflow(module)) markdown.push(`- ${item}`)
|
||||
markdown.push('')
|
||||
const pages = pagesByModule.get(module) || []
|
||||
for (const page of pages) {
|
||||
markdown.push(`#### ${page.title}`)
|
||||
markdown.push('')
|
||||
markdown.push(`页面地址:\`${page.path}\``)
|
||||
markdown.push('')
|
||||
markdown.push(`- 页面源码:\`${page.source}\``)
|
||||
markdown.push(`- 页面操作:${list(page.buttons, 14) || '查询、查看'}`)
|
||||
markdown.push(`- 主要字段:${list(page.columns, 18) || '按接口返回字段展示'}`)
|
||||
if (page.procedures) markdown.push(`- 相关过程:${list(page.procedures.split('|'), 18)}`)
|
||||
if (page.b1GetPostPatch && page.b1GetPostPatch !== '0/0/0') markdown.push(`- B1 调用:GET/POST/PATCH = ${page.b1GetPostPatch};测试环境 POST/PATCH 受保护。`)
|
||||
if (page.tmGetPostPatch && page.tmGetPostPatch !== '0/0/0') markdown.push(`- TM 调用:GET/POST/PATCH = ${page.tmGetPostPatch};测试环境写操作受保护。`)
|
||||
markdown.push('操作建议:先查询并确认记录,再执行页面按钮;保存或状态操作后重新查询核对结果。')
|
||||
markdown.push('')
|
||||
}
|
||||
}
|
||||
markdown.push('## 5. 重点业务流程')
|
||||
markdown.push('')
|
||||
markdown.push('### 5.1 排产与装配任务')
|
||||
markdown.push('')
|
||||
markdown.push('1. 在“机加件排产”或“装配件排产”按订单、物料、日期和状态查询。')
|
||||
markdown.push('2. 选择任务后执行排产、派工、优先级或计划时间调整;批量操作前核对选择行。')
|
||||
markdown.push('3. 到“已排产”“工位任务汇总”或“及时齐套跟踪结果”复核状态。')
|
||||
markdown.push('4. 在“系统类装配任务”“阀类装配任务”维护预算装配工时和合同预算测试工时,进度字段由系统计算。')
|
||||
markdown.push('')
|
||||
markdown.push('### 5.2 工艺维护与工艺下发')
|
||||
markdown.push('')
|
||||
markdown.push('1. 在“工序管理”维护工序基础信息。')
|
||||
markdown.push('2. 在“制定标准工艺”维护准备工时、标准工时、工装量具、机床和车间。')
|
||||
markdown.push('3. 在“生产工艺”查询订单并生成/编辑工艺,确认工序顺序和工时。')
|
||||
markdown.push('4. 需要下发生产任务时,确认订单、工艺版本和目标工序后执行下发。')
|
||||
markdown.push('')
|
||||
markdown.push('### 5.3 加工中心与装配中心')
|
||||
markdown.push('')
|
||||
markdown.push('1. 按工位、人员、班次和任务状态查询待处理任务。')
|
||||
markdown.push('2. 按业务顺序执行收料、开工、暂停/恢复、报工、送检和异常处理。')
|
||||
markdown.push('3. 质检数据录入前核对检测项目、理论值、上下限、实测值和判定。')
|
||||
markdown.push('4. 操作完成后检查任务状态、工时、数量和最后编辑人。')
|
||||
markdown.push('')
|
||||
markdown.push('### 5.4 质量检验与不合格品')
|
||||
markdown.push('')
|
||||
markdown.push('1. 根据业务节点进入终检、序检、收检、采购入库检、销售退货检、原材料退库检或其他入库检。')
|
||||
markdown.push('2. 选择任务和检测项目,录入检验数量、合格数、不合格数和实测值。')
|
||||
markdown.push('3. 不合格结果进入“不合格品处置”,填写处置结论并保留审批/操作记录。')
|
||||
markdown.push('4. 使用“质检明细”“及时检验报表”“产品合格率”进行追溯和统计。')
|
||||
markdown.push('')
|
||||
markdown.push('### 5.5 人员、角色、菜单和工位')
|
||||
markdown.push('')
|
||||
markdown.push('1. 先新增或维护人员,再配置角色。')
|
||||
markdown.push('2. 在角色管理为角色分配模块和操作权限。')
|
||||
markdown.push('3. 在菜单管理维护模块路径和层级;变更菜单前先确认路由组件存在。')
|
||||
markdown.push('4. 在工位管理维护工位号、名称和关联信息。')
|
||||
markdown.push('5. 权限修改后使用目标账号重新登录验证,不以管理员账号代替验收。')
|
||||
markdown.push('')
|
||||
markdown.push('## 6. 权限与数据安全')
|
||||
markdown.push('')
|
||||
markdown.push('- 菜单权限来自数据库角色菜单过程;页面按钮受 AddData、DeleteData、EditData、SearchData 等权限控制。')
|
||||
markdown.push('- 测试前端配置 `externalReadOnly=true` 时,B1/TM 语义 POST/PATCH 在网络请求前被拦截。')
|
||||
markdown.push('- 不要在浏览器开发者工具中手工重放生产接口或外部系统写请求。')
|
||||
markdown.push('- 不要把账号、密码、Token、业务数据或导出文件提交到代码仓库。')
|
||||
markdown.push('- 发现数据异常时保留页面、筛选条件、时间、账号、响应状态和操作记录,不要先删除数据。')
|
||||
markdown.push('')
|
||||
markdown.push('## 7. 功能定位与新增需求说明')
|
||||
markdown.push('')
|
||||
markdown.push('### 7.1 页面问题定位')
|
||||
markdown.push('')
|
||||
markdown.push('1. 先从菜单路径定位页面源码:`src/views/<模块>/<页面>/index.vue`,特殊页面以菜单组件路径为准。')
|
||||
markdown.push('2. 在页面中查找 `CreateData`,确认过程名、调用类型和参数名。')
|
||||
markdown.push('3. 通用接口入口位于 `src/utils/request.js` 和 `src/utils/curd.js`;动态菜单由 `src/router/getTreeData.js` 和 `src/router/menuComponentModule.js` 生成。')
|
||||
markdown.push('4. B1/TM 封装分别位于 `src/api/b1s.js`、`src/api/tm.js`;测试环境不要绕过只读保护。')
|
||||
markdown.push('5. 到数据库过程清单中确认过程存在、参数数量、写入特征和外部依赖,再决定改前端、改过程还是补充对象。')
|
||||
markdown.push('')
|
||||
markdown.push('### 7.2 新增需求的推荐顺序')
|
||||
markdown.push('')
|
||||
markdown.push('1. 明确页面角色、数据范围、查询条件、字段口径和读写边界。')
|
||||
markdown.push('2. 先确认现有过程是否可复用,避免新增同义过程。')
|
||||
markdown.push('3. 测试库新增/修改过程时编写前置校验、事务、验证 SQL 和回滚脚本。')
|
||||
markdown.push('4. 前端实现表格、表单、权限按钮、加载/空结果/错误状态和分页。')
|
||||
markdown.push('5. 先做只读回归,再用隔离数据做写流程回归,最后更新菜单、手册和变更记录。')
|
||||
markdown.push('')
|
||||
markdown.push('## 8. 全量扫描结果与已知风险')
|
||||
markdown.push('')
|
||||
markdown.push(`- 前端源码:${scanSummary.sourceFiles} 个源码文件,其中 ${scanSummary.vueFiles} 个 Vue、${scanSummary.jsFiles} 个 JS。`)
|
||||
markdown.push(`- CreateData:${scanSummary.totalCreateDataCalls} 次调用,${scanSummary.literalCreateDataCalls} 次字面量过程调用,${scanSummary.uniqueLiteralProcedures} 个唯一字面量过程名,另有 ${scanSummary.dynamicCreateDataCalls} 次动态调用需人工复核。`)
|
||||
markdown.push(`- 外部集成调用:B1 GET/POST/PATCH = ${scanSummary.b1.get}/${scanSummary.b1.post}/${scanSummary.b1.patch};TM GET/POST/PATCH = ${scanSummary.tm.get}/${scanSummary.tm.post}/${scanSummary.tm.patch}。`)
|
||||
markdown.push(`- 测试数据库:${dbRows.length} 个存储过程、63 张表、27 个视图;过程定义中包含明显写关键字的约 ${dbRows.filter(row => row.HasWriteKeyword === '1').length} 个。`)
|
||||
markdown.push(`- 数据库表达式依赖:${dependencyRows.length} 条,其中跨服务器依赖 ${dependencyRows.filter(row => String(row.ReferencedServer || '').trim()).length} 条,跨库依赖 ${dependencyRows.filter(row => String(row.ReferencedDatabase || '').trim()).length} 条。`)
|
||||
markdown.push(`- 前端调用但测试库找不到同名过程:${missingRows.length} 个,属于重点风险,不代表全部页面不可用,需按部署版本、动态过程或历史页面逐项确认。`)
|
||||
if (missingRows.length) {
|
||||
markdown.push('')
|
||||
markdown.push('缺失过程清单:')
|
||||
for (const row of missingRows) markdown.push(`- \`${row.Procedure}\`:${row.SourceFiles}`)
|
||||
}
|
||||
markdown.push('- 数据库存在但静态前端未调用的过程可能来自事件、定时任务、接口内部调用、历史功能或未授权菜单,不能仅凭“未调用”判定为废弃。')
|
||||
markdown.push('- 当前测试环境的核心外部依赖、证书、后端高权限账号和写流程验收仍按接管报告中的限制执行。')
|
||||
markdown.push('')
|
||||
markdown.push('## 9. 交付清单')
|
||||
markdown.push('')
|
||||
markdown.push('- 本用户手册:`doc/MES后台网页版用户操作手册_V1.0_20260725.docx`')
|
||||
markdown.push('- Markdown 版:`doc/MES后台网页版用户操作手册_V1.0_20260725.md`')
|
||||
markdown.push('- 菜单清单:`work/menu_inventory_role1.csv`')
|
||||
markdown.push('- 页面 UI 清单:`work/page_ui_inventory_role1_20260725.csv`')
|
||||
markdown.push('- 前端过程调用清单:`work/frontend_procedure_call_inventory_20260725.csv`')
|
||||
markdown.push('- 数据库过程清单:`work/database_procedure_inventory_20260725.csv`')
|
||||
markdown.push('- 前端/数据库差异清单:`work/frontend_calls_missing_db_procedure_20260725.csv`')
|
||||
markdown.push('- 全量过程扫描脚本:`work/scan-frontend-function-inventory.js`')
|
||||
markdown.push('- 页面扫描脚本:`work/scan-page-ui-inventory.js`')
|
||||
markdown.push('')
|
||||
markdown.push('> 手册首版基于源码、菜单和存储过程静态盘点;涉及真实业务写入的页面仍需在隔离数据上完成业务负责人验收后,才能标记为生产可用。')
|
||||
|
||||
const markdownPath = path.join(docDir, 'MES后台网页版用户操作手册_V1.0_20260725.md')
|
||||
fs.writeFileSync(markdownPath, markdown.join('\n') + '\n', 'utf8')
|
||||
|
||||
const mapLines = []
|
||||
mapLines.push('# MES 后台网页版功能与存储过程全量盘点')
|
||||
mapLines.push('')
|
||||
mapLines.push('盘点日期:2026-07-25 | 环境:测试数据库 YL_MESDB | 角色:1')
|
||||
mapLines.push('')
|
||||
mapLines.push('## 1. 盘点范围')
|
||||
mapLines.push('')
|
||||
mapLines.push(`- 前端源码:${scanSummary.sourceFiles} 个文件,其中 ${scanSummary.vueFiles} 个 Vue、${scanSummary.jsFiles} 个 JS。`)
|
||||
mapLines.push(`- 菜单:${menuRows.length} 条,其中模块 ${rootRows.length} 个、可进入页面 ${pageRows.length} 个;75 个页面全部映射到源码文件。`)
|
||||
mapLines.push(`- 前端过程调用:${scanSummary.totalCreateDataCalls} 次 CreateData,${scanSummary.uniqueLiteralProcedures} 个唯一字面量过程名,${scanSummary.dynamicCreateDataCalls} 次动态调用。`)
|
||||
mapLines.push(`- 数据库对象:${dbRows.length} 个存储过程、63 张表、27 个视图。`)
|
||||
mapLines.push(`- 数据库表达式依赖:${dependencyRows.length} 条,其中跨服务器依赖 ${dependencyRows.filter(row => String(row.ReferencedServer || '').trim()).length} 条,跨库依赖 ${dependencyRows.filter(row => String(row.ReferencedDatabase || '').trim()).length} 条。`)
|
||||
mapLines.push('')
|
||||
mapLines.push('## 2. 页面到过程映射')
|
||||
mapLines.push('')
|
||||
mapLines.push('| 模块 | 页面 | 源码 | 主要操作 | 过程调用 | B1 GET/POST/PATCH | TM GET/POST/PATCH |')
|
||||
mapLines.push('| --- | --- | --- | --- | --- | --- | --- |')
|
||||
for (const page of pageRows) mapLines.push(`| ${page.module} | ${page.title} | ${page.source} | ${list(page.buttons, 8)} | ${list(page.procedures.split('|'), 16)} | ${page.b1GetPostPatch} | ${page.tmGetPostPatch} |`)
|
||||
mapLines.push('')
|
||||
mapLines.push('## 3. 前端调用与数据库差异')
|
||||
mapLines.push('')
|
||||
mapLines.push(`前端字面量调用但测试库找不到同名过程共 **${missingRows.length}** 个。该结果可能由测试库版本差异、动态接口、历史页面或过程名称变更造成,必须逐项确认:`)
|
||||
mapLines.push('')
|
||||
for (const row of missingRows) mapLines.push(`- ${row.Procedure}:调用次数 ${row.CallCount},来源 ${row.SourceFiles}`)
|
||||
mapLines.push('')
|
||||
mapLines.push(`数据库中有 ${dbRows.filter(row => !frontendRows.some(front => String(front.Procedure || '').toLocaleLowerCase() === String(row.name || '').toLocaleLowerCase())).length} 个过程未被静态前端直接调用。它们可能由事件、定时任务、接口内部调用、其他客户端、历史菜单或后台作业使用,不能仅凭静态未引用判定为废弃。`)
|
||||
mapLines.push('')
|
||||
mapLines.push('## 4. 过程风险分类')
|
||||
mapLines.push('')
|
||||
mapLines.push(`- 过程总数:${dbRows.length}。`)
|
||||
mapLines.push(`- 定义中出现 INSERT/UPDATE/DELETE/MERGE 等明显写关键字:${dbRows.filter(row => row.HasWriteKeyword === '1').length} 个。`)
|
||||
mapLines.push(`- 明确包含 OPENQUERY、[SAP] 或现场 SAP 交货表引用:${dbRows.filter(row => row.HasExternalDependency === '1').length} 个。`)
|
||||
mapLines.push('- 写过程必须按业务数据、权限、事务、回滚和审计要求单独验收;外部依赖过程必须在现场连接可用时再做联调。')
|
||||
mapLines.push('')
|
||||
mapLines.push('## 5. 新需求定位路径')
|
||||
mapLines.push('')
|
||||
mapLines.push('1. 从菜单路径定位 `src/views/<模块>/<页面>/index.vue`。')
|
||||
mapLines.push('2. 在页面中搜索 `CreateData`,记录过程名、type、参数名和调用前后的页面状态。')
|
||||
mapLines.push('3. 在 `work/database_procedure_inventory_20260725.csv` 查过程参数数量、写入特征和外部依赖。')
|
||||
mapLines.push('4. 如果过程不存在,先确认测试库与发布物版本,再决定补过程、改过程名映射还是修复页面。')
|
||||
mapLines.push('5. 变更必须配套前置校验、事务、验证 SQL、回滚脚本、页面回归和手册更新。')
|
||||
mapLines.push('')
|
||||
mapLines.push('## 6. 原始清单')
|
||||
mapLines.push('')
|
||||
mapLines.push('- `work/menu_inventory_role1.csv`:角色菜单清单。')
|
||||
mapLines.push('- `work/page_ui_inventory_role1_20260725.csv`:页面按钮、字段、方法和过程清单。')
|
||||
mapLines.push('- `work/frontend_procedure_call_inventory_20260725.csv`:前端过程调用清单。')
|
||||
mapLines.push('- `work/database_procedure_inventory_20260725.csv`:测试库全部过程清单。')
|
||||
mapLines.push('- `work/database_procedure_parameters_20260725.csv`:全部过程参数清单。')
|
||||
mapLines.push('- `work/database_table_columns_20260725.csv`、`work/database_view_columns_20260725.csv`:表和视图字段清单。')
|
||||
mapLines.push('- `work/database_expression_dependencies_20260725.csv`:过程、视图、约束等表达式依赖清单。')
|
||||
mapLines.push('- `work/frontend_calls_missing_db_procedure_20260725.csv`:前端调用缺失过程清单。')
|
||||
mapLines.push('- `work/database_procedures_unused_by_static_frontend_20260725.csv`:数据库未被静态前端调用清单。')
|
||||
const mapPath = path.join(docDir, 'MES后台网页版功能与存储过程全量盘点_20260725.md')
|
||||
fs.writeFileSync(mapPath, mapLines.join('\n') + '\n', 'utf8')
|
||||
|
||||
// A compact DOCX rendering of the same manual. Tables are generated from the same inventory data.
|
||||
const colors = { navy: '17365D', blue: '1F4E78', lightBlue: 'D9EAF7', gray: '666666', lightGray: 'F2F2F2', green: '548235', paleGreen: 'E2F0D9', amber: 'BF8F00', paleAmber: 'FFF2CC', red: 'C00000', paleRed: 'FCE4D6', border: 'B4C6E7', white: 'FFFFFF' }
|
||||
const esc = value => String(value == null ? '' : value).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, ''')
|
||||
function r(text, opts = {}) {
|
||||
const p = [`<w:rFonts w:ascii="${esc(opts.font || '宋体')}" w:hAnsi="${esc(opts.font || '宋体')}" w:eastAsia="${esc(opts.eastAsia || opts.font || '宋体')}"/>`]
|
||||
if (opts.bold) p.push('<w:b/>')
|
||||
if (opts.italic) p.push('<w:i/>')
|
||||
if (opts.color) p.push(`<w:color w:val="${opts.color}"/>`)
|
||||
p.push(`<w:sz w:val="${opts.size || 21}"/><w:szCs w:val="${opts.size || 21}"/>`)
|
||||
return `<w:r><w:rPr>${p.join('')}</w:rPr><w:t xml:space="preserve">${esc(text)}</w:t></w:r>`
|
||||
}
|
||||
function p(content, opts = {}) {
|
||||
const runs = Array.isArray(content) ? content : [r(content, opts.run || {})]
|
||||
const pp = []
|
||||
if (opts.style) pp.push(`<w:pStyle w:val="${opts.style}"/>`)
|
||||
if (opts.align) pp.push(`<w:jc w:val="${opts.align}"/>`)
|
||||
if (opts.keepNext) pp.push('<w:keepNext/>')
|
||||
if (opts.pageBreakBefore) pp.push('<w:pageBreakBefore/>')
|
||||
pp.push(`<w:spacing w:after="${opts.after == null ? 100 : opts.after}" w:line="${opts.line || 320}" w:lineRule="auto"/>`)
|
||||
return `<w:p><w:pPr>${pp.join('')}</w:pPr>${runs.join('')}</w:p>`
|
||||
}
|
||||
function h(text, level, pageBreak = false) { return p(text, { style: `Heading${level}`, keepNext: true, pageBreakBefore: pageBreak }) }
|
||||
function bulletXml(text) { return p([r('• ', { font: '微软雅黑', eastAsia: '微软雅黑', bold: true, color: colors.blue }), r(text)], { after: 70 }) }
|
||||
function numberXml(num, text) { return p([r(`${num}. `, { font: '微软雅黑', eastAsia: '微软雅黑', bold: true, color: colors.blue }), r(text)], { after: 80 }) }
|
||||
function td(text, width, opts = {}) {
|
||||
const content = Array.isArray(text) ? text : [p(String(text), { run: { size: opts.size || 18, bold: opts.bold, color: opts.color, font: opts.font || '宋体', eastAsia: opts.font || '宋体' }, after: 0, line: 260 })]
|
||||
return `<w:tc><w:tcPr><w:tcW w:w="${width}" w:type="dxa"/><w:tcMar><w:top w:w="70" w:type="dxa"/><w:left w:w="80" w:type="dxa"/><w:bottom w:w="70" w:type="dxa"/><w:right w:w="80" w:type="dxa"/></w:tcMar><w:vAlign w:val="center"/>${opts.fill ? `<w:shd w:fill="${opts.fill}"/>` : ''}</w:tcPr>${content.join('')}</w:tc>`
|
||||
}
|
||||
function tbl(rows, widths, header = false) {
|
||||
const grid = widths.map(width => `<w:gridCol w:w="${width}"/>`).join('')
|
||||
const body = rows.map((row, index) => `<w:tr><w:trPr>${header && index === 0 ? '<w:tblHeader/>' : ''}<w:cantSplit/></w:trPr>${row.map((text, i) => td(text, widths[i], { fill: header && index === 0 ? colors.blue : (index % 2 === 0 ? colors.lightBlue : null), bold: header && index === 0, color: header && index === 0 ? colors.white : null })).join('')}</w:tr>`).join('')
|
||||
return `<w:tbl><w:tblPr><w:tblW w:w="9000" w:type="dxa"/><w:tblLayout w:type="fixed"/><w:tblBorders><w:top w:val="single" w:sz="5" w:color="${colors.border}"/><w:left w:val="single" w:sz="5" w:color="${colors.border}"/><w:bottom w:val="single" w:sz="5" w:color="${colors.border}"/><w:right w:val="single" w:sz="5" w:color="${colors.border}"/><w:insideH w:val="single" w:sz="3" w:color="D9E2F3"/><w:insideV w:val="single" w:sz="3" w:color="D9E2F3"/></w:tblBorders></w:tblPr><w:tblGrid>${grid}</w:tblGrid>${body}</w:tbl>`
|
||||
}
|
||||
function info(title, text, fill = colors.paleGreen, color = colors.green) {
|
||||
const titleParagraph = p([r(title, { font: '微软雅黑', eastAsia: '微软雅黑', bold: true, color, size: 22 })], { after: 70 })
|
||||
const textParagraph = p([r(text, { size: 20 })], { after: 0 })
|
||||
return `<w:tbl><w:tblPr><w:tblW w:w="9000" w:type="dxa"/><w:tblBorders><w:top w:val="single" w:sz="5" w:color="${color}"/><w:left w:val="single" w:sz="5" w:color="${color}"/><w:bottom w:val="single" w:sz="5" w:color="${color}"/><w:right w:val="single" w:sz="5" w:color="${color}"/></w:tblBorders></w:tblPr><w:tblGrid><w:gridCol w:w="9000"/></w:tblGrid><w:tr><w:trPr><w:cantSplit/></w:trPr><w:tc><w:tcPr><w:tcW w:w="9000" w:type="dxa"/><w:shd w:fill="${fill}"/><w:tcMar><w:top w:w="90" w:type="dxa"/><w:left w:w="110" w:type="dxa"/><w:bottom w:w="90" w:type="dxa"/><w:right w:w="110" w:type="dxa"/></w:tcMar></w:tcPr>${titleParagraph}${textParagraph}</w:tc></w:tr></w:tbl>`
|
||||
}
|
||||
|
||||
const docBody = []
|
||||
docBody.push(p('大连元利流体技术有限公司', { align: 'center', after: 100, run: { font: '微软雅黑', eastAsia: '微软雅黑', size: 28, color: colors.gray } }))
|
||||
docBody.push(p('MES 后台网页版用户操作手册', { align: 'center', after: 150, run: { font: '微软雅黑', eastAsia: '微软雅黑', size: 52, bold: true, color: colors.navy } }))
|
||||
docBody.push(p('测试环境使用与功能定位指南', { align: 'center', after: 800, run: { font: '微软雅黑', eastAsia: '微软雅黑', size: 26, color: colors.blue } }))
|
||||
docBody.push(info('手册范围', '本手册覆盖测试角色菜单中的 84 条菜单、75 个页面,提供用户操作、权限、安全边界和问题定位方法。', colors.paleGreen, colors.green))
|
||||
docBody.push(p('版本:V1.0 日期:2026-07-25 适用:MES 测试环境', { align: 'center', after: 300, run: { size: 20, color: colors.gray } }))
|
||||
docBody.push(p('本手册不包含账号、密码、Token 或生产业务明细。', { align: 'center', after: 500, run: { size: 18, color: colors.gray } }))
|
||||
docBody.push('<w:p><w:r><w:br w:type="page"/></w:r></w:p>')
|
||||
docBody.push(h('1. 使用前说明', 1))
|
||||
for (const item of ['测试前端地址:http://124.220.15.242:10012/。', 'MES 接口由前端自动调用,用户不需要手工拼接接口地址。', '测试环境 B1/TM 只允许登录与只读 GET;语义 POST/PATCH 会在前端拦截。', '页面按钮和数据范围由角色权限控制。', '涉及新增、编辑、删除、排产、派工、报工、质检、入库和状态切换的操作,必须先确认业务单据和回滚方式。']) docBody.push(bulletXml(item))
|
||||
docBody.push(h('2. 登录与通用操作', 1, true))
|
||||
for (const item of ['打开测试前端地址,输入账号和密码登录。', '登录成功后系统按角色加载菜单和按钮权限。', '记住账号不会保存密码;共享电脑不要勾选。', '列表页面先填写筛选条件再查询,使用分页和导出核对结果。', '保存或状态操作后重新查询,检查状态、数量、操作人和操作时间。']) docBody.push(numberXml(docBody.length, item))
|
||||
docBody.push(h('3. 菜单页面总览', 1, true))
|
||||
docBody.push(p(`当前角色菜单 ${menuRows.length} 条,模块 ${rootRows.length} 个,可进入页面 ${pageRows.length} 个。不同角色可能少于此数量。`, { after: 140 }))
|
||||
for (const rootRow of rootRows) {
|
||||
const module = rootRow.componet.split('/')[1]
|
||||
const pages = pagesByModule.get(module) || []
|
||||
docBody.push(h(rootRow.title, 2))
|
||||
docBody.push(p(moduleIntros[module] || '用于 MES 业务管理和查询。', { after: 100 }))
|
||||
const pageTable = [['页面', '路径', '主要操作', '关键字段/内容']]
|
||||
for (const page of pages) pageTable.push([page.title, page.path, list(page.buttons, 7) || '查询/查看', list(page.columns, 9) || '按页面返回字段'])
|
||||
docBody.push(tbl(pageTable, [1500, 2600, 2600, 2300], true))
|
||||
}
|
||||
docBody.push(h('4. 各模块操作流程', 1, true))
|
||||
for (const rootRow of rootRows) {
|
||||
const module = rootRow.componet.split('/')[1]
|
||||
docBody.push(h(rootRow.title, 2))
|
||||
for (const item of moduleWorkflow(module)) docBody.push(bulletXml(item))
|
||||
const pages = pagesByModule.get(module) || []
|
||||
for (const page of pages) {
|
||||
docBody.push(h(page.title, 3))
|
||||
docBody.push(p(`页面:${page.path}`, { after: 50 }))
|
||||
docBody.push(p(`操作:${list(page.buttons, 12) || '查询/查看'};主要字段:${list(page.columns, 14) || '按接口返回字段展示'}。`, { after: 50 }))
|
||||
if (page.procedures) docBody.push(p(`相关存储过程:${list(page.procedures.split('|'), 14)}`, { after: 50 }))
|
||||
docBody.push(p('建议:先查询并确认记录,再执行页面按钮;保存或状态操作后重新查询核对结果。', { after: 100 }))
|
||||
}
|
||||
}
|
||||
docBody.push(h('5. 重点业务流程', 1, true))
|
||||
for (const [title, items] of [
|
||||
['排产与装配任务', ['按订单、物料、日期和状态查询,再执行排产、派工或优先级操作。', '系统类/阀类装配任务的预算工时手工输入,进度由任务或质检工时除以预算自动计算。', '批量操作后到已排产、工位任务汇总和齐套跟踪结果复核。']],
|
||||
['工艺维护与下发', ['维护工序和标准工艺,再生成/编辑生产工艺。', '确认工序顺序、准备工时、标准工时、工装量具、机床和车间。', '下发任务前确认订单、工艺版本和目标工序。']],
|
||||
['加工中心与装配中心', ['按工位、人员、班次和任务状态查询。', '按业务顺序执行收料、开工、暂停/恢复、报工、送检和异常处理。', '操作完成后核对任务状态、工时、数量和最后编辑人。']],
|
||||
['质量检验与不合格品', ['根据业务节点进入终检、序检、收检、采购入库检、退库检或其他入库检。', '录入检测项目、实测值、判定、合格数和不合格数。', '不合格结果进入不合格品处置并保留操作记录。']],
|
||||
['人员、角色、菜单和工位', ['先维护人员和角色,再配置菜单权限。', '权限修改后使用目标账号重新登录验证。', '菜单变更前确认路由组件存在。']]
|
||||
]) { docBody.push(h(title, 2)); items.forEach((item, i) => docBody.push(numberXml(i + 1, item))) }
|
||||
docBody.push(h('6. 权限、安全与问题定位', 1, true))
|
||||
for (const item of ['按钮权限来自角色的 AddData、DeleteData、EditData、SearchData 等字段。', '测试环境 B1/TM 语义 POST/PATCH 在网络请求前拦截,不通过放开写权限排查连通性。', '页面问题先定位 src/views/<模块>/<页面>/index.vue,再查 CreateData 过程名和参数。', '通用接口入口为 src/utils/request.js、src/utils/curd.js;动态菜单入口为 src/router/getTreeData.js。', '数据库问题先检查过程是否存在、参数数量、写入特征和外部依赖,再决定修改前端还是数据库过程。', '不要将密码、Token、生产业务数据或导出文件提交到代码仓库。']) docBody.push(bulletXml(item))
|
||||
docBody.push(h('7. 全量扫描结果与已知风险', 1, true))
|
||||
docBody.push(tbl([
|
||||
['项目', '结果'],
|
||||
['前端源码', `${scanSummary.sourceFiles} 个源码文件:${scanSummary.vueFiles} 个 Vue、${scanSummary.jsFiles} 个 JS`],
|
||||
['存储过程调用', `${scanSummary.totalCreateDataCalls} 次 CreateData,${scanSummary.uniqueLiteralProcedures} 个唯一字面量过程,${scanSummary.dynamicCreateDataCalls} 次动态调用待人工复核`],
|
||||
['数据库对象', `${dbRows.length} 个过程、63 张表、27 个视图`],
|
||||
['前端/数据库差异', `${missingRows.length} 个前端调用在测试库找不到同名过程;另有数据库过程可能来自事件、定时任务或历史功能`],
|
||||
['外部集成', `B1 GET/POST/PATCH=${scanSummary.b1.get}/${scanSummary.b1.post}/${scanSummary.b1.patch};TM GET/POST/PATCH=${scanSummary.tm.get}/${scanSummary.tm.post}/${scanSummary.tm.patch}`]
|
||||
], [2600, 6400], true))
|
||||
if (missingRows.length) {
|
||||
docBody.push(h('前端调用但测试库缺失的过程', 2))
|
||||
docBody.push(p('以下过程必须按部署版本、动态调用、历史页面和测试库差异逐项确认,不能直接判定为页面故障:', { after: 80 }))
|
||||
for (const row of missingRows) docBody.push(bulletXml(`${row.Procedure}(${row.SourceFiles})`))
|
||||
}
|
||||
docBody.push(h('8. 交付清单', 1, true))
|
||||
for (const item of ['本用户手册:doc/MES后台网页版用户操作手册_V1.0_20260725.docx', 'Markdown 版:doc/MES后台网页版用户操作手册_V1.0_20260725.md', '菜单清单:work/menu_inventory_role1.csv', '页面 UI 清单:work/page_ui_inventory_role1_20260725.csv', '前端过程调用清单:work/frontend_procedure_call_inventory_20260725.csv', '数据库过程清单:work/database_procedure_inventory_20260725.csv', '前端/数据库差异清单:work/frontend_calls_missing_db_procedure_20260725.csv']) docBody.push(bulletXml(item))
|
||||
docBody.push(info('手册状态', '这是基于源码、菜单和数据库静态盘点生成的 V1.0。涉及真实业务写入的页面,仍需在隔离数据上由业务负责人完成验收后,才能标记为生产可用。', colors.paleAmber, colors.amber))
|
||||
|
||||
const section = '<w:sectPr><w:headerReference w:type="default" r:id="rId1"/><w:footerReference w:type="default" r:id="rId2"/><w:pgSz w:w="11906" w:h="16838"/><w:pgMar w:top="1360" w:right="1360" w:bottom="1360" w:left="1360" w:header="650" w:footer="650" w:gutter="0"/><w:cols w:space="720"/></w:sectPr>'
|
||||
const documentXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships"><w:body>${docBody.join('')}${section}</w:body></w:document>`
|
||||
const stylesXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:styles xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:docDefaults><w:rPrDefault><w:rPr><w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体"/><w:sz w:val="20"/><w:szCs w:val="20"/><w:lang w:val="zh-CN" w:eastAsia="zh-CN"/></w:rPr></w:rPrDefault><w:pPrDefault><w:pPr><w:spacing w:after="100" w:line="320" w:lineRule="auto"/></w:pPr></w:pPrDefault></w:docDefaults><w:style w:type="paragraph" w:default="1" w:styleId="Normal"><w:name w:val="正文"/><w:rPr><w:rFonts w:ascii="宋体" w:hAnsi="宋体" w:eastAsia="宋体"/><w:sz w:val="20"/><w:szCs w:val="20"/></w:rPr></w:style><w:style w:type="paragraph" w:styleId="Heading1"><w:name w:val="标题 1"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:qFormat/><w:pPr><w:keepNext/><w:spacing w:before="300" w:after="150"/><w:outlineLvl w:val="0"/></w:pPr><w:rPr><w:rFonts w:ascii="微软雅黑" w:hAnsi="微软雅黑" w:eastAsia="微软雅黑"/><w:b/><w:color w:val="${colors.navy}"/><w:sz w:val="30"/><w:szCs w:val="30"/></w:rPr></w:style><w:style w:type="paragraph" w:styleId="Heading2"><w:name w:val="标题 2"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:qFormat/><w:pPr><w:keepNext/><w:spacing w:before="220" w:after="100"/><w:outlineLvl w:val="1"/></w:pPr><w:rPr><w:rFonts w:ascii="微软雅黑" w:hAnsi="微软雅黑" w:eastAsia="微软雅黑"/><w:b/><w:color w:val="${colors.blue}"/><w:sz w:val="25"/><w:szCs w:val="25"/></w:rPr></w:style><w:style w:type="paragraph" w:styleId="Heading3"><w:name w:val="标题 3"/><w:basedOn w:val="Normal"/><w:next w:val="Normal"/><w:qFormat/><w:pPr><w:keepNext/><w:spacing w:before="160" w:after="80"/><w:outlineLvl w:val="2"/></w:pPr><w:rPr><w:rFonts w:ascii="微软雅黑" w:hAnsi="微软雅黑" w:eastAsia="微软雅黑"/><w:b/><w:color w:val="${colors.gray}"/><w:sz w:val="22"/><w:szCs w:val="22"/></w:rPr></w:style></w:styles>`
|
||||
const headerXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:hdr xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:p><w:pPr><w:jc w:val="right"/></w:pPr>${r('大连元利流体技术有限公司 | MES 后台网页版用户操作手册', { font: '微软雅黑', eastAsia: '微软雅黑', size: 16, color: colors.gray })}</w:p></w:hdr>`
|
||||
const footerXml = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><w:ftr xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main"><w:p><w:pPr><w:jc w:val="center"/></w:pPr>${r('内部资料 | 第 ', { size: 16, color: colors.gray })}<w:fldSimple w:instr="PAGE"><w:r><w:rPr><w:sz w:val="16"/><w:color w:val="${colors.gray}"/></w:rPr><w:t>1</w:t></w:r></w:fldSimple>${r(' 页', { size: 16, color: colors.gray })}</w:p></w:ftr>`
|
||||
const contentTypes = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"><Default Extension="rels" ContentType="application/vnd.openxmlformats-package.relationships+xml"/><Default Extension="xml" ContentType="application/xml"/><Override PartName="/word/document.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml"/><Override PartName="/word/styles.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml"/><Override PartName="/word/header1.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.header+xml"/><Override PartName="/word/footer1.xml" ContentType="application/vnd.openxmlformats-officedocument.wordprocessingml.footer+xml"/><Override PartName="/docProps/core.xml" ContentType="application/vnd.openxmlformats-package.core-properties+xml"/><Override PartName="/docProps/app.xml" ContentType="application/vnd.openxmlformats-officedocument.extended-properties+xml"/></Types>`
|
||||
const packageRels = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument" Target="word/document.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties" Target="docProps/core.xml"/><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties" Target="docProps/app.xml"/></Relationships>`
|
||||
const documentRels = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships"><Relationship Id="rId1" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/header" Target="header1.xml"/><Relationship Id="rId2" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer" Target="footer1.xml"/><Relationship Id="rId3" Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles" Target="styles.xml"/></Relationships>`
|
||||
const core = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><cp:coreProperties xmlns:cp="http://schemas.openxmlformats.org/package/2006/metadata/core-properties" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><dc:title>MES 后台网页版用户操作手册</dc:title><dc:subject>MES 测试环境用户操作与功能定位</dc:subject><dc:creator>MES 接管维护</dc:creator><cp:lastModifiedBy>MES 接管维护</cp:lastModifiedBy><dcterms:created xsi:type="dcterms:W3CDTF">2026-07-25T08:00:00Z</dcterms:created><dcterms:modified xsi:type="dcterms:W3CDTF">2026-07-25T08:00:00Z</dcterms:modified></cp:coreProperties>`
|
||||
const app = `<?xml version="1.0" encoding="UTF-8" standalone="yes"?><Properties xmlns="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties"><Application>Microsoft Office Word</Application><AppVersion>16.0000</AppVersion><Company>大连元利流体技术有限公司</Company></Properties>`
|
||||
const zip = new JSZip()
|
||||
zip.file('[Content_Types].xml', contentTypes)
|
||||
zip.folder('_rels').file('.rels', packageRels)
|
||||
zip.folder('docProps').file('core.xml', core).file('app.xml', app)
|
||||
const word = zip.folder('word')
|
||||
word.file('document.xml', documentXml).file('styles.xml', stylesXml).file('header1.xml', headerXml).file('footer1.xml', footerXml)
|
||||
word.folder('_rels').file('document.xml.rels', documentRels)
|
||||
const docxPath = path.join(docDir, 'MES后台网页版用户操作手册_V1.0_20260725.docx')
|
||||
fs.writeFileSync(docxPath, zip.generate({ type: 'nodebuffer', compression: 'DEFLATE' }))
|
||||
console.log(JSON.stringify({ markdownPath, docxPath, mapPath, menuRows: menuRows.length, pages: pageRows.length, dbProcedures: dbRows.length, missingProcedures: missingRows.length, docxBytes: fs.statSync(docxPath).size }))
|
||||
85
work/menu_inventory_role1.csv
Normal file
@@ -0,0 +1,85 @@
|
||||
"IDD","id","pid","path","componet","redirect","name","title","icon","账号代码","模块代码","操作时间","是否启用","AddData","DeleteData","EditData","SearchData"
|
||||
"4","1","0","/SystemMaintenance","/layout/Layout","/SystemMaintenance","SystemMaintenance","系统管理","SystemMaintenance","1","1","2020/2/13 15:49:24","1","","","",""
|
||||
"5","2","0","/PlanManagement","/layout/Layout","/PlanManagement","PlanManagement","计划排产","ProductionCompletionRate","1","2","2025/3/28 13:35:18","1","","","",""
|
||||
"1003","3","0","/ProductionManagement","/layout/Layout","/ProductionManagement","ProductionManagement","生产管理","ProductMaintenance","1","3","2025/6/18 9:28:49","1","","","",""
|
||||
"1004","4","0","/QualityManagement","/layout/Layout","","QualityManagement","质量管理","KKIMaintenance","1","4","2026/7/11 15:48:38","1","","","",""
|
||||
"2025","5","0","/ProcessManagement","/layout/Layout","/ProcessManagement","ProcessManagement","工艺管理","TLScoresApproval","1","5","2025/9/3 15:13:09","1","","","",""
|
||||
"2034","6","0","/DeviceManagement","/layout/Layout","/DeviceManagement","DeviceManagement","设备管理","Repolishing","1","6","2025/9/5 11:05:16","1","","","",""
|
||||
"2305","7","0","/SaleManagement","/layout/Layout","/DeviceManagement","SaleManagement","销售订单管理","OutputInformationQuery","1","7","2025/9/5 11:05:16","1","","","",""
|
||||
"2517","8","0","/AnomalousManagement","/layout/Layout","/AnomalousManagement","AnomalousManagement","异常提醒","SystemMaintenance","1","8","2026/4/8 10:53:48","1","","","",""
|
||||
"2788","9","0","/ResearchManagement","/layout/Layout","","ResearchManagement","研发管理","CreateProject","1","9","2026/7/10 16:41:14","1","","","",""
|
||||
"16","101","1","PersonnelManagement/index","/SystemMaintenance/PersonnelManagement/index","","PersonnelManagement","人员管理","PersonnelManagement","1","101","2019/6/23 1:17:10","1","","","",""
|
||||
"2","102","1","MenuManagement/index","/SystemMaintenance/MenuManagement/index","","MenuManagement","菜单管理","MenuManagement","1","102","2019/6/23 1:17:10","1","","","",""
|
||||
"3","103","1","SystemRrolemaintenance/index","/SystemMaintenance/SystemRrolemaintenance/index","","SystemRrolemaintenance","角色管理","SystemRrolemaintenance","1","103","2020/2/13 11:46:46","1","","","",""
|
||||
"8","104","2","SelfMakePlan/index","/PlanManagement/SelfMakePlan/index","","SelfMakePlan","机加件排产","AssemblyQualitydataQuery","1","104","2025/3/28 14:06:48","1","","","",""
|
||||
"1002","105","2","InstallMakePlan/index","/PlanManagement/InstallMakePlan/index","","InstallMakePlan","装配件排产","AssemblyQuotaSetting","1","105","2025/6/18 9:16:37","1","","","",""
|
||||
"1008","107","3","ProductionPlanTrack/index","/ProductionManagement/ProductionPlanTrack/index","","ProductionPlanTrack","生产计划跟踪","DimensionsSummaryReport","1","107","2025/6/18 9:35:00","1","","","",""
|
||||
"2015","113","3","MachiningCenter/index","/ProductionManagement/MachiningCenter/index","","MachiningCenter","加工中心","DocumentImport","1","113","2025/8/22 15:20:36","1","","","",""
|
||||
"2026","124","5","ProcedureManagement/index","/ProcessManagement/ProcedureManagement/index","","ProcedureManagement","工序管理","SortingStatistics","1","124","2025/9/3 15:28:43","1","","","",""
|
||||
"2027","125","5","ProcessesDevelop/index","/ProcessManagement/ProcessesDevelop/index","","ProcessesDevelop","制定标准工艺","PurchaseOutRecord","1","125","2025/9/3 15:31:31","1","","","",""
|
||||
"2035","130","6","DeviceInformation/index","/DeviceManagement/DeviceInformation/index","","DeviceInformation","设备信息维护","Repolishing","1","130","2025/9/5 11:08:37","1","","","",""
|
||||
"2036","131","5","ProcessProduct/index","/ProcessManagement/ProcessProduct/index","","ProcessProduct","生产工艺","KKI","1","131","2025/3/28 14:06:48","1","","","",""
|
||||
"2038","132","3","AbnormalControl/index","/ProductionManagement/AbnormalControl/index","","AbnormalControl","过程异常管控","AlarmProcessQuery","1","132","2025/8/22 15:20:36","1","","","",""
|
||||
"2039","133","5","ProcessInquiry/index","/ProcessManagement/ProcessInquiry/index","","ProcessInquiryement","工艺查询","InventoryQuery","1","133","2025/9/3 15:28:43","1","","","",""
|
||||
"2041","135","5","ProductionOrder/index","/ProcessManagement/ProductionOrder/index","","ProductionOrder","工艺任务","OutsourcingStockArrival","1","135","2025/3/28 14:06:48","1","","","",""
|
||||
"2042","136","5","PartDrawing/index","/ProcessManagement/PartDrawing/index","","PartDrawing","图纸维护","SystemMaintenance","1","136","2025/9/23 13:50:03","1","","","",""
|
||||
"2044","137","3","WorkHoursCheck/index","/ProductionManagement/WorkHoursCheck/index","","WorkHoursCheck","工时校验","PayStateSearch","1","137","2025/6/18 9:33:57","1","","","",""
|
||||
"2046","139","5","ProcessDrawing/index","/ProcessManagement/ProcessDrawing/index","","ProcessDrawing","工艺维护","WorkshopProcessMaintenance","1","139","2025/9/23 13:50:03","1","","","",""
|
||||
"2049","142","4","CheckTask/final","/QualityManagement/CheckTask/final","","final","终检","InitialProduction","1","142","2025/9/30 10:53:48","1","","","",""
|
||||
"2050","143","4","CheckTask/purchaseIncoming","/QualityManagement/CheckTask/purchaseIncoming","","purchaseIncoming","采购入库检","OutputInformationSearch","1","143","2025/9/30 10:53:48","1","","","",""
|
||||
"2051","144","4","CheckTask/salesReturn","/QualityManagement/CheckTask/salesReturn","","salesReturn","销售退货检","OutsourcingQCSearch","1","144","2025/9/30 10:53:48","1","","","",""
|
||||
"2052","145","4","CheckTask/materialReturn","/QualityManagement/CheckTask/materialReturn","","materialReturn","原材料退库检","SparePartsForScrap","1","145","2025/9/30 10:53:48","1","","","",""
|
||||
"2053","146","4","CheckTask/processReceive","/QualityManagement/CheckTask/processReceive","","processReceive","序检收检","DiscardedPartsInquiry","1","146","2025/9/30 10:53:48","1","","","",""
|
||||
"2055","147","1","WorkstationManagement/index","/SystemMaintenance/WorkstationManagement/index","","WorkstationManagement","工位管理","EquipmentMaintenanceRecordManagement","1","147","2019/6/23 1:17:10","1","","","",""
|
||||
"2056","148","3","OutsourceMange/index","/ProductionManagement/OutsourceMange/index","","OutsourceMange","外协管理","OutputInformationQuery","1","148","2025/6/18 9:33:57","1","","","",""
|
||||
"2057","149","4","QualityStandardQuery/index","/QualityManagement/QualityStandardQuery/index","","QualityStandardQuery","质量检验标准","KKIMaintenance","1","149","2025/9/30 10:53:48","1","","","",""
|
||||
"2062","150","3","PersonnelBinding/index","/ProductionManagement/PersonnelBinding/index","","PersonnelBinding","人员绑定","PersonnelManagement","1","150","2025/11/4 13:31:36","1","","","",""
|
||||
"2063","151","3","AssemblyCenter/index","/ProductionManagement/AssemblyCenter/index","","AssemblyCenter","装配中心","DocumentImport","1","151","2025/10/17 15:53:36","1","","","",""
|
||||
"2069","152","3","ShiftManagement/index","/ProductionManagement/ShiftManagement/index","","ShiftManagement","班次管理","ProductionCompletionRate","1","152","2025/11/11 10:56:37","1","","","",""
|
||||
"2080","153","4","CheckTask/OtherInbound","/QualityManagement/CheckTask/OtherInbound","","OtherInbound","其他入库检","OutsourcingQCSearch","1","153","2025/9/30 10:53:48","1","","","",""
|
||||
"2257","154","2","SelfMakePlandone/index","/PlanManagement/SelfMakePlandone/index","","SelfMakePlandone","机加件已排产","AssemblyQualitydataQuery","1","154","2025/3/28 14:06:48","1","","","",""
|
||||
"2258","155","2","SelfMakePlando/index","/PlanManagement/SelfMakePlando/index","","SelfMakePlando","机加件未排产","AssemblyQualitydataQuery","1","155","2025/3/28 14:06:48","1","","","",""
|
||||
"2259","156","6","Devicedata/index","/DeviceManagement/Devicedata/index","","Devicedata","设备数据","Repolishing","1","156","2025/12/11 13:19:31","1","","","",""
|
||||
"2306","157","7","saleorderstatus/index","/SaleManagement/saleorderstatus/index","","saleorderstatus","销售订单状态","DimensionsSummaryReport","1","157","2026/1/14 15:36:31","1","","","",""
|
||||
"2340","158","2","priorityinstall/index","/PlanManagement/priorityinstall/index","","priorityinstall","优先装配","AssemblyQualitydataQuery","1","158","2025/3/28 14:06:48","1","","","",""
|
||||
"2343","159","5","PartDrawlook/index","/ProcessManagement/PartDrawlook/index","","PartDrawlook","查看图纸","SystemMaintenance","1","159","2025/12/6 10:44:42","1","","","",""
|
||||
"2367","160","2","PlanShell/index","/PlanManagement/PlanShell/index","","PlanShell","计划用表","ProductionCompletionRate","1","160","2025/3/28 13:35:18","1","","","",""
|
||||
"2380","161","3","Timesheet/index","/ProductionManagement/Timesheet/index","","Timesheet","工时报表","DimensionsSummaryReport","1","161","2026/2/2 10:53:48","1","","","",""
|
||||
"2382","162","3","Urgent/index","/ProductionManagement/Urgent/index","","Urgent","加急件管理","DimensionsSummaryReport","1","162","2026/2/2 10:53:48","1","","","",""
|
||||
"2383","163","3","PickingTask/index","/ProductionManagement/PickingTask/index","","PickingTask","拣配任务","DimensionsSummaryReport","1","163","2026/2/9 10:53:48","1","","","",""
|
||||
"2387","164","3","SaleOutsourceMange/index","/ProductionManagement/SaleOutsourceMange/index","","SaleOutsourceMange","采购外协管理","DimensionsSummaryReport","1","164","2026/2/10 10:53:48","1","","","",""
|
||||
"2393","165","2","InstallMakePlanDo/index","/PlanManagement/InstallMakePlanDo/index","","InstallMakePlanDo","装配未排产","","1","165","2026/2/13 10:53:48","1","","","",""
|
||||
"2395","166","3","Workhours/index","/ProductionManagement/Workhours/index","","Workhours","工时查询","","1","166","2026/2/27 10:53:48","1","","","",""
|
||||
"2754","231","3","SettlementWorkhours/index","/ProductionManagement/SettlementWorkhours/index","","SettlementWorkhours","结算工时","DimensionsSummaryReport","1","166","2026/6/27 16:41:32","1","","","",""
|
||||
"2396","167","5","ProcurementDrawlook/index","/ProcessManagement/ProcurementDrawlook/index","","ProcurementDrawlook","采购图纸查询","","1","167","2026/2/27 17:53:48","1","","","",""
|
||||
"2407","168","3","DeviceStatus/index","/ProductionManagement/DeviceStatus/index","","DeviceStatus","机加正在进行中","","1","168","2026/2/28 10:53:48","1","","","",""
|
||||
"2426","169","3","AssembleStatus/index","/ProductionManagement/AssembleStatus/index","","AssembleStatus","装配状态","","1","169","2026/3/4 10:53:48","1","","","",""
|
||||
"2428","170","2","PlannOrderClose/index","/PlanManagement/PlannOrderClose/index","","PlanManagement","生产订单关闭","","1","170","2026/3/4 10:53:48","1","","","",""
|
||||
"2429","171","4","QualityDetails/index","/QualityManagement/QualityDetails/index","","QualityDetails","质检明细","","1","171","2026/3/10 10:53:48","1","","","",""
|
||||
"2430","172","4","Unqualified/index","/QualityManagement/Unqualified/index","","Unqualified","不合格品处置","","1","172","2026/2/27 10:53:48","1","","","",""
|
||||
"2431","173","3","OutsourceSheet/index","/ProductionManagement/OutsourceSheet/index","","OutsourceSheet","外协报表","","1","173","2026/3/12 10:53:48","1","","","",""
|
||||
"2451","174","3","WorkhoursEdit/index","/ProductionManagement/WorkhoursEdit/index","","WorkhoursEdit","工时修正","","1","174","2026/3/18 10:53:48","1","","","",""
|
||||
"2455","175","4","QualityCenter/index","/QualityManagement/QualityCenter/index","","QualityCenter","质检报工","","1","175","2026/2/27 10:53:48","1","","","",""
|
||||
"2516","176","8","PunctualWork/index","/AnomalousManagement/PunctualWork/index","","Workhours","机加及时开工","","1","176","2026/4/8 10:53:48","1","","","",""
|
||||
"2527","177","6","DeviceDataHistory/index","/DeviceManagement/DeviceDataHistory/index","","DeviceDataHistory","设备历史数据","","1","177","2026/4/15 10:53:48","1","","","",""
|
||||
"2528","178","6","DeviceRealData/index","/DeviceManagement/DeviceRealData/index","","DeviceRealData","实时数据","","1","178","2026/4/15 10:53:48","1","","","",""
|
||||
"2536","179","1","OperationLog/index","/SystemMaintenance/OperationLog/index","","OperationLog","报工操作记录","","1","179","2026/4/24 10:53:48","1","","","",""
|
||||
"2571","180","3","AGVtask/index","/ProductionManagement/AGVtask/index","","AGVtask","物料机器人","","1","180","2026/6/3 10:53:48","1","","","",""
|
||||
"2572","181","8","OutPunctualWork/index","/AnomalousManagement/OutPunctualWork/index","","OutPunctualWork","外协及时开工","","1","181","2026/4/15 10:53:48","1","","","",""
|
||||
"2591","182","8","UrgentTask/index","/AnomalousManagement/UrgentTask/index","","UrgentTask","加急任务列表","","1","182","2026/6/8 10:53:48","1","","","",""
|
||||
"2631","183","2","WorkstationPlan/index","/PlanManagement/WorkstationPlan/index","","WorkstationPlan","工位任务汇总","","1","183","2026/6/8 10:53:48","1","","","",""
|
||||
"2638","184","2","InstallMakePlanDone/index","/PlanManagement/InstallMakePlanDone/index","","InstallMakePlanDone","装配已排产","","1","184","2026/6/9 10:53:48","1","","","",""
|
||||
"2640","185","2","SystemInstallTask/index","/PlanManagement/SystemInstallTask/index","","SystemInstallTask","系统类装配任务","","1","185","2026/6/8 10:53:48","1","","","",""
|
||||
"2641","186","2","ValueInstallTask/index","/PlanManagement/ValueInstallTask/index","","ValueInstallTask","阀类装配任务","","1","186","2026/6/8 10:53:48","1","","","",""
|
||||
"2659","187","4","TestAssemblyTask/index","/QualityManagement/TestAssemblyTask/index","","TestAssemblyTask","测试装配任务","","1","187","2026/6/18 17:16:45","1","","","",""
|
||||
"2688","188","8","AssemblyPunctualInspection/index","/AnomalousManagement/AssemblyPunctualInspection/index","","AssemblyPunctualInspection","装配及时送检","","1","188","2026/6/22 16:17:04","1","","","",""
|
||||
"2712","189","4","CheckTask/punctualInspection","/QualityManagement/CheckTask/punctualInspection","","PunctualInspectionReport","及时检验报表","DiscardedPartsInquiry","1","189","2026/6/26 10:21:33","1","","","",""
|
||||
"2718","195","3","FormalityConfirmReport/index","/ProductionManagement/FormalityConfirmReport/index","","FormalityConfirmReport","手续确认报表","DocumentImport","1","195","2026/6/26 11:58:02","1","","","",""
|
||||
"2730","207","3","DeliveryNoticeList/index","/ProductionManagement/DeliveryNoticeList/index","","DeliveryNoticeList","发货通知列表","DocumentImport","1","207","2026/6/26 17:30:59","1","","","",""
|
||||
"2756","232","2","TimelyKitTrackingResult/index","/PlanManagement/TimelyKitTrackingResult/index","","TimelyKitTrackingResult","及时齐套跟踪结果","ProductionCompletionRate","1","232","2026/6/29 17:11:01","1","","","",""
|
||||
"2762","236","4","ProductPassRateWorkstation/index","/ProductionManagement/ProductPassRateWorkstation/index","","ProductPassRateWorkstation","产品合格率(工位)","DimensionsSummaryReport","1","236","2026/7/11 15:48:38","1","","","",""
|
||||
"2780","248","9","DesignReportTask/Task/index","/ProductionManagement/DesignReportTask/Task/index","","DesignReportTask","设计任务","DocumentImport","1","248","2026/7/10 16:41:14","1","","","",""
|
||||
"2781","249","9","DesignReportTask/Report/index","/ProductionManagement/DesignReportTask/Report/index","","DesignReportWork","设计报工","DocumentImport","1","249","2026/7/10 16:41:14","1","","","",""
|
||||
"2786","250","9","DesignReportTask/Check/index","/ProductionManagement/DesignReportTask/Check/index","","DesignReportCheck","设计工时校验","PayStateSearch","1","250","2026/7/10 16:41:14","1","","","",""
|
||||
"2787","251","9","DesignReportTask/HoursReport/index","/ProductionManagement/DesignReportTask/HoursReport/index","","DesignReportHoursReport","设计工时报表","DimensionsSummaryReport","1","251","2026/7/10 16:41:14","1","","","",""
|
||||
"2841","252","9","DesignReportTask/FinancialHours/index","/ProductionManagement/DesignReportTask/FinancialHours/index","","DesignReportFinancialHours","研发财务工时","WhiteCollarBonusesSummary","1","252","2026/7/23 14:43:28","1","","","",""
|
||||
|
76
work/page_ui_inventory_role1_20260725.csv
Normal file
91
work/scan-frontend-function-inventory.js
Normal file
@@ -0,0 +1,91 @@
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
|
||||
const root = path.resolve(__dirname, '..')
|
||||
const sourceRoot = path.join(root, 'src')
|
||||
const outputRoot = path.join(root, 'work')
|
||||
|
||||
function walk(dir) {
|
||||
const files = []
|
||||
for (const entry of fs.readdirSync(dir, { withFileTypes: true })) {
|
||||
const full = path.join(dir, entry.name)
|
||||
if (entry.isDirectory()) files.push(...walk(full))
|
||||
else if (/\.(vue|js)$/i.test(entry.name)) files.push(full)
|
||||
}
|
||||
return files
|
||||
}
|
||||
|
||||
function csv(value) {
|
||||
const text = String(value == null ? '' : value)
|
||||
return `"${text.replace(/"/g, '""')}"`
|
||||
}
|
||||
|
||||
const files = walk(sourceRoot)
|
||||
const records = new Map()
|
||||
let totalCreateDataCalls = 0
|
||||
let literalCreateDataCalls = 0
|
||||
let dynamicCreateDataCalls = 0
|
||||
let b1Get = 0
|
||||
let b1Post = 0
|
||||
let b1Patch = 0
|
||||
let tmGet = 0
|
||||
let tmPost = 0
|
||||
let tmPatch = 0
|
||||
|
||||
for (const file of files) {
|
||||
const source = fs.readFileSync(file, 'utf8')
|
||||
const relative = path.relative(root, file).replace(/\\/g, '/')
|
||||
const createDataCount = (source.match(/\bCreateData\s*\(/g) || []).length
|
||||
totalCreateDataCalls += createDataCount
|
||||
|
||||
const literalPattern = /\bCreateData\s*\(\s*(['"])(.*?)\1\s*,\s*(['"])(.*?)\3/gms
|
||||
let match
|
||||
let fileLiteralCount = 0
|
||||
while ((match = literalPattern.exec(source)) !== null) {
|
||||
const type = match[2]
|
||||
const procedure = match[4]
|
||||
literalCreateDataCalls++
|
||||
fileLiteralCount++
|
||||
if (!records.has(procedure)) records.set(procedure, { procedure, calls: 0, types: new Set(), files: new Set() })
|
||||
const record = records.get(procedure)
|
||||
record.calls++
|
||||
record.types.add(type)
|
||||
record.files.add(relative)
|
||||
}
|
||||
dynamicCreateDataCalls += Math.max(0, createDataCount - fileLiteralCount)
|
||||
|
||||
const increment = (pattern, counter) => {
|
||||
const count = (source.match(pattern) || []).length
|
||||
return counter + count
|
||||
}
|
||||
b1Get = increment(/\bgetB1\s*\(/g, b1Get)
|
||||
b1Post = increment(/\bpostB1\s*\(/g, b1Post)
|
||||
b1Patch = increment(/\bpatchB1\s*\(/g, b1Patch)
|
||||
tmGet = increment(/\bgettm\s*\(/g, tmGet)
|
||||
tmPost = increment(/\bposttm\s*\(/g, tmPost)
|
||||
tmPatch = increment(/\bpatchtm\s*\(/g, tmPatch)
|
||||
}
|
||||
|
||||
const procedureRows = [...records.values()]
|
||||
.sort((a, b) => a.procedure.localeCompare(b.procedure, 'zh-CN'))
|
||||
.map(row => [row.procedure, row.calls, [...row.types].sort().join('|'), [...row.files].sort().join('|')])
|
||||
|
||||
const procedureCsv = [
|
||||
['Procedure', 'CallCount', 'CreateDataTypes', 'SourceFiles'],
|
||||
...procedureRows
|
||||
].map(row => row.map(csv).join(',')).join('\n') + '\n'
|
||||
fs.writeFileSync(path.join(outputRoot, 'frontend_procedure_call_inventory_20260725.csv'), procedureCsv, 'utf8')
|
||||
|
||||
const summary = {
|
||||
sourceFiles: files.length,
|
||||
vueFiles: files.filter(file => file.endsWith('.vue')).length,
|
||||
jsFiles: files.filter(file => file.endsWith('.js')).length,
|
||||
totalCreateDataCalls,
|
||||
literalCreateDataCalls,
|
||||
dynamicCreateDataCalls,
|
||||
uniqueLiteralProcedures: procedureRows.length,
|
||||
b1: { get: b1Get, post: b1Post, patch: b1Patch },
|
||||
tm: { get: tmGet, post: tmPost, patch: tmPatch }
|
||||
}
|
||||
fs.writeFileSync(path.join(outputRoot, 'frontend_function_scan_summary_20260725.json'), JSON.stringify(summary, null, 2) + '\n', 'utf8')
|
||||
console.log(JSON.stringify(summary))
|
||||
85
work/scan-page-ui-inventory.js
Normal file
@@ -0,0 +1,85 @@
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
|
||||
const root = path.resolve(__dirname, '..')
|
||||
const menuPath = path.join(root, 'work', 'menu_inventory_role1.csv')
|
||||
const rows = parseCsv(fs.readFileSync(menuPath, 'utf8'))
|
||||
|
||||
function parseCsv(text) {
|
||||
const lines = text.replace(/^\uFEFF/, '').trim().split(/\r?\n/)
|
||||
const parseLine = line => {
|
||||
const values = []
|
||||
let value = ''
|
||||
let quoted = false
|
||||
for (let i = 0; i < line.length; i++) {
|
||||
const char = line[i]
|
||||
if (char === '"') {
|
||||
if (quoted && line[i + 1] === '"') { value += '"'; i++ }
|
||||
else quoted = !quoted
|
||||
} else if (char === ',' && !quoted) { values.push(value); value = '' }
|
||||
else value += char
|
||||
}
|
||||
values.push(value)
|
||||
return values
|
||||
}
|
||||
const headers = parseLine(lines.shift())
|
||||
return lines.map(line => {
|
||||
const values = parseLine(line)
|
||||
return Object.fromEntries(headers.map((header, i) => [header, values[i] || '']))
|
||||
})
|
||||
}
|
||||
|
||||
function cleanText(value) {
|
||||
return String(value || '')
|
||||
.replace(/<[^>]+>/g, ' ')
|
||||
.replace(/\{\{[^}]+\}\}/g, ' ')
|
||||
.replace(/\s+/g, ' ')
|
||||
.trim()
|
||||
}
|
||||
|
||||
function unique(values) {
|
||||
return [...new Set(values.map(value => cleanText(value)).filter(Boolean))]
|
||||
}
|
||||
|
||||
function csv(value) {
|
||||
return `"${String(value == null ? '' : value).replace(/"/g, '""')}"`
|
||||
}
|
||||
|
||||
const pageRows = []
|
||||
for (const row of rows) {
|
||||
if (!row.componet || row.pid === '0') continue
|
||||
const relativeView = `${row.componet.replace(/^\//, '')}.vue`
|
||||
const sourcePath = path.join(root, 'src', 'views', relativeView)
|
||||
const exists = fs.existsSync(sourcePath)
|
||||
const source = exists ? fs.readFileSync(sourcePath, 'utf8') : ''
|
||||
const buttons = []
|
||||
const buttonPattern = /<el-button\b[^>]*>([\s\S]*?)<\/el-button>/g
|
||||
let match
|
||||
while ((match = buttonPattern.exec(source)) !== null) buttons.push(match[1])
|
||||
const tabs = []
|
||||
const tabPattern = /<el-tab-pane\b[^>]*\blabel\s*=\s*(['"])(.*?)\1/g
|
||||
while ((match = tabPattern.exec(source)) !== null) tabs.push(match[2])
|
||||
const columns = []
|
||||
const columnPattern = /<el-table-column\b[^>]*\blabel\s*=\s*(['"])(.*?)\1/g
|
||||
while ((match = columnPattern.exec(source)) !== null) columns.push(match[2])
|
||||
const methods = []
|
||||
const methodPattern = /^\s{4,8}([A-Za-z_$][\w$]*)\s*\([^)]*\)\s*\{/gm
|
||||
while ((match = methodPattern.exec(source)) !== null) methods.push(match[1])
|
||||
const procedures = []
|
||||
const procedurePattern = /\bCreateData\s*\(\s*(['"])(.*?)\1\s*,\s*(['"])(.*?)\3/gms
|
||||
while ((match = procedurePattern.exec(source)) !== null) procedures.push(match[4])
|
||||
const b1 = { get: (source.match(/\bgetB1\s*\(/g) || []).length, post: (source.match(/\bpostB1\s*\(/g) || []).length, patch: (source.match(/\bpatchB1\s*\(/g) || []).length }
|
||||
const tm = { get: (source.match(/\bgettm\s*\(/g) || []).length, post: (source.match(/\bposttm\s*\(/g) || []).length, patch: (source.match(/\bpatchtm\s*\(/g) || []).length }
|
||||
pageRows.push({
|
||||
module: row.componet.split('/')[1] || '', title: row.title, path: row.componet, component: row.componet,
|
||||
source: relativeView, exists, buttons: unique(buttons).join(' | '), tabs: unique(tabs).join(' | '),
|
||||
columns: unique(columns).join(' | '), methods: unique(methods).join(' | '), procedures: unique(procedures).join(' | '),
|
||||
b1GetPostPatch: `${b1.get}/${b1.post}/${b1.patch}`, tmGetPostPatch: `${tm.get}/${tm.post}/${tm.patch}`
|
||||
})
|
||||
}
|
||||
|
||||
const headers = ['module', 'title', 'path', 'component', 'source', 'exists', 'buttons', 'tabs', 'columns', 'methods', 'procedures', 'b1GetPostPatch', 'tmGetPostPatch']
|
||||
const output = [headers, ...pageRows.map(row => headers.map(header => row[header]))].map(row => row.map(csv).join(',')).join('\n') + '\n'
|
||||
fs.writeFileSync(path.join(root, 'work', 'page_ui_inventory_role1_20260725.csv'), output, 'utf8')
|
||||
const missing = pageRows.filter(row => !row.exists)
|
||||
console.log(JSON.stringify({ menuLeaves: pageRows.length, sourceFilesFound: pageRows.filter(row => row.exists).length, sourceFilesMissing: missing.length, missingComponents: missing.map(row => row.component) }))
|
||||
223
work/system-design-document/build-independent-system-design.ps1
Normal file
@@ -0,0 +1,223 @@
|
||||
param([string]$OutputDirectory = '')
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
$root = (Resolve-Path (Join-Path $PSScriptRoot '..\..')).Path
|
||||
$outDir = if ($OutputDirectory) { (Resolve-Path $OutputDirectory).Path } else { Join-Path $root 'doc' }
|
||||
$base = '大连元利流体技术有限公司MES系统标准设计文档_V1.1_2026-07-24'
|
||||
$docxPath = Join-Path $outDir ($base + '.docx')
|
||||
$pdfPath = Join-Path $outDir ($base + '.pdf')
|
||||
$assetDir = Join-Path $root 'work\system-technical-document\assets'
|
||||
New-Item -ItemType Directory -Force -Path $outDir, $assetDir | Out-Null
|
||||
|
||||
Add-Type -AssemblyName System.Drawing
|
||||
function New-DiagramCanvas { param([int]$Width,[int]$Height)
|
||||
$bitmap=New-Object System.Drawing.Bitmap $Width,$Height; $graphics=[System.Drawing.Graphics]::FromImage($bitmap); $graphics.SmoothingMode=[System.Drawing.Drawing2D.SmoothingMode]::AntiAlias; $graphics.TextRenderingHint=[System.Drawing.Text.TextRenderingHint]::AntiAliasGridFit; $graphics.Clear([System.Drawing.Color]::FromArgb(248,250,252)); return @($bitmap,$graphics)
|
||||
}
|
||||
function Save-Diagram { param($Bitmap,$Graphics,[string]$Path) $Graphics.Dispose(); $Bitmap.Save($Path,[System.Drawing.Imaging.ImageFormat]::Png); $Bitmap.Dispose() }
|
||||
function Draw-Entity { param($Graphics,[int]$X,[int]$Y,[int]$W,[int]$H,[string]$Title,[string[]]$Fields,[System.Drawing.Color]$Fill)
|
||||
$rect=New-Object System.Drawing.Rectangle $X,$Y,$W,$H; $Graphics.FillRectangle((New-Object System.Drawing.SolidBrush $Fill),$rect); $Graphics.DrawRectangle((New-Object System.Drawing.Pen ([System.Drawing.Color]::FromArgb(51,65,85)),3),$rect)
|
||||
$titleFont=New-Object System.Drawing.Font 'Microsoft YaHei',20,([System.Drawing.FontStyle]::Bold); $fieldFont=New-Object System.Drawing.Font 'Microsoft YaHei',14; $brush=New-Object System.Drawing.SolidBrush ([System.Drawing.Color]::FromArgb(30,41,59)); $fmt=New-Object System.Drawing.StringFormat; $fmt.Alignment=[System.Drawing.StringAlignment]::Center
|
||||
$Graphics.DrawString($Title,$titleFont,$brush,(New-Object System.Drawing.RectangleF ($X+8),($Y+8),($W-16),34),$fmt); $fmt.Alignment=[System.Drawing.StringAlignment]::Near
|
||||
for($i=0;$i -lt $Fields.Count;$i++){ $Graphics.DrawString($Fields[$i],$fieldFont,$brush,(New-Object System.Drawing.RectangleF ($X+14),($Y+52+($i*25)),($W-28),22),$fmt) }
|
||||
$fmt.Dispose(); $brush.Dispose(); $fieldFont.Dispose(); $titleFont.Dispose()
|
||||
}
|
||||
function Draw-Relation { param($Graphics,[int]$X1,[int]$Y1,[int]$X2,[int]$Y2,[string]$Label)
|
||||
$pen=New-Object System.Drawing.Pen ([System.Drawing.Color]::FromArgb(71,85,105)),3; $pen.CustomEndCap=New-Object System.Drawing.Drawing2D.AdjustableArrowCap 5,6; $Graphics.DrawLine($pen,$X1,$Y1,$X2,$Y2); $font=New-Object System.Drawing.Font 'Microsoft YaHei',13; $brush=New-Object System.Drawing.SolidBrush ([System.Drawing.Color]::FromArgb(71,85,105)); $Graphics.DrawString($Label,$font,$brush,(($X1+$X2)/2),(($Y1+$Y2)/2-20)); $brush.Dispose(); $font.Dispose(); $pen.Dispose()
|
||||
}
|
||||
function Build-DesignDiagrams {
|
||||
$blue=[System.Drawing.Color]::FromArgb(219,234,254); $teal=[System.Drawing.Color]::FromArgb(204,251,241); $amber=[System.Drawing.Color]::FromArgb(254,243,199); $green=[System.Drawing.Color]::FromArgb(220,252,231); $red=[System.Drawing.Color]::FromArgb(254,226,226)
|
||||
$c=New-DiagramCanvas 1800 1060; $b=$c[0]; $g=$c[1]
|
||||
Draw-Entity $g 60 90 360 220 '订单 Order' @('PK 订单编号 + 行号','拆分内码 / 物料 / 数量','交期 / 订单状态') $blue
|
||||
Draw-Entity $g 720 70 380 240 '工艺版本 Process' @('PK 工艺编号 + 版本','工序顺序 / 工艺要求','启用状态 / 资源') $teal
|
||||
Draw-Entity $g 1370 90 360 220 '生产任务 Task' @('PK TaskAID','订单工序 / 计划数量','工位 / 指派对象 / 状态') $amber
|
||||
Draw-Entity $g 90 670 360 220 '操作记录 Operation' @('PK 操作记录ID','开始 / 暂停 / 恢复 / 结束','操作人 / 设备 / 原因') $green
|
||||
Draw-Entity $g 720 700 380 220 '质量任务 Quality' @('PK 检验任务ID','标准 / 实测值 / 判定','返工 / 让步 / 报废') $red
|
||||
Draw-Entity $g 1370 670 360 220 '工时与报工 Hours' @('PK 报工记录ID','完成数量 / 生产工时','校验 / 修正 / 结算') $blue
|
||||
Draw-Relation $g 420 180 720 180 '生成/引用'; Draw-Relation $g 1100 180 1370 180 '展开工序'; Draw-Relation $g 1550 310 900 700 '送检'; Draw-Relation $g 1370 780 1100 800 '产生结果'; Draw-Relation $g 720 800 450 780 '执行事实'; Draw-Relation $g 1370 800 1100 820 '报工/结算'
|
||||
Save-Diagram $b $g (Join-Path $assetDir 'design-er-model.png')
|
||||
|
||||
$c=New-DiagramCanvas 1800 980; $b=$c[0]; $g=$c[1]; $actors=@('浏览器','MES服务','业务过程','SQL Server','外部系统'); $xs=@(150,500,850,1200,1550); $font=New-Object System.Drawing.Font 'Microsoft YaHei',18,([System.Drawing.FontStyle]::Bold); $brush=New-Object System.Drawing.SolidBrush ([System.Drawing.Color]::FromArgb(30,41,59)); $pen=New-Object System.Drawing.Pen ([System.Drawing.Color]::FromArgb(148,163,184)),2; $pen.DashStyle=[System.Drawing.Drawing2D.DashStyle]::Dash
|
||||
for($i=0;$i -lt $actors.Count;$i++){ $g.DrawString($actors[$i],$font,$brush,$xs[$i]-45,35); $g.DrawLine($pen,$xs[$i],85,$xs[$i],900) }
|
||||
$font.Dispose(); $brush.Dispose(); $pen.Dispose(); $events=@(@(150,500,130,'1.提交查询/操作'),@(500,850,220,'2.鉴权与参数校验'),@(850,1200,310,'3.执行事务/过程'),@(1200,1550,400,'4.必要时调用外部系统'),@(1550,1200,490,'5.返回外部结果'),@(1200,850,580,'6.提交或回滚'),@(850,500,670,'7.返回业务结果'),@(500,150,760,'8.刷新页面与审计'))
|
||||
foreach($e in $events){$p=New-Object System.Drawing.Pen ([System.Drawing.Color]::FromArgb(51,65,85)),3; $p.CustomEndCap=New-Object System.Drawing.Drawing2D.AdjustableArrowCap 5,6; $g.DrawLine($p,$e[0],$e[2],$e[1],$e[2]); $f=New-Object System.Drawing.Font 'Microsoft YaHei',15; $br=New-Object System.Drawing.SolidBrush ([System.Drawing.Color]::FromArgb(51,65,85)); $g.DrawString($e[3],$f,$br,(($e[0]+$e[1])/2-55),($e[2]-28)); $br.Dispose(); $f.Dispose(); $p.Dispose() }
|
||||
Save-Diagram $b $g (Join-Path $assetDir 'design-sequence-order-task.png')
|
||||
|
||||
$c=New-DiagramCanvas 1800 950; $b=$c[0]; $g=$c[1]; $states=@(@(80,360,260,120,'未排产',$blue),@(430,170,260,120,'已排产',$amber),@(780,80,260,120,'可执行',$teal),@(1130,170,260,120,'进行中',$green),@(1460,360,260,120,'完成',$blue),@(1130,590,260,120,'送检/处置',$red),@(780,690,260,120,'暂停',$amber)); foreach($s in $states){$r=New-Object System.Drawing.Rectangle $s[0],$s[1],$s[2],$s[3]; $g.FillRectangle((New-Object System.Drawing.SolidBrush $s[5]),$r); $g.DrawRectangle((New-Object System.Drawing.Pen ([System.Drawing.Color]::FromArgb(51,65,85)),3),$r); $f=New-Object System.Drawing.Font 'Microsoft YaHei',21,([System.Drawing.FontStyle]::Bold); $br=New-Object System.Drawing.SolidBrush ([System.Drawing.Color]::FromArgb(30,41,59)); $g.DrawString($s[4],$f,$br,(New-Object System.Drawing.RectangleF ($s[0]),($s[1]+35),$s[2],45),(New-Object System.Drawing.StringFormat)); $br.Dispose(); $f.Dispose() }
|
||||
Draw-Relation $g 340 420 430 230 '确认排产'; Draw-Relation $g 690 230 780 140 '下发'; Draw-Relation $g 1040 140 1130 230 '收料/开工'; Draw-Relation $g 1390 230 1460 420 '合格/完成'; Draw-Relation $g 1260 290 1260 590 '送检'; Draw-Relation $g 1130 650 1040 750 '暂停'; Draw-Relation $g 780 690 650 290 '取消/重排'; Draw-Relation $g 1460 420 1390 230 '返工/重检'
|
||||
Save-Diagram $b $g (Join-Path $assetDir 'design-task-state-machine.png')
|
||||
}
|
||||
Build-DesignDiagrams
|
||||
|
||||
$word = $null; $doc = $null
|
||||
try {
|
||||
$word = New-Object -ComObject Word.Application
|
||||
$word.Visible = $false; $word.DisplayAlerts = 0
|
||||
$doc = $word.Documents.Add()
|
||||
$selection = $word.Selection
|
||||
$normal = $doc.Styles.Item(-1)
|
||||
$section = $doc.Sections.Item(1)
|
||||
$section.PageSetup.PaperSize = 7
|
||||
$section.PageSetup.TopMargin = $word.CentimetersToPoints(2.2)
|
||||
$section.PageSetup.BottomMargin = $word.CentimetersToPoints(2.0)
|
||||
$section.PageSetup.LeftMargin = $word.CentimetersToPoints(2.3)
|
||||
$section.PageSetup.RightMargin = $word.CentimetersToPoints(2.1)
|
||||
$normal.Font.NameFarEast = '宋体'; $normal.Font.Name = 'Arial'; $normal.Font.Size = 10.5
|
||||
$normal.ParagraphFormat.LineSpacing = 18; $normal.ParagraphFormat.SpaceAfter = 6
|
||||
foreach ($item in @(@(-2, 16, 0x8F4A31), @(-3, 13, 0x8F4A31), @(-4, 11, 0x6B594F))) {
|
||||
$style = $doc.Styles.Item($item[0]); $style.Font.NameFarEast = '微软雅黑'; $style.Font.Name = 'Arial'; $style.Font.Size = $item[1]
|
||||
$style.Font.Bold = 1; $style.Font.Color = $item[2]; $style.ParagraphFormat.KeepWithNext = -1; $style.ParagraphFormat.SpaceBefore = 10; $style.ParagraphFormat.SpaceAfter = 6
|
||||
}
|
||||
|
||||
function Add-Text { param([string]$Text,[double]$Size=10.5,[bool]$Bold=$false,[int]$Align=0,[int]$Color=0,[double]$Before=0,[double]$After=6,[double]$Indent=0.74)
|
||||
$selection.Style=$normal; $selection.Font.NameFarEast='宋体'; $selection.Font.Name='Arial'; $selection.Font.Size=$Size; $selection.Font.Bold=[int]$Bold; $selection.Font.Color=$Color
|
||||
$selection.ParagraphFormat.Alignment=$Align; $selection.ParagraphFormat.SpaceBefore=$Before; $selection.ParagraphFormat.SpaceAfter=$After; $selection.ParagraphFormat.FirstLineIndent=$word.CentimetersToPoints($Indent)
|
||||
$selection.TypeText($Text); $selection.TypeParagraph()
|
||||
}
|
||||
function Add-Heading { param([string]$Text,[int]$Level=1)
|
||||
$styleId = switch($Level) { 1 { -2 } 2 { -3 } default { -4 } }; $selection.Style=$doc.Styles.Item($styleId); $selection.TypeText($Text); $selection.TypeParagraph(); $selection.Style=$normal
|
||||
}
|
||||
function Add-Bullet { param([string]$Text)
|
||||
$selection.Style=$normal; $selection.Range.ListFormat.ApplyBulletDefault(); $selection.ParagraphFormat.LeftIndent=$word.CentimetersToPoints(0.75); $selection.ParagraphFormat.FirstLineIndent=$word.CentimetersToPoints(-0.5); $selection.TypeText($Text); $selection.TypeParagraph(); $selection.Range.ListFormat.RemoveNumbers(); $selection.ParagraphFormat.LeftIndent=0; $selection.ParagraphFormat.FirstLineIndent=0
|
||||
}
|
||||
function Add-Number { param([string]$Text)
|
||||
$selection.Style=$normal; $selection.Range.ListFormat.ApplyNumberDefault(); $selection.ParagraphFormat.LeftIndent=$word.CentimetersToPoints(0.75); $selection.TypeText($Text); $selection.TypeParagraph(); $selection.Range.ListFormat.RemoveNumbers(); $selection.ParagraphFormat.LeftIndent=0
|
||||
}
|
||||
function Add-Table { param([object[]]$Rows,[double[]]$Widths=@(),[double]$Size=8.7)
|
||||
$table=$doc.Tables.Add($selection.Range,$Rows.Count,$Rows[0].Count); $table.Borders.Enable=1; $table.AllowAutoFit=-1; $table.Range.Font.NameFarEast='宋体'; $table.Range.Font.Name='Arial'; $table.Range.Font.Size=$Size; $table.Range.ParagraphFormat.SpaceAfter=0
|
||||
for($r=0;$r -lt $Rows.Count;$r++){for($c=0;$c -lt $Rows[$r].Count;$c++){ $cell=$table.Cell($r+1,$c+1); $cell.Range.Text=[string]$Rows[$r][$c]; $cell.VerticalAlignment=1 }}
|
||||
for($c=0;$c -lt $Widths.Count -and $c -lt $table.Columns.Count;$c++){ $table.Columns.Item($c+1).Width=$word.CentimetersToPoints($Widths[$c]) }
|
||||
$table.Rows.Item(1).Range.Bold=1; $table.Rows.Item(1).Range.Font.NameFarEast='微软雅黑'; $table.Rows.Item(1).Range.ParagraphFormat.Alignment=1; $table.Rows.Item(1).Shading.BackgroundPatternColor=0xE6D8D0; $table.Rows.Item(1).HeadingFormat=-1
|
||||
$selection.SetRange($table.Range.End,$table.Range.End); $selection.TypeParagraph()
|
||||
}
|
||||
function Add-Note { param([string]$Title,[string]$Text,[string]$Kind='info')
|
||||
$shade = switch($Kind) { 'risk' { 0xD9E2F3 } 'warn' { 0xD9F2FF } default { 0xEAF4E4 } }; $table=$doc.Tables.Add($selection.Range,1,1); $table.Borders.Enable=1; $cell=$table.Cell(1,1); $cell.Range.Text="$Title:$Text"; $cell.Range.Font.NameFarEast='微软雅黑'; $cell.Range.Font.Size=9.5; $cell.Range.ParagraphFormat.SpaceAfter=0; $cell.Shading.BackgroundPatternColor=$shade; $selection.SetRange($table.Range.End,$table.Range.End); $selection.TypeParagraph()
|
||||
}
|
||||
function Add-Image { param([string]$Path,[double]$Width=16,[string]$Caption='')
|
||||
if(Test-Path $Path){$selection.ParagraphFormat.Alignment=1; $selection.ParagraphFormat.FirstLineIndent=0; $shape=$selection.InlineShapes.AddPicture($Path,$false,$true); $shape.LockAspectRatio=-1; $shape.Width=$word.CentimetersToPoints($Width); $selection.TypeParagraph(); if($Caption){Add-Text $Caption 9 $false 1 0 0 8 0}}
|
||||
}
|
||||
function Add-PageBreak { $selection.InsertBreak(7) }
|
||||
function Move-End { $selection.SetRange($doc.Content.End-1,$doc.Content.End-1) }
|
||||
|
||||
# 封面和文档控制
|
||||
Add-Text '大连元利流体技术有限公司' 18 $true 1 0x8F4A31 58 12 0
|
||||
Add-Text 'MES 系统标准设计文档' 28 $true 1 0x51352A 68 16 0
|
||||
Add-Text 'System Design Specification' 15 $false 1 0x6B594F 0 58 0
|
||||
Add-Table @(@('设计基线','内容'),@('文档编号','YL-MES-DESIGN-001'),@('系统版本','V1.1.0'),@('文档版本','V1.1'),@('基线日期','2026-07-24'),@('设计性质','系统总体设计与详细设计基线'),@('适用对象','架构、开发、实施、测试、运维和业务负责人')) @(4.0,11.0) 9.5
|
||||
Add-Text '本文档描述 MES 系统的目标、边界、设计决策、业务域、数据模型、接口契约、状态机、非功能指标和验收基线。实现技术细节、现有过程名称和源码定位以《标准技术文档》为准。' 10 $false 1 0x666666 20 0 0
|
||||
Add-PageBreak
|
||||
|
||||
Add-Heading '1 设计总则' 1
|
||||
Add-Heading '1.1 设计目标' 2
|
||||
foreach($x in @('以订单、物料、工艺、资源、任务、质量和工时为核心对象,形成可追溯的制造执行闭环。','将业务规则集中在服务端过程和领域边界内,前端负责交互、校验提示和视图编排。','通过角色、菜单、按钮和数据范围实现最小权限,所有关键变更可审计、可回退。','在不改变 SAP B1 主数据权威性的前提下,建立 MES 车间执行状态和异常反馈能力。')){Add-Bullet $x}
|
||||
Add-Heading '1.2 设计原则' 2
|
||||
Add-Table @(@('原则','设计要求','验收证据'),@('单一事实源','订单和物料以 SAP/接口主数据为源,执行事实以 MES 记录为源','主数据对账、字段映射表'),@('状态可追溯','状态变更必须有前置状态、操作人、时间和来源','操作日志、状态流转测试'),@('边界清晰','模块通过稳定对象和过程契约协作,不直接修改他域数据','依赖矩阵、接口清单'),@('可恢复','数据库、文件、配置和发布包均有备份和回退路径','恢复演练记录'),@('默认安全','服务端鉴权、参数校验、白名单和审计优先于前端限制','权限穿透测试、审计记录')) @(3.0,8.2,5.0)
|
||||
Add-Heading '1.3 范围与不在范围' 2
|
||||
Add-Table @(@('范围','纳入内容','不纳入内容'),@('纳入','MES Web、MESCommonBase、SQL Server、文件服务、SAP B1/TM/AGV/设备集成','MES 之外系统内部实现'),@('纳入','生产计划、工艺、生产执行、质量、工时、设备、研发和看板','ERP 财务总账和人力资源主系统'),@('约束','正式环境只按审批后的脚本和发布包变更','直接在正式库手工改业务数据')) @(3.0,8.2,5.0)
|
||||
Add-PageBreak
|
||||
|
||||
Add-Heading '2 需求与业务域设计' 1
|
||||
Add-Heading '2.1 业务域划分' 2
|
||||
Add-Table @(@('业务域','职责边界','核心对象','输出'),@('主数据与权限','人员、角色、菜单、工位、设备和基础参数','人员、角色、资源','可访问菜单和资源上下文'),@('工艺工程','标准工艺、生产工艺、工序、图纸和工艺任务','工序、工艺版本、图纸','可下发的订单工艺路线'),@('计划排产','按工艺和资源安排数量、工位、人员、日期','订单、工序任务、排产记录','未排产/已排产计划'),@('生产执行','收料、开工、暂停、报工、送检、完工','任务、操作记录、报工记录','实时生产状态和完成数量'),@('质量管理','检验标准、实测值、不合格处置和质量统计','检验任务、结果、处置单','合格/返工/让步/报废结论'),@('工时与成本','操作工时、辅助工时、校验、修正、结算','工时记录、校验记录','可信工时和成本数据'),@('集成与交付','ERP、库存、AGV、设备、文件和发货状态协同','接口消息、附件、交付状态','对账结果和交付视图')) @(3.0,6.0,4.0,3.2)
|
||||
Add-Heading '2.2 角色与责任' 2
|
||||
Add-Table @(@('角色','允许的设计范围','关键责任'),@('系统管理员','账号、角色、菜单、工位和基础配置','权限审批、账号生命周期、审计'),@('工艺工程师','工序、标准工艺、生产工艺、图纸','工艺版本、启用状态、变更说明'),@('计划员','排产、派工、计划时间和外协分组','资源冲突、计划冻结和调整原因'),@('班组长/操作员','任务执行、报工、送检和异常说明','真实记录现场事实,不代录他人'),@('质量人员','标准、检验、判定和不合格处置','检验结论、复检和质量追溯'),@('运维/开发','部署、接口、数据库和故障处理','变更评审、备份恢复和技术支持')) @(3.5,6.0,6.7)
|
||||
Add-Heading '2.3 关键业务规则' 2
|
||||
foreach($x in @('标准工艺是可复用模板,生产工艺是订单或物料的执行版本;只有通过启用和完整性检查的工艺才可下发任务。','同一订单工序的排产数量不得超过可计划数量;计划时间、工位和指派对象变更必须保留操作记录。','生产任务状态必须遵循状态机;已完成或已关闭任务不得通过普通编辑入口回退。','检验不合格必须进入处置分支,不能仅修改显示状态绕过返工、让步或报废流程。')){Add-Bullet $x}
|
||||
Add-PageBreak
|
||||
|
||||
Add-Heading '3 总体架构设计' 1
|
||||
Add-Heading '3.1 逻辑架构' 2
|
||||
Add-Image (Join-Path $assetDir 'logical-architecture.png') 16 '图3-1 MES逻辑架构'
|
||||
Add-Text '系统采用浏览器、MES Web 服务、统一数据库过程层和外部适配器分层。浏览器不直接连接数据库;业务请求携带用户和页面上下文,经服务端鉴权、参数处理和过程执行后返回结果。SAP B1、TM、AGV、设备和文件服务通过适配器隔离协议差异。'
|
||||
Add-Heading '3.2 分层职责' 2
|
||||
Add-Table @(@('层次','职责','禁止事项'),@('表示层','页面、表格、弹窗、交互校验、分页和导出','不在前端伪造最终业务状态'),@('应用服务层','身份上下文、请求编排、过程调用、异常和审计','不绕过权限直接暴露任意过程'),@('领域过程层','状态转换、事务、校验、幂等、聚合查询','不依赖页面字段名称作为唯一契约'),@('数据层','表、视图、索引、约束、日志和备份','正式环境手工修改业务表'),@('集成适配层','SAP/TM/AGV/设备/文件协议转换与重试','把外部凭据下发到浏览器')) @(3.0,7.0,6.2)
|
||||
Add-Heading '3.3 设计决策记录' 2
|
||||
Add-Table @(@('编号','决策','原因','影响'),@('ADR-001','常规 MES 查询统一走过程调用','集中权限、事务和数据规则','需要维护过程契约和版本'),@('ADR-002','外部系统通过适配器访问','隔离 SAP/TM/AGV 协议与凭据','需建设重试、超时和对账'),@('ADR-003','附件采用元数据+文件实体','便于权限、版本和生命周期管理','禁止仅凭原始文件名定位'),@('ADR-004','状态事实与统计视图分离','避免报表直接改生产状态','统计延迟和数据质量需监控')) @(2.0,5.0,6.0,4.0)
|
||||
Add-PageBreak
|
||||
|
||||
Add-Heading '4 业务流程与状态设计' 1
|
||||
Add-Heading '4.1 订单到交付主流程' 2
|
||||
Add-Image (Join-Path $assetDir 'business-flow.png') 16 '图4-1 订单到交付业务主流程'
|
||||
Add-Number '接收订单和物料主数据,建立订单行、拆分内码及可视范围。'
|
||||
Add-Number '维护或选择标准工艺,生成订单生产工艺并校验工序顺序、数量和资源。'
|
||||
Add-Number '计划员为工序安排工位、人员、数量、计划开始和计划完成时间。'
|
||||
Add-Number '下发生产任务,任务进入可执行队列;执行过程中记录收料、开工、暂停、报工和送检。'
|
||||
Add-Number '质量结果和工时校验反馈任务状态,完成任务进入订单关闭、入库或发货协同。'
|
||||
Add-Heading '4.2 生产任务状态机' 2
|
||||
Add-Image (Join-Path $assetDir 'design-task-state-machine.png') 16 '图4-2 生产任务状态机'
|
||||
Add-Table @(@('状态','允许前置','触发动作','允许后续'),@('未排产','新建/计划调整','保存排产信息','已排产、取消'),@('已排产','未排产','确认排产/派工','可执行、重排'),@('可执行','已排产且工艺下发','收料或开工','进行中、异常'),@('进行中','可执行/暂停','开始、恢复、报工','暂停、送检、完成'),@('暂停','进行中','暂停并填写原因','进行中、取消'),@('送检','进行中/报工完成','提交检验任务','完成、返工、让步、报废'),@('完成','检验合格/无需检验','完成确认','关闭/入库')) @(2.7,4.2,5.0,4.0)
|
||||
Add-Heading '4.3 质量与工时闭环' 2
|
||||
Add-Text '生产事实、检验事实和工时事实分别记录,再由状态规则和统计视图汇总。工时结算不得直接把页面显示值当作事实;必须使用可校验的开始/结束记录、报工数量、辅助工时和修正原因。质量不合格结果必须保留检验依据及处置结论。'
|
||||
Add-PageBreak
|
||||
|
||||
Add-Heading '5 数据设计' 1
|
||||
Add-Heading '5.1 核心实体关系' 2
|
||||
Add-Image (Join-Path $assetDir 'design-er-model.png') 16 '图5-1 MES核心实体关系图(ER)'
|
||||
Add-Table @(@('实体','主标识','关键关系','生命周期'),@('订单','订单编号+订单行号+拆分内码','包含物料、工艺和任务','接收、执行、关闭'),@('工艺版本','工艺编号/版本/启用状态','由多个工序组成','草稿、启用、停用'),@('生产任务','任务标识+订单工序','关联工位、人员、计划和报工','未排产至完成'),@('操作记录','记录标识','关联任务和操作人','开始、暂停、恢复、结束'),@('质量任务','检验任务标识','关联任务、标准和结果','待检、检验、处置、关闭'),@('附件','文件标识/哈希','关联订单、物料、工艺或检验','上传、启用、归档')) @(3.0,4.5,6.0,3.5)
|
||||
Add-Heading '5.2 数据一致性设计' 2
|
||||
foreach($x in @('所有跨域写入必须由一个明确的业务过程完成,过程内控制事务边界和失败回滚。','查询结果必须明确粒度;一对多关联用于展示时要通过聚合、去重或明确版本条件避免任务行膨胀。','工艺库、任务表和统计视图应定义当前启用记录规则,禁止仅按订单号和工序号无条件关联多个版本。','接口重试必须具备业务幂等键,避免重复创建任务、重复发料、重复报工或重复检验。','删除优先采用停用、关闭或归档,保留历史记录和审计链。')){Add-Bullet $x}
|
||||
Add-Heading '5.3 数据字典基线' 2
|
||||
Add-Table @(@('数据域','必须定义的字段','质量规则'),@('订单','订单编号、行号、拆分内码、物料、数量、交期','组合标识唯一,数量非负'),@('工艺','工艺编号、顺序、工艺要求、资源、启用、版本','同一范围仅一个当前启用版本'),@('排产','计划数量、工位、指派对象、开始/完成时间、排产状态','计划数量不超可计划量,时间先后合法'),@('执行','收料、开工、暂停、报工、完成数量','状态与操作记录一致'),@('质量','检验类型、标准、实测值、判定、处置','结果可追溯至任务和人员'),@('审计','用户、角色、页面、动作、参数摘要、结果、时间','禁止记录密码和敏感凭据')) @(3.0,7.4,5.1)
|
||||
Add-PageBreak
|
||||
|
||||
Add-Heading '6 接口与集成设计' 1
|
||||
Add-Heading '6.1 订单到任务接口时序' 2
|
||||
Add-Image (Join-Path $assetDir 'design-sequence-order-task.png') 16 '图6-1 订单到生产任务的接口时序图'
|
||||
Add-Heading '6.2 MES 通用接口契约' 2
|
||||
Add-Table @(@('部分','设计约束','失败处理'),@('请求上下文','用户标识、页面模块、动作类型、过程名、参数和分页信息','缺失身份或模块上下文直接拒绝'),@('查询响应','数据、总数、错误码、错误消息和关联标识','分页总数必须与结果粒度一致'),@('写入响应','成功标识、业务主键、状态和可重试提示','失败回滚并记录原因'),@('权限','服务端校验菜单、按钮和数据范围','前端隐藏不等于授权'),@('幂等','请求号或业务组合键可重复提交而不重复落库','重复请求返回原结果或明确冲突')) @(3.0,7.3,5.2)
|
||||
Add-Heading '6.3 外部集成边界' 2
|
||||
Add-Table @(@('系统','方向','数据','设计要求'),@('SAP B1','SAP→MES为主','订单、物料、BOM、采购和库存','明确主数据权威方、同步窗口和对账'),@('TM/库存','双向按场景','领料、库存、拣配和搬运','超时重试、幂等和人工补偿'),@('AGV','MES→AGV并回传','ContainerTransportOrder及任务状态','避免重复下发,记录外部任务号'),@('设备/MQTT','设备→MES,受控写入','变量、状态和设备命令','Tag白名单、范围校验和审计'),@('文件服务','MES↔文件服务','图纸、工艺附件、检验附件','权限一致、哈希校验、版本化')) @(3.0,3.0,5.0,5.0)
|
||||
Add-Heading '6.4 超时、重试和对账' 2
|
||||
Add-Text '同步查询和写入采用分类超时;外部调用失败不得直接伪造成功状态。可重试错误使用指数退避和幂等键,业务不可重试错误进入人工处理队列。每日对订单、任务、库存、AGV和文件实体执行数量及状态对账,差异生成可关闭的问题单。'
|
||||
Add-PageBreak
|
||||
|
||||
Add-Heading '7 安全与权限设计' 1
|
||||
Add-Image (Join-Path $assetDir 'permission-flow.png') 16 '图7-1 身份与权限设计'
|
||||
Add-Heading '7.1 权限模型' 2
|
||||
Add-Table @(@('控制点','设计'),@('身份认证','账号、密码、会话和登录失败控制;禁止共享账号'),@('角色授权','用户可关联多个角色,权限取角色授权集合并按数据范围收敛'),@('菜单/按钮','菜单决定入口,按钮决定动作;查询、编辑、确认、删除分别授权'),@('数据范围','按组织、工位、班组、订单或资源限制可见和可操作数据'),@('审计','记录登录、权限变更、关键写入、接口调用、设备写入和异常')) @(4.0,12.0)
|
||||
Add-Heading '7.2 安全基线' 2
|
||||
foreach($x in @('正式凭据只保存在服务端配置或密钥系统,前端包、日志和文档不得出现密码。','SQL、文件路径、设备 Tag、外部命令和过程调用采用白名单与参数化策略。','图纸和附件下载必须经过业务权限校验,不能依赖公开目录地址。','设备写入、AGV下发、订单关闭和质量处置属于高风险动作,应二次确认并记录前后值。','安全事件按账号、请求号、页面、时间、IP和业务主键关联,支持追溯。')){Add-Bullet $x}
|
||||
Add-PageBreak
|
||||
|
||||
Add-Heading '8 部署与运行设计' 1
|
||||
Add-Image (Join-Path $assetDir 'deployment-topology.png') 16 '图8-1 正式环境部署拓扑'
|
||||
Add-Heading '8.1 环境划分' 2
|
||||
Add-Table @(@('环境','用途','数据策略','发布要求'),@('开发','功能开发和单元调试','脱敏或模拟数据','允许快速迭代'),@('测试/预发布','集成、回归、性能和权限验证','接近正式结构的测试数据','必须有版本化构建包'),@('正式','生产执行和经营数据','正式备份、审批和审计','变更窗口、回退包和应急联系人齐备')) @(3.0,5.0,5.0,3.0)
|
||||
Add-Heading '8.2 发布设计' 2
|
||||
foreach($x in @('构建阶段锁定依赖、生成版本号和校验文件;发布包包含 dist、运行时配置模板和回退包。','数据库脚本先在测试库执行并验证,再按审批顺序执行正式脚本;脚本必须可重复检查、可审计。','发布前备份数据库、配置、文件索引和当前前端包,发布后执行登录、查询、关键写入、外部接口和回退冒烟。','发布失败时先停止继续变更,依据故障范围选择前端回退、脚本回退或数据补偿,并保留现场日志。')){Add-Number $x}
|
||||
Add-Heading '8.3 可用性和恢复目标' 2
|
||||
Add-Table @(@('指标','设计基线','验证方式'),@('RPO','核心数据库按备份策略可恢复;日志和附件纳入备份范围','备份恢复演练'),@('RTO','按故障等级定义恢复时限,关键生产入口优先','故障演练记录'),@('查询性能','常用列表在目标数据量下满足页面交互时延','代表性数据压测'),@('并发控制','同一任务的排产、报工、关闭和质量处置避免并发覆盖','冲突测试、版本校验'),@('容量','每月记录数据库、附件、日志和核心表增长率','容量趋势报告')) @(3.5,8.0,4.5)
|
||||
Add-PageBreak
|
||||
|
||||
Add-Heading '9 测试与验收设计' 1
|
||||
Add-Heading '9.1 测试层次' 2
|
||||
Add-Table @(@('层次','对象','通过标准'),@('单元/过程测试','校验、状态转换、计算和异常分支','规则边界和回滚正确'),@('接口测试','MES通用、SAP/TM、AGV、设备和文件接口','契约、超时、重试和幂等通过'),@('集成测试','订单→工艺→排产→执行→质量→交付','主链路和失败链路可追踪'),@('权限测试','角色、按钮、数据范围和越权路径','无越权、无水平或垂直越权'),@('性能/恢复','并发、慢查询、备份恢复和发布回退','达到指标且演练可重复'),@('用户验收','计划员、工艺、班组、质量、管理人员场景','关键岗位签字确认')) @(3.0,7.0,6.0)
|
||||
Add-Heading '9.2 核心验收场景' 2
|
||||
foreach($x in @('订单导入后生成标准工艺和生产工艺,验证保存、启用、下发、编辑和版本边界。','机加件和装配件分别排产,验证工位、人员、数量、计划时间、外协分组和已/未排产查询粒度。','执行收料、开工、暂停、恢复、报工、送检和完成,验证状态机、数量和工时记录。','质量合格、不合格、返工、让步和报废分别验证下游状态和追溯。','外部接口成功、超时、重复提交和部分成功分别验证重试、对账和人工补偿。','权限矩阵逐角色验证查询、编辑、确认、删除、设备写入和附件下载。')){Add-Bullet $x}
|
||||
Add-Heading '9.3 验收交付物' 2
|
||||
Add-Table @(@('交付物','内容','责任方'),@('设计基线','架构、数据、接口、状态和非功能要求','架构/产品'),@('测试证据','用例、结果、缺陷、性能和恢复记录','测试/运维'),@('变更证据','版本号、审批、脚本、备份和回退记录','开发/实施'),@('运行证据','监控、告警、权限、审计和对账结果','运维/业务')) @(3.5,9.0,3.5)
|
||||
Add-PageBreak
|
||||
|
||||
Add-Heading '10 设计风险与演进路线' 1
|
||||
Add-Table @(@('优先级','设计风险','影响','演进动作'),@('P0','前端上下文不足或服务端权限不强制','越权和审计失效','统一服务端鉴权、权限穿透测试和审计关联'),@('P1','过程与页面字段耦合,缺少版本化契约','升级回归和接口兼容风险','建立接口契约、过程版本和自动化回归'),@('P1','工艺版本一对多关联导致任务结果膨胀','计划数量、报表和排产判断失真','明确当前启用版本,查询按版本去重并建立数据质量检查'),@('P1','外部接口缺乏统一幂等与补偿','重复任务或状态不一致','统一请求号、对账任务和人工补偿队列'),@('P2','大页面和大过程维护成本高','变更影响面大','按业务域拆分服务、查询和前端页面'),@('P2','统计和事实数据边界不清','报表与现场状态不一致','建立数据产品层和指标口径管理')) @(2.0,5.5,4.2,5.8)
|
||||
Add-Heading '10.1 分阶段演进' 2
|
||||
Add-Table @(@('阶段','重点','完成标志'),@('阶段一:基线治理','权限、凭据、过程契约、工艺版本和备份恢复','风险项有负责人和验证记录'),@('阶段二:稳定性提升','接口幂等、对账、监控、慢查询和自动化回归','关键链路可观测、可恢复'),@('阶段三:领域演进','按业务域拆分、统一状态服务、数据产品和容量治理','新功能不依赖跨域直接改表'),@('阶段四:智能优化','负荷预测、异常推荐、设备分析和工艺成本优化','模型结果可解释且不绕过业务审批')) @(4.0,8.0,5.5)
|
||||
Add-PageBreak
|
||||
|
||||
Add-Heading '附录A 设计追踪矩阵' 1
|
||||
Add-Table @(@('需求/目标','设计章节','实现/验证对象','验收证据'),@('订单可追溯','2、4、5','订单、任务、操作、质量和附件','全流程主键追踪'),@('工艺可复用','2、4、5','标准工艺、生产工艺、启用版本','工艺生成和版本测试'),@('计划可执行','4、5','工序任务、资源、计划时间','排产冲突和状态测试'),@('生产可核算','4、5','操作记录、报工、工时校验','工时计算和修正记录'),@('质量可闭环','4、5、6','检验任务、结果、处置和交付','不合格处置链路'),@('系统可运营','7、8、9、10','权限、日志、监控、备份和回退','演练、审计和验收清单')) @(4.0,4.0,5.8,4.0)
|
||||
Add-Heading '附录B 设计输入与输出' 1
|
||||
Add-Table @(@('类别','输入','输出'),@('业务输入','订单、工艺、资源、质量和交付规则','业务域模型、状态机和流程'),@('技术输入','前端源码、服务接口、数据库对象、运行配置','分层架构、接口边界和部署拓扑'),@('运营输入','权限矩阵、备份策略、监控和应急要求','安全、恢复、运维和验收设计'),@('变更输入','缺陷、需求、数据质量和容量趋势','ADR、风险项和演进路线')) @(3.5,7.0,5.5)
|
||||
|
||||
$header=$section.Headers.Item(1); $header.Range.Text='大连元利流体技术有限公司 MES 系统标准设计文档'; $header.Range.Font.NameFarEast='微软雅黑'; $header.Range.Font.Size=8; $header.Range.ParagraphFormat.Alignment=2
|
||||
$footer=$section.Footers.Item(1); $footer.Range.Text='内部设计基线 | YL-MES-DESIGN-001'; $footer.Range.Font.NameFarEast='宋体'; $footer.Range.Font.Size=8; $footer.Range.ParagraphFormat.Alignment=1
|
||||
try { $doc.BuiltInDocumentProperties.Item('Title').Value='大连元利流体技术有限公司MES系统标准设计文档'; $doc.BuiltInDocumentProperties.Item('Subject').Value='MES系统总体设计基线' } catch { }
|
||||
$doc.SaveAs2($docxPath,16)
|
||||
$doc.ExportAsFixedFormat($pdfPath,17)
|
||||
}
|
||||
finally {
|
||||
if($doc){try{$doc.Close($false)}catch{}; try{[void][Runtime.InteropServices.Marshal]::ReleaseComObject($doc)}catch{}}
|
||||
if($word){try{$word.Quit()}catch{}; try{[void][Runtime.InteropServices.Marshal]::ReleaseComObject($word)}catch{}}
|
||||
[GC]::Collect(); [GC]::WaitForPendingFinalizers()
|
||||
}
|
||||
Write-Output "已生成:$docxPath"
|
||||
Write-Output "已生成:$pdfPath"
|
||||
@@ -0,0 +1,51 @@
|
||||
param(
|
||||
[string]$OutputDirectory = ''
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
$scriptRoot = $PSScriptRoot
|
||||
$root = (Resolve-Path (Join-Path $scriptRoot '..\..')).Path
|
||||
$outputDir = if ($OutputDirectory) { (Resolve-Path $OutputDirectory).Path } else { Join-Path $root 'doc' }
|
||||
$technicalBuilder = Join-Path $root 'work\system-technical-document\build-standard-technical-document.ps1'
|
||||
$tempDir = Join-Path $scriptRoot 'source-build'
|
||||
$technicalBase = '大连元利流体技术有限公司MES系统标准技术文档_V1.0_2026-07-24'
|
||||
$designBase = '大连元利流体技术有限公司MES系统标准设计文档_V1.0_2026-07-24'
|
||||
$sourceDocx = Join-Path $tempDir ($technicalBase + '.docx')
|
||||
$targetDocx = Join-Path $outputDir ($designBase + '.docx')
|
||||
$targetPdf = Join-Path $outputDir ($designBase + '.pdf')
|
||||
|
||||
New-Item -ItemType Directory -Force -Path $outputDir, $tempDir | Out-Null
|
||||
|
||||
# 在源构建脚本中替换文档基线名称,再由原有生成器一次性生成 DOCX/PDF。
|
||||
# 这样可以保留封面、页眉、修订记录和文档属性的一致性。
|
||||
$sourceScript = Join-Path $tempDir 'build-design-source.ps1'
|
||||
$sourceText = [IO.File]::ReadAllText($technicalBuilder, [Text.Encoding]::UTF8)
|
||||
$replacements = @(
|
||||
@('大连元利流体技术有限公司MES系统标准技术文档_V1.0_2026-07-24', '大连元利流体技术有限公司MES系统标准设计文档_V1.0_2026-07-24'),
|
||||
@('MES 系统标准技术文档', 'MES 系统标准设计文档'),
|
||||
@('MES系统标准技术文档', 'MES系统标准设计文档'),
|
||||
@('System Technical Specification', 'System Design Specification'),
|
||||
@('首次形成系统级标准技术文档', '首次形成系统级标准设计文档'),
|
||||
@('本文档定义 MES 系统当前技术实现基线', '本文档定义 MES 系统当前系统设计基线')
|
||||
)
|
||||
foreach ($pair in $replacements) {
|
||||
$sourceText = $sourceText.Replace($pair[0], $pair[1])
|
||||
}
|
||||
$utf8Bom = New-Object Text.UTF8Encoding($true)
|
||||
[IO.File]::WriteAllText($sourceScript, $sourceText, $utf8Bom)
|
||||
Copy-Item -LiteralPath (Join-Path $root 'work\system-technical-document\assets') -Destination (Join-Path $tempDir 'assets') -Recurse -Force
|
||||
|
||||
& powershell.exe -NoProfile -ExecutionPolicy Bypass -File $sourceScript -OutputDirectory $tempDir
|
||||
$generatedDocx = Join-Path $tempDir ($designBase + '.docx')
|
||||
$generatedPdf = Join-Path $tempDir ($designBase + '.pdf')
|
||||
if (-not (Test-Path -LiteralPath $generatedDocx)) {
|
||||
throw "未找到标准设计文档 DOCX:$generatedDocx"
|
||||
}
|
||||
if (-not (Test-Path -LiteralPath $generatedPdf)) {
|
||||
throw "未找到标准设计文档 PDF:$generatedPdf"
|
||||
}
|
||||
Copy-Item -LiteralPath $generatedDocx -Destination $targetDocx -Force
|
||||
Copy-Item -LiteralPath $generatedPdf -Destination $targetPdf -Force
|
||||
|
||||
Write-Output "已生成:$targetDocx"
|
||||
Write-Output "已生成:$targetPdf"
|
||||
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 58 KiB |
|
After Width: | Height: | Size: 47 KiB |
843
work/system-design-document/source-build/build-design-source.ps1
Normal file
@@ -0,0 +1,843 @@
|
||||
param(
|
||||
[string]$OutputDirectory = ''
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
Add-Type -AssemblyName System.Drawing
|
||||
|
||||
$scriptRoot = $PSScriptRoot
|
||||
$root = (Resolve-Path (Join-Path $scriptRoot '..\..')).Path
|
||||
$docDir = if ($OutputDirectory) { $OutputDirectory } else { Join-Path $root 'doc' }
|
||||
$assetDir = Join-Path $scriptRoot 'assets'
|
||||
$fileBase = '大连元利流体技术有限公司MES系统标准设计文档_V1.0_2026-07-24'
|
||||
$docxPath = Join-Path $docDir ($fileBase + '.docx')
|
||||
$pdfPath = Join-Path $docDir ($fileBase + '.pdf')
|
||||
$buildLog = Join-Path $scriptRoot 'build.log'
|
||||
|
||||
New-Item -ItemType Directory -Force -Path $docDir, $assetDir | Out-Null
|
||||
[IO.File]::WriteAllText($buildLog, "开始生成 $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')`r`n", [Text.Encoding]::UTF8)
|
||||
|
||||
function Write-ProgressLog {
|
||||
param([string]$Message)
|
||||
[IO.File]::AppendAllText($buildLog, "$(Get-Date -Format 'HH:mm:ss') $Message`r`n", [Text.Encoding]::UTF8)
|
||||
}
|
||||
|
||||
function New-Canvas {
|
||||
param([int]$Width = 1800, [int]$Height = 980)
|
||||
$bitmap = New-Object System.Drawing.Bitmap $Width, $Height
|
||||
$graphics = [System.Drawing.Graphics]::FromImage($bitmap)
|
||||
$graphics.SmoothingMode = [System.Drawing.Drawing2D.SmoothingMode]::AntiAlias
|
||||
$graphics.TextRenderingHint = [System.Drawing.Text.TextRenderingHint]::AntiAliasGridFit
|
||||
$graphics.Clear([System.Drawing.Color]::FromArgb(248, 250, 252))
|
||||
return @($bitmap, $graphics)
|
||||
}
|
||||
|
||||
function Draw-Box {
|
||||
param(
|
||||
[System.Drawing.Graphics]$Graphics,
|
||||
[int]$X,
|
||||
[int]$Y,
|
||||
[int]$Width,
|
||||
[int]$Height,
|
||||
[string]$Title,
|
||||
[string]$Detail,
|
||||
[System.Drawing.Color]$Fill,
|
||||
[System.Drawing.Color]$Border = [System.Drawing.Color]::FromArgb(64, 80, 96)
|
||||
)
|
||||
$rect = New-Object System.Drawing.Rectangle $X, $Y, $Width, $Height
|
||||
$brush = New-Object System.Drawing.SolidBrush $Fill
|
||||
$pen = New-Object System.Drawing.Pen $Border, 3
|
||||
$Graphics.FillRectangle($brush, $rect)
|
||||
$Graphics.DrawRectangle($pen, $rect)
|
||||
$titleFont = New-Object System.Drawing.Font 'Microsoft YaHei', 21, ([System.Drawing.FontStyle]::Bold), ([System.Drawing.GraphicsUnit]::Pixel)
|
||||
$detailFont = New-Object System.Drawing.Font 'Microsoft YaHei', 16, ([System.Drawing.FontStyle]::Regular), ([System.Drawing.GraphicsUnit]::Pixel)
|
||||
$textBrush = New-Object System.Drawing.SolidBrush ([System.Drawing.Color]::FromArgb(30, 41, 59))
|
||||
$format = New-Object System.Drawing.StringFormat
|
||||
$format.Alignment = [System.Drawing.StringAlignment]::Center
|
||||
$format.LineAlignment = [System.Drawing.StringAlignment]::Center
|
||||
$titleRect = New-Object System.Drawing.RectangleF ($X + 12), ($Y + 8), ($Width - 24), ([Math]::Min(48, $Height * 0.36))
|
||||
$detailRect = New-Object System.Drawing.RectangleF ($X + 14), ($Y + 48), ($Width - 28), ($Height - 54)
|
||||
$Graphics.DrawString($Title, $titleFont, $textBrush, $titleRect, $format)
|
||||
$Graphics.DrawString($Detail, $detailFont, $textBrush, $detailRect, $format)
|
||||
$format.Dispose(); $textBrush.Dispose(); $detailFont.Dispose(); $titleFont.Dispose(); $pen.Dispose(); $brush.Dispose()
|
||||
}
|
||||
|
||||
function Draw-Arrow {
|
||||
param([System.Drawing.Graphics]$Graphics, [int]$X1, [int]$Y1, [int]$X2, [int]$Y2, [string]$Label = '')
|
||||
$pen = New-Object System.Drawing.Pen ([System.Drawing.Color]::FromArgb(71, 85, 105)), 4
|
||||
$pen.CustomEndCap = New-Object System.Drawing.Drawing2D.AdjustableArrowCap 6, 7
|
||||
$Graphics.DrawLine($pen, $X1, $Y1, $X2, $Y2)
|
||||
if ($Label) {
|
||||
$font = New-Object System.Drawing.Font 'Microsoft YaHei', 14, ([System.Drawing.FontStyle]::Regular), ([System.Drawing.GraphicsUnit]::Pixel)
|
||||
$brush = New-Object System.Drawing.SolidBrush ([System.Drawing.Color]::FromArgb(71, 85, 105))
|
||||
$Graphics.DrawString($Label, $font, $brush, (($X1 + $X2) / 2 - 40), (($Y1 + $Y2) / 2 - 25))
|
||||
$brush.Dispose(); $font.Dispose()
|
||||
}
|
||||
$pen.Dispose()
|
||||
}
|
||||
|
||||
function Save-Canvas {
|
||||
param([System.Drawing.Bitmap]$Bitmap, [System.Drawing.Graphics]$Graphics, [string]$Path)
|
||||
$Graphics.Dispose()
|
||||
$Bitmap.Save($Path, [System.Drawing.Imaging.ImageFormat]::Png)
|
||||
$Bitmap.Dispose()
|
||||
}
|
||||
|
||||
function Build-Diagrams {
|
||||
$blue = [System.Drawing.Color]::FromArgb(219, 234, 254)
|
||||
$teal = [System.Drawing.Color]::FromArgb(204, 251, 241)
|
||||
$amber = [System.Drawing.Color]::FromArgb(254, 243, 199)
|
||||
$green = [System.Drawing.Color]::FromArgb(220, 252, 231)
|
||||
$gray = [System.Drawing.Color]::FromArgb(226, 232, 240)
|
||||
$red = [System.Drawing.Color]::FromArgb(254, 226, 226)
|
||||
|
||||
$canvas = New-Canvas 1800 960; $b = $canvas[0]; $g = $canvas[1]
|
||||
Draw-Box $g 60 80 270 150 '用户访问层' 'Chrome / Edge`nPC 与车间终端' $blue
|
||||
Draw-Box $g 420 80 350 150 'MES 前端' 'Vue 2.7 + Element UI`n动态菜单、业务交互、报表' $teal
|
||||
Draw-Box $g 860 80 380 150 'MES 通用服务' 'HTTPS / MESCommonBase.ashx`n过程调用、上传下载、日志' $amber
|
||||
Draw-Box $g 1330 80 390 150 'SQL Server' 'YL_MESDB`n业务数据、视图、存储过程' $green
|
||||
Draw-Arrow $g 330 155 420 155 'HTTPS'; Draw-Arrow $g 770 155 860 155 'JSON'; Draw-Arrow $g 1240 155 1330 155 'T-SQL'
|
||||
Draw-Box $g 420 380 350 140 'SAP B1 代理服务' 'B1 Service Layer`nGET / POST / PATCH' $blue
|
||||
Draw-Box $g 860 380 380 140 'TM 开放接口' '领料、库存及相关业务接口' $teal
|
||||
Draw-Box $g 1330 380 390 140 '文件服务' '图纸、附件上传与下载' $gray
|
||||
Draw-Arrow $g 595 230 595 380 '业务集成'; Draw-Arrow $g 1050 230 1050 380 '业务集成'; Draw-Arrow $g 1525 230 1525 380 '文件'
|
||||
Draw-Box $g 420 680 350 140 'AGV / 物流接口' '搬运任务下发与状态维护' $amber
|
||||
Draw-Box $g 860 680 380 140 '设备 / MQTT' '设备变量读取、写入与状态采集' $red
|
||||
Draw-Box $g 1330 680 390 140 '质量与看板接口' 'SPC、趋势图、实时监控' $blue
|
||||
Draw-Arrow $g 595 520 595 680; Draw-Arrow $g 1050 520 1050 680; Draw-Arrow $g 1525 520 1525 680
|
||||
Save-Canvas $b $g (Join-Path $assetDir 'logical-architecture.png')
|
||||
|
||||
$canvas = New-Canvas 1800 930; $b = $canvas[0]; $g = $canvas[1]
|
||||
$steps = @(
|
||||
@('ERP 订单', '销售/生产订单、物料、BOM', $blue),
|
||||
@('工艺准备', '标准工艺、生产工艺、图纸', $teal),
|
||||
@('计划排产', '工位、人员、数量与时间', $amber),
|
||||
@('任务下发', '形成工序任务并进入执行队列', $green),
|
||||
@('生产执行', '收料、开工、暂停、报工、送检', $blue),
|
||||
@('质量闭环', '首检、序检、收检、终检、不合格处置', $red),
|
||||
@('完工交付', '工时校验、订单关闭、入库与发货', $green)
|
||||
)
|
||||
for ($i = 0; $i -lt $steps.Count; $i++) {
|
||||
$x = 65 + ($i % 4) * 430; $y = if ($i -lt 4) { 130 } else { 540 }
|
||||
Draw-Box $g $x $y 335 170 $steps[$i][0] $steps[$i][1] $steps[$i][2]
|
||||
if ($i -lt 3) { Draw-Arrow $g ($x + 335) ($y + 85) ($x + 430) ($y + 85) }
|
||||
if ($i -eq 3) { Draw-Arrow $g ($x + 165) ($y + 170) ($x + 165) 455 '进入执行' }
|
||||
if ($i -ge 4 -and $i -lt 6) { Draw-Arrow $g ($x + 335) ($y + 85) ($x + 430) ($y + 85) }
|
||||
}
|
||||
Draw-Arrow $g 1510 540 1510 410; Draw-Arrow $g 1510 410 280 410 '异常、返工、计划调整反馈'
|
||||
Save-Canvas $b $g (Join-Path $assetDir 'business-flow.png')
|
||||
|
||||
$canvas = New-Canvas 1800 900; $b = $canvas[0]; $g = $canvas[1]
|
||||
Draw-Box $g 80 100 300 150 '账号登录' '用户名、密码验证' $blue
|
||||
Draw-Box $g 500 100 300 150 '角色选择' '一个账号可对应多个角色' $teal
|
||||
Draw-Box $g 920 100 360 150 '菜单权限读取' '按角色加载菜单及增删改查权限' $amber
|
||||
Draw-Box $g 1400 100 300 150 '动态路由' '仅挂载可访问页面' $green
|
||||
Draw-Arrow $g 380 175 500 175; Draw-Arrow $g 800 175 920 175; Draw-Arrow $g 1280 175 1400 175
|
||||
Draw-Box $g 300 500 360 160 '页面业务请求' '携带 UserID、UserName、ModularID' $blue
|
||||
Draw-Box $g 800 500 360 160 '服务端校验与执行' '校验身份、参数与业务规则' $teal
|
||||
Draw-Box $g 1300 500 360 160 '审计与结果' '记录操作上下文并返回结果' $gray
|
||||
Draw-Arrow $g 1550 250 480 500 '进入业务页面'; Draw-Arrow $g 660 580 800 580; Draw-Arrow $g 1160 580 1300 580
|
||||
Save-Canvas $b $g (Join-Path $assetDir 'permission-flow.png')
|
||||
|
||||
$canvas = New-Canvas 1800 900; $b = $canvas[0]; $g = $canvas[1]
|
||||
Draw-Box $g 80 110 330 170 '浏览器终端' '访问 MES Web 站点`n建议统一受管浏览器版本' $blue
|
||||
Draw-Box $g 530 110 340 170 'Web 静态资源' 'index.html、JS、CSS`nstatic/config.js 环境配置' $teal
|
||||
Draw-Box $g 990 110 340 170 '应用服务' '10101:MES 通用服务`n9996:B1/TM 代理服务' $amber
|
||||
Draw-Box $g 1410 110 310 170 '数据库服务' '192.168.2.92`nSQL Server / YL_MESDB' $green
|
||||
Draw-Arrow $g 410 195 530 195 'HTTPS'; Draw-Arrow $g 870 195 990 195 'HTTPS'; Draw-Arrow $g 1330 195 1410 195 '内网'
|
||||
Draw-Box $g 300 570 360 150 'SAP B1' 'ERP 主数据、订单、库存' $blue
|
||||
Draw-Box $g 800 570 360 150 '文件与图纸' '上传、下载、在线预览' $gray
|
||||
Draw-Box $g 1300 570 360 150 'AGV / 设备侧' '9981 AGV 接口及设备通信' $red
|
||||
Draw-Arrow $g 1160 280 480 570; Draw-Arrow $g 1160 280 980 570; Draw-Arrow $g 1160 280 1480 570
|
||||
Save-Canvas $b $g (Join-Path $assetDir 'deployment-topology.png')
|
||||
}
|
||||
|
||||
Build-Diagrams
|
||||
Write-ProgressLog '已生成四张技术架构与流程图'
|
||||
|
||||
$modulePages = [ordered]@{
|
||||
'系统管理' = @('人员管理', '角色管理', '菜单管理', '工位管理', '报工操作记录')
|
||||
'设备管理' = @('设备信息维护', '设备数据', '设备历史数据', '实时数据')
|
||||
'研发管理' = @('设计任务', '设计报工', '设计工时校验', '设计工时报表', '研发财务工时')
|
||||
'工艺管理' = @('工序管理', '制定标准工艺', '生产工艺', '工艺查询', '工艺任务', '图纸维护', '工艺维护', '查看图纸', '采购图纸查询')
|
||||
'计划排产' = @('机加件排产', '装配件排产', '机加件已排产', '机加件未排产', '优先装配', '计划用表', '装配未排产', '生产订单关闭', '工位任务汇总', '装配已排产', '系统类装配任务', '阀类装配任务', '及时齐套跟踪结果')
|
||||
'生产管理' = @('生产计划跟踪', '加工中心', '过程异常管控', '工时校验', '外协管理', '人员绑定', '装配中心', '班次管理', '工时报表', '加急件管理', '拣配任务', '采购外协管理', '工时查询', '机加正在进行中', '装配状态', '外协报表', '工时修正', '物料机器人', '手续确认报表', '发货通知列表', '结算工时')
|
||||
'异常提醒' = @('机加及时开工', '外协及时开工', '加急任务列表', '装配及时送检')
|
||||
'质量管理' = @('终检', '采购入库检', '销售退货检', '原材料退库检', '序检收检', '质量检验标准', '其他入库检', '质检明细', '不合格品处置', '质检报工', '测试装配任务', '及时检验报表', '产品合格率(工位)')
|
||||
'销售订单管理' = @('销售订单状态')
|
||||
}
|
||||
|
||||
$moduleDesign = @(
|
||||
@('系统管理', '账号、角色、菜单、工位及操作审计', '人员/角色/菜单基础数据', '全部业务模块的登录与权限基础'),
|
||||
@('设备管理', '维护设备台账并查看实时与历史数据', '设备、工位、采集变量', '生产执行、设备看板和设备分析'),
|
||||
@('研发管理', '设计任务分派、报工、校验与财务工时', '研发项目、任务、人员、报工记录', '工时统计、成本核算和项目复盘'),
|
||||
@('工艺管理', '维护工序、标准工艺、订单工艺及图纸', '物料、工序、标准工艺、订单工艺、图纸', '计划排产、任务下发、生产执行和检验标准'),
|
||||
@('计划排产', '将订单工艺分配到工位、人员和时间', '生产订单、工艺路线、资源与日历', '生产任务、齐套跟踪、工位负荷和异常提醒'),
|
||||
@('生产管理', '执行收料、开工、暂停、报工、送检和工时闭环', '工序任务、人员、设备、物料和操作记录', '质量检验、完工关闭、工时报表和交付状态'),
|
||||
@('异常提醒', '识别未及时开工、未及时送检和加急事项', '计划时间、实际时间、任务状态', '计划调整、现场督办和管理看板'),
|
||||
@('质量管理', '执行质量标准、检验、判定与不合格处置', '检验任务、标准、实测值、量具和处置记录', '任务流转、入库、返工/让步/报废和质量统计'),
|
||||
@('销售订单管理', '汇总订单从计划到交付的全流程状态', 'SAP 销售订单与 MES 生产/质量/交付数据', '交付协调、客户响应和经营分析')
|
||||
)
|
||||
|
||||
$techStack = @(
|
||||
@('前端框架', 'Vue.js', '2.7.16', '单页应用与组件体系'),
|
||||
@('UI 组件', 'Element UI', '2.15.14', '表单、表格、弹窗、分页'),
|
||||
@('路由', 'Vue Router', '3.6.5', '动态权限路由'),
|
||||
@('状态管理', 'Vuex', '3.6.2', '用户、角色、标签页等全局状态'),
|
||||
@('HTTP', 'Axios', '0.21.4', 'MES、SAP B1、TM 与其他服务调用'),
|
||||
@('图表', 'ECharts', '5.4.3', '看板和统计图'),
|
||||
@('日历排程', 'FullCalendar', '6.1.x', '计划日历与排产交互'),
|
||||
@('设备通信', 'MQTT.js', '4.3.7', '设备与实时数据通信'),
|
||||
@('文档与报表', 'xlsx / jsPDF / pdfjs / docxtemplater', '见 package.json', '导入导出、PDF预览和模板生成'),
|
||||
@('构建工具', 'Webpack', '5.89.0', '开发服务、生产构建和代码分包'),
|
||||
@('数据库', 'Microsoft SQL Server', '2019 / 兼容级别150', 'YL_MESDB 业务数据与过程层')
|
||||
)
|
||||
|
||||
$word = $null; $doc = $null
|
||||
try {
|
||||
$word = New-Object -ComObject Word.Application
|
||||
$word.Visible = $false
|
||||
$word.DisplayAlerts = 0
|
||||
$doc = $word.Documents.Add()
|
||||
$selection = $word.Selection
|
||||
$normal = $doc.Styles.Item(-1)
|
||||
|
||||
$section = $doc.Sections.Item(1)
|
||||
$section.PageSetup.PaperSize = 7
|
||||
$section.PageSetup.TopMargin = $word.CentimetersToPoints(2.3)
|
||||
$section.PageSetup.BottomMargin = $word.CentimetersToPoints(2.0)
|
||||
$section.PageSetup.LeftMargin = $word.CentimetersToPoints(2.4)
|
||||
$section.PageSetup.RightMargin = $word.CentimetersToPoints(2.1)
|
||||
$section.PageSetup.HeaderDistance = $word.CentimetersToPoints(1.0)
|
||||
$section.PageSetup.FooterDistance = $word.CentimetersToPoints(1.0)
|
||||
$section.PageSetup.DifferentFirstPageHeaderFooter = -1
|
||||
|
||||
$normal.Font.NameFarEast = '宋体'; $normal.Font.Name = 'Arial'; $normal.Font.Size = 10.5
|
||||
$normal.ParagraphFormat.LineSpacingRule = 1
|
||||
$normal.ParagraphFormat.LineSpacing = 18
|
||||
$normal.ParagraphFormat.SpaceAfter = 6
|
||||
|
||||
foreach ($item in @(@(-2, 16, 0x8F4A31), @(-3, 13, 0x8F4A31), @(-4, 11, 0x6B594F))) {
|
||||
$style = $doc.Styles.Item($item[0])
|
||||
$style.Font.NameFarEast = '微软雅黑'; $style.Font.Name = 'Arial'; $style.Font.Size = $item[1]
|
||||
$style.Font.Bold = 1; $style.Font.Color = $item[2]
|
||||
$style.ParagraphFormat.KeepWithNext = -1; $style.ParagraphFormat.SpaceBefore = 10; $style.ParagraphFormat.SpaceAfter = 6
|
||||
}
|
||||
|
||||
function Move-End { $selection.SetRange($doc.Content.End - 1, $doc.Content.End - 1) }
|
||||
function Add-Text {
|
||||
param([string]$Text, [double]$Size = 10.5, [bool]$Bold = $false, [int]$Align = 0, [int]$Color = 0, [double]$Before = 0, [double]$After = 6, [double]$FirstIndentCm = 0.74)
|
||||
$selection.Style = $normal
|
||||
$selection.Font.NameFarEast = '宋体'; $selection.Font.Name = 'Arial'; $selection.Font.Size = $Size
|
||||
$selection.Font.Bold = [int]$Bold; $selection.Font.Color = $Color
|
||||
$selection.ParagraphFormat.Alignment = $Align; $selection.ParagraphFormat.SpaceBefore = $Before; $selection.ParagraphFormat.SpaceAfter = $After
|
||||
$selection.ParagraphFormat.FirstLineIndent = $word.CentimetersToPoints($FirstIndentCm)
|
||||
$selection.TypeText($Text); $selection.TypeParagraph()
|
||||
}
|
||||
function Add-Heading {
|
||||
param([string]$Text, [int]$Level = 1)
|
||||
$styleId = switch ($Level) { 1 { -2 } 2 { -3 } default { -4 } }
|
||||
$selection.Style = $doc.Styles.Item($styleId)
|
||||
$selection.TypeText($Text); $selection.TypeParagraph(); $selection.Style = $normal
|
||||
}
|
||||
function Add-Bullet {
|
||||
param([string]$Text, [int]$Level = 1)
|
||||
$selection.Style = $normal
|
||||
$selection.Range.ListFormat.ApplyBulletDefault()
|
||||
$selection.ParagraphFormat.LeftIndent = $word.CentimetersToPoints(0.75 + (($Level - 1) * 0.65))
|
||||
$selection.ParagraphFormat.FirstLineIndent = $word.CentimetersToPoints(-0.5)
|
||||
$selection.TypeText($Text); $selection.TypeParagraph(); $selection.Range.ListFormat.RemoveNumbers()
|
||||
$selection.ParagraphFormat.LeftIndent = 0; $selection.ParagraphFormat.FirstLineIndent = 0
|
||||
}
|
||||
function Add-Number {
|
||||
param([string]$Text)
|
||||
$selection.Style = $normal
|
||||
$selection.Range.ListFormat.ApplyNumberDefault(); $selection.ParagraphFormat.LeftIndent = $word.CentimetersToPoints(0.75)
|
||||
$selection.TypeText($Text); $selection.TypeParagraph(); $selection.Range.ListFormat.RemoveNumbers(); $selection.ParagraphFormat.LeftIndent = 0
|
||||
}
|
||||
function Add-Table {
|
||||
param([object[]]$Rows, [double[]]$WidthsCm = @(), [double]$FontSize = 8.7)
|
||||
if ($Rows.Count -eq 0) { return }
|
||||
Write-ProgressLog ("写入表格:{0}行 x {1}列,首项={2}" -f $Rows.Count, $Rows[0].Count, [string]$Rows[0][0])
|
||||
$table = $doc.Tables.Add($selection.Range, $Rows.Count, $Rows[0].Count)
|
||||
$table.Borders.Enable = 1; $table.AllowAutoFit = -1
|
||||
$table.Range.Font.NameFarEast = '宋体'; $table.Range.Font.Name = 'Arial'; $table.Range.Font.Size = $FontSize
|
||||
$table.Range.ParagraphFormat.SpaceAfter = 0; $table.Range.ParagraphFormat.LineSpacingRule = 0
|
||||
for ($r = 0; $r -lt $Rows.Count; $r++) {
|
||||
for ($c = 0; $c -lt $Rows[$r].Count; $c++) {
|
||||
$cell = $table.Cell($r + 1, $c + 1)
|
||||
$cell.Range.Text = [string]$Rows[$r][$c]
|
||||
$cell.VerticalAlignment = 1
|
||||
}
|
||||
}
|
||||
for ($c = 0; $c -lt $WidthsCm.Count -and $c -lt $table.Columns.Count; $c++) {
|
||||
$table.Columns.Item($c + 1).Width = $word.CentimetersToPoints($WidthsCm[$c])
|
||||
}
|
||||
$table.Rows.Item(1).Range.Bold = 1
|
||||
$table.Rows.Item(1).Range.Font.NameFarEast = '微软雅黑'
|
||||
$table.Rows.Item(1).Range.ParagraphFormat.Alignment = 1
|
||||
$table.Rows.Item(1).Shading.BackgroundPatternColor = 0xE6D8D0
|
||||
$table.Rows.Item(1).HeadingFormat = -1
|
||||
$table.Rows.AllowBreakAcrossPages = 0
|
||||
if ($Rows.Count -le 6) {
|
||||
for ($rowIndex = 1; $rowIndex -lt $table.Rows.Count; $rowIndex++) {
|
||||
$table.Rows.Item($rowIndex).Range.ParagraphFormat.KeepWithNext = -1
|
||||
}
|
||||
}
|
||||
$selection.SetRange($table.Range.End, $table.Range.End); $selection.TypeParagraph()
|
||||
}
|
||||
function Add-Note {
|
||||
param([string]$Title, [string]$Text, [string]$Kind = 'info')
|
||||
$table = $doc.Tables.Add($selection.Range, 1, 1)
|
||||
$table.Borders.Enable = 1
|
||||
$cell = $table.Cell(1, 1); $cell.Range.Text = "$Title:$Text"
|
||||
$cell.Range.Font.NameFarEast = '微软雅黑'; $cell.Range.Font.Name = 'Arial'; $cell.Range.Font.Size = 9.5
|
||||
$cell.Range.ParagraphFormat.SpaceAfter = 0
|
||||
$cell.Shading.BackgroundPatternColor = switch ($Kind) { 'warn' { 0xD9F2FF } 'risk' { 0xD9E2F3 } default { 0xEAF4E4 } }
|
||||
$selection.SetRange($table.Range.End, $table.Range.End); $selection.TypeParagraph()
|
||||
}
|
||||
function Add-Image {
|
||||
param([string]$Path, [double]$WidthCm = 16.0, [string]$Caption = '')
|
||||
$selection.ParagraphFormat.Alignment = 1; $selection.ParagraphFormat.FirstLineIndent = 0
|
||||
$shape = $selection.InlineShapes.AddPicture($Path, $false, $true)
|
||||
$shape.LockAspectRatio = -1; $shape.Width = $word.CentimetersToPoints($WidthCm)
|
||||
$selection.TypeParagraph()
|
||||
if ($Caption) { Add-Text $Caption 9 $false 1 0 0 8 0 }
|
||||
}
|
||||
function Add-PageBreak { $selection.InsertBreak(7) }
|
||||
|
||||
# 封面
|
||||
Add-Text '大连元利流体技术有限公司' 18 $true 1 0x8F4A31 65 12 0
|
||||
Add-Text 'MES 系统标准设计文档' 28 $true 1 0x51352A 70 16 0
|
||||
Add-Text 'System Design Specification' 15 $false 1 0x6B594F 0 70 0
|
||||
$coverRows = @(
|
||||
@('文档编号', 'YL-MES-TECH-001'),
|
||||
@('系统版本', 'V1.1.0'),
|
||||
@('文档版本', 'V1.0'),
|
||||
@('基线日期', '2026-07-24'),
|
||||
@('文档属性', '内部技术资料'),
|
||||
@('适用范围', 'MES 实施、开发、测试、运维及审计')
|
||||
)
|
||||
Add-Table $coverRows @(4.2, 9.0) 10
|
||||
Add-Text '编制依据:当前前端源代码、正式菜单配置、正式数据库只读元数据及现有业务技术资料' 9.5 $false 1 0x666666 55 0 0
|
||||
Add-PageBreak
|
||||
|
||||
Add-Heading '文档控制' 1
|
||||
Add-Heading '修订记录' 2
|
||||
Add-Table @(
|
||||
@('版本', '日期', '修订内容', '状态'),
|
||||
@('V1.0', '2026-07-24', '首次形成系统级标准设计文档,覆盖现状架构、部署、权限、数据、接口、运维与验收规范', '正式基线')
|
||||
) @(2.0, 2.8, 10.0, 2.2)
|
||||
Add-Heading '审批与分发' 2
|
||||
Add-Table @(
|
||||
@('角色', '职责', '签署/日期'),
|
||||
@('业务负责人', '确认业务边界和关键流程', ''),
|
||||
@('技术负责人', '确认架构、接口、数据与变更方案', ''),
|
||||
@('运维负责人', '确认部署、备份、监控和应急流程', ''),
|
||||
@('质量/测试负责人', '确认测试范围与验收证据', '')
|
||||
) @(3.2, 9.2, 4.6)
|
||||
Add-Note '保密要求' '本文档包含正式环境拓扑、内部接口约定和数据库对象信息,仅限授权的实施、开发、测试、运维及审计人员使用。账号、口令、私钥和 SAP 会话信息不得写入正文或版本库。' 'warn'
|
||||
Add-PageBreak
|
||||
|
||||
Add-Heading '目录' 1
|
||||
$tocRange = $selection.Range
|
||||
[void]$doc.TablesOfContents.Add($tocRange, $true, 1, 3)
|
||||
Move-End; Add-PageBreak
|
||||
|
||||
Add-Heading '1 文档说明' 1
|
||||
Add-Heading '1.1 目的' 2
|
||||
Add-Text '本文档定义 MES 系统当前系统设计基线,并给出部署、配置、权限、数据、接口、运维、变更和验收的统一要求。它用于技术交接和持续维护,不替代面向最终用户的操作手册。'
|
||||
Add-Heading '1.2 适用对象' 2
|
||||
foreach ($t in @('实施人员:确认网络、服务、数据库、外部系统和上线条件。','开发人员:理解代码结构、请求约定、模块边界、数据链路和变更规则。','测试人员:依据关键状态、接口契约和验收清单设计测试。','运维人员:执行部署、监控、备份、恢复、故障定位和应急处置。','审计与管理人员:核对权限、日志、变更记录和数据保护措施。')) { Add-Bullet $t }
|
||||
Add-Heading '1.3 事实与规范的区分' 2
|
||||
Add-Table @(
|
||||
@('标识', '含义', '使用方式'),
|
||||
@('当前实现', '由代码、配置或正式数据库只读元数据确认的现状', '用于复现和维护当前系统'),
|
||||
@('标准要求', '后续建设、变更和运维应遵循的控制要求', '作为评审和验收依据'),
|
||||
@('改进建议', '现状可运行但存在安全、可维护性或恢复能力风险', '纳入版本计划,评估后实施')
|
||||
) @(3.0, 7.0, 7.0)
|
||||
Add-Heading '1.4 基线与范围' 2
|
||||
Add-Table @(
|
||||
@('项目', '基线值'),
|
||||
@('项目目录', 'MES_Manage_View_V20'),
|
||||
@('前端版本', 'package.json:1.1.0'),
|
||||
@('功能范围', '9个一级业务模块,75个正式启用功能页面'),
|
||||
@('前端规模', '99个 Vue 页面文件、28个 API 脚本、8个共享 Vue 组件'),
|
||||
@('数据库', 'YL_MESDB,SQL Server 2019,兼容级别150'),
|
||||
@('数据库规模', '61张用户表、27个视图、425个存储过程、2个函数'),
|
||||
@('数据库容量', '约19.44 GB,其中数据约16.62 GB、日志约2.82 GB'),
|
||||
@('统计日期', '2026-07-24,只读采集')
|
||||
) @(4.2, 12.8)
|
||||
|
||||
Add-Heading '2 系统概述' 1
|
||||
Add-Heading '2.1 建设目标' 2
|
||||
Add-Text 'MES 连接 SAP 业务订单与车间执行过程,以工艺和计划为主线,将生产任务落实到工位、设备和人员,记录物料流转、生产操作、工时与质量结果,并向管理侧提供异常、齐套、进度、质量和交付视图。'
|
||||
Add-Heading '2.2 系统边界' 2
|
||||
Add-Table @(
|
||||
@('系统/域', 'MES 负责', '外部系统负责'),
|
||||
@('订单与主数据', '接收并使用订单、物料、BOM、供应商等信息', 'SAP B1 维护 ERP 主数据、财务和库存权威记录'),
|
||||
@('工艺与计划', '标准/生产工艺、排产、任务下发、工位和时间安排', '外部系统提供订单需求和部分资源信息'),
|
||||
@('生产执行', '收料、开工、暂停、报工、送检、人员/设备工时', '设备侧提供状态或执行反馈'),
|
||||
@('质量', '检验任务、标准、实测值、判定及不合格处置', 'SAP/库存侧承接入库、退货等结果'),
|
||||
@('物流与交付', '拣配、AGV任务、发货通知及订单状态汇总', 'SAP/仓储侧完成库存和交付凭证')
|
||||
) @(3.2, 7.1, 6.7)
|
||||
Add-Heading '2.3 功能模块' 2
|
||||
$rows = @()
|
||||
$rows += ,@('模块', '核心职责', '主要输入', '主要输出')
|
||||
foreach ($moduleRow in $moduleDesign) { $rows += ,$moduleRow }
|
||||
Add-Table $rows @(2.6, 4.8, 4.9, 4.8) 8.2
|
||||
Add-Heading '2.4 核心业务主线' 2
|
||||
Add-Image (Join-Path $assetDir 'business-flow.png') 16.3 '图2-1 MES 核心业务闭环'
|
||||
Add-Note '状态控制原则' '任何会改变订单、工艺、任务、工时、检验或库存状态的操作,都必须在服务端再次校验当前状态和数量边界;前端按钮可见性不能代替业务校验。' 'warn'
|
||||
|
||||
Add-Heading '3 总体技术架构' 1
|
||||
Add-Heading '3.1 逻辑架构' 2
|
||||
Add-Image (Join-Path $assetDir 'logical-architecture.png') 16.3 '图3-1 系统逻辑架构'
|
||||
Add-Text '浏览器加载 Vue 单页应用。常规 MES 请求经统一 Axios 实例发送到 MESCommonBase.ashx;前端通过统一请求载荷指定执行类型、过程名称、参数、分页和操作上下文。SAP B1、TM、文件、AGV和设备数据通过独立接口访问。'
|
||||
Add-Heading '3.2 分层职责' 2
|
||||
Add-Table @(
|
||||
@('层次', '职责', '主要实现'),
|
||||
@('表现层', '查询、表格、表单、弹窗、状态提示和报表', 'Vue / Element UI / ECharts / FullCalendar'),
|
||||
@('前端业务层', '页面状态、输入校验、交互编排、路由与权限菜单', 'views、store、router、utils、api'),
|
||||
@('应用服务层', '身份上下文、请求解析、过程调用、上传下载、外部系统代理', 'MESCommonBase.ashx、B1/TM代理、文件服务'),
|
||||
@('数据逻辑层', '业务校验、状态流转、事务、查询和聚合', 'SQL Server 存储过程、视图、函数'),
|
||||
@('集成层', 'SAP、TM、AGV、设备/PLC、文件与质量数据交换', 'HTTPS/JSON、Service Layer、MQTT及专用接口')
|
||||
) @(3.0, 7.2, 6.8)
|
||||
Add-Heading '3.3 架构约束' 2
|
||||
foreach ($t in @('正式环境页面只能通过受控服务访问业务数据,不允许浏览器直连数据库。','写操作必须在数据库事务或等效原子边界内完成,并返回明确的成功、失败和业务原因。','跨系统操作应定义幂等键或重复提交校验,避免任务、报工、检验和库存记录重复。','前端不得持久化数据库密码、SAP密码、服务私钥或其他长期凭据。','所有外部接口失败都应保留可定位的业务编号、请求时间和错误摘要。')) { Add-Bullet $t }
|
||||
|
||||
Add-Heading '4 技术栈与代码结构' 1
|
||||
Add-Heading '4.1 技术栈基线' 2
|
||||
$techRows = @()
|
||||
$techRows += ,@('类别', '技术', '版本', '用途')
|
||||
foreach ($techRow in $techStack) { $techRows += ,$techRow }
|
||||
Add-Table $techRows @(3.0, 4.0, 3.0, 7.0)
|
||||
Add-Heading '4.2 源码目录' 2
|
||||
Add-Table @(
|
||||
@('路径', '职责', '变更注意事项'),
|
||||
@('src/views', '业务页面和模块组件', '大型页面改动需覆盖状态、权限和接口回归'),
|
||||
@('src/api', '封装登录、基础数据、B1、TM及专项接口', '保持请求参数和返回结构兼容'),
|
||||
@('src/router', '基础路由、动态菜单树和组件映射', '菜单 component 必须能解析到真实页面'),
|
||||
@('src/store', '用户、角色、权限、标签页和应用状态', '登出时清理身份与缓存'),
|
||||
@('src/utils', '统一请求、认证 Cookie、CRUD、PDF和设备工具', '共享工具变更需扩大回归范围'),
|
||||
@('static/config.js', '运行时环境地址', '按环境发布,不写入账号口令'),
|
||||
@('config / build', '开发代理与 Webpack 构建', '生产构建关闭 source map,核对资源路径'),
|
||||
@('db_backups', '数据库变更和回退证据', '一事一脚本,具备前置检查、事务和验证')
|
||||
) @(4.0, 6.0, 7.0)
|
||||
Add-Heading '4.3 模块代码规模' 2
|
||||
Add-Table @(
|
||||
@('目录', 'Vue 文件数', '说明'),
|
||||
@('ProductionManagement', '36', '生产、工时、外协、物流及研发相关页面,复杂度最高'),
|
||||
@('QualityManagement', '15', '检验、标准、处置和统计'),
|
||||
@('PlanManagement', '13', '机加与装配排产、齐套、关闭及汇总'),
|
||||
@('ProcessManagement', '9', '工序、工艺、图纸与工艺任务'),
|
||||
@('SystemMaintenance', '6', '人员、角色、菜单、工位和日志'),
|
||||
@('Device/Anomalous/Sale 等', '20', '设备、异常提醒、销售状态及框架页面')
|
||||
) @(6.0, 3.0, 8.0)
|
||||
Add-Heading '4.4 编码与提交规范' 2
|
||||
foreach ($t in @('所有源文件统一使用 UTF-8;发现乱码注释或字符串时在独立变更中修复并回归。','新增页面必须同时完成页面组件、菜单配置、权限配置、接口契约和用户/技术文档。','共享组件和全局工具不承载单一页面的特殊规则;跨三个以上页面的稳定重复逻辑才考虑抽取。','禁止在代码中提交正式密码、个人令牌、数据库连接串和私钥。','数据库脚本必须包含对象存在性检查、事务边界、错误回滚、影响说明和只读验证语句。')) { Add-Bullet $t }
|
||||
|
||||
Add-Heading '5 部署架构与环境配置' 1
|
||||
Add-Heading '5.1 正式环境拓扑' 2
|
||||
Add-Image (Join-Path $assetDir 'deployment-topology.png') 16.3 '图5-1 当前部署与集成拓扑'
|
||||
Add-Heading '5.2 当前运行时端点' 2
|
||||
Add-Table @(
|
||||
@('用途', '当前配置', '来源/说明'),
|
||||
@('MES 通用接口', 'https://192.168.2.92:10101/submit/MESCommonBase.ashx', 'static/config.js:常规业务请求'),
|
||||
@('MES 服务根地址', 'https://192.168.2.92:10101', '文件上传下载等'),
|
||||
@('SAP B1 代理', 'https://192.168.2.92:9996/b1s', '前端 b1s.js 统一 POST 代理'),
|
||||
@('TM 代理', 'https://192.168.2.92:9996/openapi', '前端 tm.js 统一 POST 代理'),
|
||||
@('AGV 搬运接口', 'http://192.168.2.92:9981/api/zk/call_agv_move_web', '物料机器人页面当前实现'),
|
||||
@('数据库', '192.168.2.92 / YL_MESDB', '凭据单独保管,不进入文档和代码')
|
||||
) @(4.0, 8.3, 4.7) 8.4
|
||||
Add-Note '安全边界' '上表用于技术维护和网络检查,不代表对所有终端开放。应通过服务器防火墙、反向代理和访问控制限制来源;AGV 当前为 HTTP 地址,应评估升级为 HTTPS 或限定在隔离网络。' 'risk'
|
||||
Add-Heading '5.3 前端构建与发布' 2
|
||||
Add-Number '安装 Node.js 20 及 npm 9 或更高兼容版本,执行 npm ci 安装锁定依赖。'
|
||||
Add-Number '在目标环境准备 static/config.js;只配置服务地址,不加入账号和密码。'
|
||||
Add-Number '执行 npm run build,生成 dist 目录。构建脚本会清理 dist/static/config.js,因此发布包中必须由环境配置步骤补回该文件。'
|
||||
Add-Number '将 dist 发布至 Web 服务,启用 HTTPS、正确 MIME 类型、静态缓存和 index.html 回退。'
|
||||
Add-Number '使用非管理员账号完成登录、菜单、查询、写操作权限和附件访问冒烟测试。'
|
||||
Add-Heading '5.4 发布目录要求' 2
|
||||
Add-Table @(
|
||||
@('内容', '缓存策略', '发布要求'),
|
||||
@('index.html', '不缓存或短缓存', '确保新版本入口及时生效'),
|
||||
@('带 contenthash 的 JS/CSS', '长期缓存', '文件名变化自动失效'),
|
||||
@('static/config.js', '不缓存或短缓存', '按环境独立管理,发布后检查端点'),
|
||||
@('图片、字体和图标', '长期缓存', '检查跨域、MIME和中文文件名'),
|
||||
@('图纸/附件', '按业务权限', '不得以公共静态目录绕过鉴权')
|
||||
) @(4.2, 4.2, 8.6)
|
||||
Add-Heading '5.5 回退条件' 2
|
||||
foreach ($t in @('登录或动态菜单无法正常加载。','核心查询、保存、下发、报工或检验出现批量失败。','数据库脚本验证失败或数据状态不一致。','SAP、TM、文件、AGV等关键集成产生不可接受的业务中断。','出现越权、敏感信息泄露或无法审计的写操作。')) { Add-Bullet $t }
|
||||
|
||||
Add-Heading '6 配置管理' 1
|
||||
Add-Heading '6.1 配置分类' 2
|
||||
Add-Table @(
|
||||
@('配置类别', '位置', '管理要求'),
|
||||
@('前端运行时地址', 'static/config.js', '环境独立、发布时注入、禁止密码'),
|
||||
@('开发代理', 'config/index.js', '仅开发使用,不作为正式环境反向代理依据'),
|
||||
@('菜单与页面权限', '登录基础数据_二级菜单', '按角色维护,变更需校验动态路由'),
|
||||
@('人员与角色', '系统管理相关基础数据', '最小权限、离职停用、定期复核'),
|
||||
@('工位、班次和字典', '业务基础数据', '变更前评估对排产、工时和统计的影响'),
|
||||
@('数据库连接与服务凭据', '服务端安全配置', '密钥库/受限配置,不写入前端或文档'),
|
||||
@('外部系统端点', '前端运行时配置或服务端配置', '区分开发、测试、正式,纳入连通性检查')
|
||||
) @(4.0, 5.5, 7.5)
|
||||
Add-Heading '6.2 配置变更控制' 2
|
||||
foreach ($t in @('配置变更必须记录变更人、时间、原值、新值、原因、验证结果和回退值。','正式环境配置不得直接从开发环境复制覆盖,必须逐项比对。','菜单路径、组件路径和权限位变更后,需要清除登录缓存并使用目标角色重新登录验证。','工位、班次、字典和状态类配置变更应验证历史数据展示不受破坏。')) { Add-Bullet $t }
|
||||
|
||||
Add-Heading '7 身份、权限与安全' 1
|
||||
Add-Heading '7.1 权限流程' 2
|
||||
Add-Image (Join-Path $assetDir 'permission-flow.png') 16.3 '图7-1 登录、菜单与业务请求权限链路'
|
||||
Add-Heading '7.2 当前实现' 2
|
||||
Add-Table @(
|
||||
@('环节', '当前机制', '控制重点'),
|
||||
@('登录', '用户名和密码由统一 MES 接口验证', '必须使用可信 HTTPS 证书'),
|
||||
@('角色', '账号可关联多个角色;角色编号写入 Admin-Token Cookie', '角色选择后重新加载菜单'),
|
||||
@('菜单', '按角色读取菜单数据,getTreeData 构建树并动态 addRoutes', '组件路径必须受白名单/构建产物约束'),
|
||||
@('页面权限', '菜单记录含 AddData/DeleteData/EditData/SearchData 权限位', '按钮权限与后端写权限保持一致'),
|
||||
@('请求上下文', '公共请求包含 UserID、UserName、ModularID', '服务端不可只信任前端传值'),
|
||||
@('登出', '清理用户、账号、角色 Cookie', '同时使服务端会话或令牌失效')
|
||||
) @(3.2, 7.4, 6.4)
|
||||
Add-Heading '7.3 标准安全要求' 2
|
||||
foreach ($t in @('前端权限只用于界面控制,服务端必须对每次查询和写操作校验身份、角色、模块和数据范围。','Cookie 应设置 Secure、SameSite 和合理有效期;如架构允许,应使用 HttpOnly 会话令牌。','密码不得出现在日志、异常消息、浏览器存储、截图和文档中。','所有写操作记录操作人、模块、业务主键、动作、时间、结果和必要的变更摘要。','高风险操作包括删除、订单关闭、任务重置、工时修正、批量下发和质量放行,应增加二次确认与权限分离。','定期复核停用账号、重复角色、过宽菜单和长期未使用权限。')) { Add-Bullet $t }
|
||||
Add-Heading '7.4 当前风险与改进优先级' 2
|
||||
Add-Table @(
|
||||
@('级别', '现状观察', '建议'),
|
||||
@('高', '角色编号存于可由前端读取的 Cookie,前端路由守卫将 roles 固定为 admin', '确保服务端基于可信会话重新鉴权;评估更安全的令牌与 Cookie 属性'),
|
||||
@('高', '正式端点直接写在 static/config.js,AGV 使用 HTTP', '端点环境化并限制网络来源;AGV 使用 HTTPS 或隔离网络'),
|
||||
@('中', 'MES 通用 Axios 超时为1,500,000毫秒(25分钟)', '按业务分类设置超时、取消请求和服务端作业化'),
|
||||
@('中', '部分源码中文注释显示编码异常', '统一 UTF-8,禁止乱码进入新提交'),
|
||||
@('中', '页面与数据库过程高度耦合', '建立接口契约、回归测试和变更影响清单')
|
||||
) @(1.8, 7.1, 8.1) 8.2
|
||||
|
||||
Add-Heading '8 请求与接口设计' 1
|
||||
Add-Heading '8.1 MES 通用请求' 2
|
||||
Add-Text '常规页面通过统一服务地址 POST JSON。CreateData 将过程执行所需信息序列化,并补充当前用户和页面上下文。不同历史模块存在多个 type 编号,维护时应以对应服务端实现和现有页面为准,不得仅凭编号推断读写性质。'
|
||||
Add-Table @(
|
||||
@('字段', '含义', '标准要求'),
|
||||
@('type', '后端执行/返回策略标识', '新增类型必须形成接口契约'),
|
||||
@('name', '服务端过程或业务命令名称', '禁止由最终用户自由输入'),
|
||||
@('param', '参数数组序列化结果', '参数化执行,禁止拼接 SQL'),
|
||||
@('pageSize / pageList', '分页和页码信息', '大数据查询必须分页'),
|
||||
@('UserID / UserName', '操作用户上下文', '服务端从可信身份核验,不可盲信'),
|
||||
@('ModularID', '当前页面路由/模块标识', '用于权限和审计,必须与授权菜单匹配')
|
||||
) @(3.5, 6.0, 7.5)
|
||||
Add-Heading '8.2 SAP B1 与 TM 代理' 2
|
||||
Add-Text 'b1s.js 和 tm.js 将外部 GET、POST、PATCH 统一封装为对代理服务的 POST,请求体包含 func、cmd 和序列化 content。代理层负责与真正外部接口通信并返回结果。该设计避免浏览器直接保存 SAP 凭据,但仍需在代理层实施命令白名单、权限、超时和日志。'
|
||||
Add-Table @(
|
||||
@('接口族', '超时', '成功返回', '失败处理'),
|
||||
@('B1 代理', '100秒', '{ success: true, data }', '提取 SAP error.message 或网络错误'),
|
||||
@('TM 代理', '100秒', '{ success: true, data }', '复用相同错误提取逻辑'),
|
||||
@('MES 通用接口', '1500秒', 'Axios response', '当前统一实例未集中定义响应拦截器'),
|
||||
@('AGV', '页面 Axios 默认行为', '校验返回 ids 包含任务号', '失败后不应更新 MES 任务为 RUNNING')
|
||||
) @(3.0, 2.4, 5.5, 6.1)
|
||||
Add-Heading '8.3 接口标准' 2
|
||||
foreach ($t in @('所有写接口必须定义业务主键、幂等规则、允许状态、数量边界和事务范围。','统一返回结构至少包含 success/code/message/data/traceId;业务失败不使用模糊的“操作失败”。','查询接口明确分页、排序、最大导出量和日期范围;导出应与查询权限一致。','跨系统调用记录请求时间、目标系统、业务编号、结果码和耗时,但对密码、令牌、个人敏感信息脱敏。','对网络超时、重复提交和外部系统成功但 MES 更新失败定义补偿或人工对账流程。')) { Add-Bullet $t }
|
||||
|
||||
Add-Heading '9 数据架构' 1
|
||||
Add-Heading '9.1 正式数据库基线' 2
|
||||
Add-Table @(
|
||||
@('项目', '当前值', '说明'),
|
||||
@('数据库', 'YL_MESDB', 'MES 主业务数据库'),
|
||||
@('数据库引擎', 'SQL Server 2019 RTM 15.0.2000.5', '建议评估累计更新补丁'),
|
||||
@('兼容级别', '150', 'SQL Server 2019'),
|
||||
@('排序规则', 'Chinese_PRC_CI_AS', '中文、不区分大小写、不区分重音'),
|
||||
@('恢复模式', 'SIMPLE', '当前不支持日志链上的时间点恢复'),
|
||||
@('用户表 / 视图', '61 / 27', '只读元数据统计'),
|
||||
@('存储过程 / 函数', '425 / 2', '业务逻辑主要集中在过程层'),
|
||||
@('容量', '总计约19.44 GB', '数据约16.62 GB、日志约2.82 GB')
|
||||
) @(4.0, 5.4, 7.6)
|
||||
Add-Heading '9.2 核心数据域' 2
|
||||
Add-Table @(
|
||||
@('数据域', '代表性对象', '关键关系'),
|
||||
@('订单与任务', 'MES_接口_生产计划、生产任务、子任务', '订单拆分为工序任务,任务关联工艺、工位、人员和数量'),
|
||||
@('工艺与图纸', '基础表_工序、标准工艺库、生产工艺库、零件/工艺图纸', '标准工艺可生成订单工艺,订单工艺下发任务'),
|
||||
@('生产与工时', '操作记录、报工记录、工时校验表', '开始/暂停/结束形成时段,报工和校验形成结算依据'),
|
||||
@('质量', '质检记录、检测零件、检测数据、检验标准、不合格处置', '任务产生检验,检验结果影响后续流转和统计'),
|
||||
@('资源', '设备台账、资源主数据、工位人员绑定、班次', '排产和执行以有效工位、设备、人员和班次为约束'),
|
||||
@('权限与审计', '人员、角色、人员角色、二级菜单、操作日志', '账号经角色获得菜单与操作权限,业务请求留痕'),
|
||||
@('集成与缓存', '物料、BOM、设备实时缓存、历史状态、附件', '承接 SAP、设备、文件等外部数据')
|
||||
) @(3.2, 6.6, 7.2) 8.2
|
||||
Add-Heading '9.3 关键状态模型' 2
|
||||
Add-Table @(
|
||||
@('对象', '典型状态/动作', '控制要求'),
|
||||
@('生产订单', '未准备工艺 → 已准备工艺 → 已排产 → 执行中 → 完工/关闭', '状态转换需检查工艺、任务、数量和未完成工时'),
|
||||
@('工序任务', '待下发/可执行 → 已开工 → 暂停/恢复 → 已报工/完成', '重复开始、越量报工和跨状态操作必须拦截'),
|
||||
@('工艺', '生成/编辑 → 保存启用 → 下发任务', '字段即时保存与整条启用要区分;结构变更后重新启用'),
|
||||
@('质检任务', '待检 → 检验中 → 合格/不合格 → 处置/放行', '实测值、判定、数量和处置结果保持一致'),
|
||||
@('工时', '操作记录 → 计算工时 → 校验/修正 → 结算', '原始记录保留,修正需审计并可追溯')
|
||||
) @(3.2, 7.0, 6.8)
|
||||
Add-Heading '9.4 数据完整性与事务' 2
|
||||
Add-Note '现状观察' '61张用户表仅检测到8个外键约束,较多关联完整性可能由存储过程和业务代码维护。技术变更必须核对逻辑外键、孤儿数据和删除影响。' 'risk'
|
||||
foreach ($t in @('订单、任务、工艺、操作记录、报工和检验之间使用稳定业务主键关联。','批量下发、报工、检验保存、订单关闭等跨表写入在同一事务中完成。','数量字段统一精度和单位,写入前校验非负、累计不超计划及合格/不合格合计关系。','删除优先采用业务停用或软删除;确需物理删除时先检查下游引用并记录审计。','时间统一保存完整日期时间,明确计划时间、操作时间、服务器时间和班次边界。')) { Add-Bullet $t }
|
||||
Add-Heading '9.5 备份与恢复' 2
|
||||
Add-Table @(
|
||||
@('项目', '最低要求', '验证证据'),
|
||||
@('全量备份', '每日一次,保留周期按公司制度', '备份作业日志与文件校验'),
|
||||
@('差异/日志备份', '若要求时间点恢复,将数据库切换为 FULL 并建立日志备份链', '恢复演练可定位到目标时间'),
|
||||
@('异地副本', '至少一份与数据库主机故障域隔离', '抽查可读与保留周期'),
|
||||
@('恢复演练', '季度或重大版本前执行', '恢复耗时、数据校验、问题清单'),
|
||||
@('变更前备份', '数据库结构/过程或批量数据变更前执行', '脚本、备份和回退编号互相引用')
|
||||
) @(4.0, 8.0, 5.0)
|
||||
|
||||
Add-Heading '10 关键业务技术设计' 1
|
||||
Add-Heading '10.1 工艺到任务下发' 2
|
||||
Add-Number '维护工序基础数据和物料标准工艺。标准工艺是后续订单生成生产工艺的来源。'
|
||||
Add-Number '为生产订单生成订单专用生产工艺;调整工序顺序、工时、车间、设备和说明。'
|
||||
Add-Number '保存当前订单工艺,使其进入可用于计划和任务生成的启用状态。字段即时保存不等同于整条工艺启用。'
|
||||
Add-Number '整单下发按工艺路线生成全部工序任务;单工序下发仅用于补发目标工序。必须防止重复任务。'
|
||||
Add-Number '任务进入计划和生产执行后,工艺结构变更必须评估已排产、已开工、工时和质量记录。'
|
||||
Add-Heading '10.2 计划排产到生产执行' 2
|
||||
Add-Table @(
|
||||
@('阶段', '写入/改变', '下游影响'),
|
||||
@('排产', '工位、人员、数量、计划开始/完成、外协分组等', '工位负荷、任务可执行时间、物料准备和异常判断'),
|
||||
@('收料/领料', '物料接收或领用状态', '允许后续开始并形成物料追踪'),
|
||||
@('开工', '任务进入执行状态并形成开始记录', '设备/人员占用、在制进度和工时开始'),
|
||||
@('暂停/恢复', '记录暂停区间和原因', '净工时、设备状态和异常统计'),
|
||||
@('报工/结束', '完成数量、工时、操作记录和任务进度', '质量送检、后工序、完工判断和工时报表'),
|
||||
@('送检/收检', '检验任务或跨工序接收结果', '质量闭环及后续工序可执行性')
|
||||
) @(3.1, 6.8, 7.1)
|
||||
Add-Heading '10.3 工时闭环' 2
|
||||
Add-Text '系统以操作记录为原始事实,结合开始、暂停、恢复和结束时间计算生产/辅助工时;报工记录承载完成数量和确认信息;工时校验和工时修正用于处理异常。任何修正都应保留原值、修正值、原因、操作人和时间,结算工时只使用已满足校验规则的数据。'
|
||||
Add-Heading '10.4 质量闭环' 2
|
||||
Add-Text '质量任务从生产送检、采购入库、销售退货、原材料退库或其他入库场景产生。检验标准提供项目、上下限、比例和量具要求;检验结果记录实测值、合格/不合格数量和判定。非合格结果进入返工、让步、报废或其他处置,并反馈生产、库存和统计。'
|
||||
Add-Heading '10.5 异常与交付' 2
|
||||
Add-Text '异常提醒依据计划与实际时间、任务状态和加急标记形成。销售订单状态页面汇总 SAP 和 MES 的计划、齐套、拣配、发料、装配、送检、入库和发货状态。汇总页面原则上只读展示,不应成为绕过原业务模块直接改状态的入口。'
|
||||
|
||||
Add-Heading '11 模块技术边界' 1
|
||||
foreach ($m in $moduleDesign) {
|
||||
Add-Heading ("11.{0} {1}" -f ([array]::IndexOf($moduleDesign, $m) + 1), $m[0]) 2
|
||||
Add-Table @(
|
||||
@('项目', '说明'),
|
||||
@('核心职责', $m[1]),
|
||||
@('主要输入', $m[2]),
|
||||
@('主要输出/影响', $m[3]),
|
||||
@('页面范围', ($modulePages[$m[0]] -join '、'))
|
||||
) @(3.5, 13.5) 8.4
|
||||
}
|
||||
|
||||
Add-Heading '12 文件、设备与外部集成' 1
|
||||
Add-Heading '12.1 图纸与附件' 2
|
||||
Add-Table @(
|
||||
@('环节', '实现', '控制要求'),
|
||||
@('上传', 'MESUploadFile.ashx', '校验扩展名、MIME、大小、病毒和业务归属'),
|
||||
@('存储', '文件服务目录与数据库元数据', '文件名不可作为唯一标识,保留哈希/版本/上传人'),
|
||||
@('下载/预览', 'webpage/part/ 与 PDF 预览组件', '与业务记录权限一致,避免目录遍历'),
|
||||
@('删除', '业务删除记录或状态', '保留审计,防止已下发工艺失去依据')
|
||||
) @(3.0, 6.0, 8.0)
|
||||
Add-Heading '12.2 AGV' 2
|
||||
Add-Text '物料机器人页面先在 MES 创建搬运任务,再调用 AGV 接口下发 ContainerTransportOrder;只有接口返回任务号成功后才将 MES 状态更新为 RUNNING。应补充超时后的任务查询、重复下发幂等和“AGV成功但MES更新失败”的对账补偿。'
|
||||
Add-Heading '12.3 设备与 MQTT' 2
|
||||
Add-Text '公共工具支持 Cmd_Opc_Read 和 Cmd_Opc_Write,通过设备 API 读取或写入 TagList;MQTT 用于实时数据订阅。写设备命令属于高风险操作,必须限制目标客户端、Tag 白名单、数值范围和操作权限,并记录请求与设备响应。'
|
||||
Add-Heading '12.4 SAP B1' 2
|
||||
Add-Text 'SAP B1 是订单、物料、BOM、采购、库存等数据的重要外部来源。MES 通过代理执行 Service Layer 请求。集成设计必须明确主数据权威方、同步方向、时间窗口、失败重试、重复数据判定和日常对账。'
|
||||
|
||||
Add-Heading '13 日志、监控与审计' 1
|
||||
Add-Heading '13.1 日志分类' 2
|
||||
Add-Table @(
|
||||
@('日志', '内容', '用途'),
|
||||
@('用户操作日志', '用户、模块、动作、业务主键、结果、时间', '责任追溯和安全审计'),
|
||||
@('API 请求/响应日志', '命令、参数摘要、耗时、结果码、traceId', '接口故障定位;敏感字段脱敏'),
|
||||
@('数据库作业日志', '备份、同步、清理和计划任务结果', '运维检查和恢复依据'),
|
||||
@('外部集成日志', 'SAP/TM/AGV/设备调用状态和业务编号', '跨系统对账和补偿'),
|
||||
@('前端错误', '页面、用户、版本、错误栈和时间', '定位浏览器端异常')
|
||||
) @(3.8, 8.0, 5.2)
|
||||
Add-Heading '13.2 监控指标' 2
|
||||
foreach ($t in @('站点与接口可用率、证书有效期、HTTP 5xx 和超时率。','MES 通用接口、B1、TM、AGV接口的P50/P95响应时间和失败率。','数据库 CPU、内存、数据/日志空间、阻塞、死锁、慢查询和备份状态。','订单同步延迟、待下发任务、超时任务、未闭环工时、待检和不合格处置积压。','文件服务容量、上传失败率和无业务引用文件。')) { Add-Bullet $t }
|
||||
Add-Heading '13.3 告警分级' 2
|
||||
Add-Table @(
|
||||
@('级别', '示例', '响应目标'),
|
||||
@('P1', '系统不可用、数据破坏、越权或批量错误写入', '立即响应,停止相关写入并启动应急'),
|
||||
@('P2', '核心模块不可用、SAP/AGV关键链路中断', '30分钟内响应并给出绕行/恢复方案'),
|
||||
@('P3', '单一报表、导出或非核心页面异常', '工作时间内响应并纳入修复计划'),
|
||||
@('P4', '体验、文案或低风险数据展示问题', '按版本排期')
|
||||
) @(2.0, 10.0, 5.0)
|
||||
|
||||
Add-Heading '14 性能与容量' 1
|
||||
Add-Heading '14.1 查询规范' 2
|
||||
foreach ($t in @('列表查询默认分页,日期范围和导出量设置上限。','常用筛选字段建立与查询计划匹配的索引,避免对列进行不可搜索的函数包装。','页面首次加载不并发请求无关的大数据字典和全部明细;明细按需展开。','导出超过同步阈值时转后台任务,并提供下载状态。','对25分钟的通用超时进行业务分类,避免浏览器长期占用连接。')) { Add-Bullet $t }
|
||||
Add-Heading '14.2 容量基线与趋势' 2
|
||||
Add-Text '当前数据库约19.44 GB。运维应每月记录数据文件、日志文件、核心大表行数、附件容量和增长率;当预计剩余空间不足三个月时提前扩容或归档。归档必须保持订单、任务、工时、质量和审计记录之间的可追溯性。'
|
||||
Add-Heading '14.3 性能验收建议' 2
|
||||
Add-Table @(
|
||||
@('场景', '建议目标', '备注'),
|
||||
@('登录与菜单', '正常内网条件下5秒内完成', '包含动态路由构建'),
|
||||
@('普通分页查询', 'P95不超过5秒', '合理筛选范围'),
|
||||
@('复杂统计报表', 'P95不超过15秒', '超过阈值采用异步'),
|
||||
@('保存/状态操作', 'P95不超过5秒', '不含不可控外部系统等待'),
|
||||
@('关键外部接口', '定义独立超时、重试和熔断', '避免整页无期限等待')
|
||||
) @(4.0, 5.0, 8.0)
|
||||
|
||||
Add-Heading '15 运维与故障处理' 1
|
||||
Add-Heading '15.1 日常检查' 2
|
||||
Add-Table @(
|
||||
@('频率', '检查项'),
|
||||
@('每日', '站点/API可用、数据库空间、备份结果、同步/作业、P1/P2告警、待处理外部接口失败'),
|
||||
@('每周', '慢查询、阻塞/死锁、异常日志趋势、菜单权限变更、附件增长和关键业务积压'),
|
||||
@('每月', '容量趋势、账号权限复核、证书/密码到期、依赖漏洞、恢复点与监控覆盖'),
|
||||
@('每季度', '恢复演练、应急演练、技术债评审和关键业务全链路回归')
|
||||
) @(3.0, 14.0)
|
||||
Add-Heading '15.2 故障定位顺序' 2
|
||||
Add-Number '确认影响范围:单用户、单角色、单页面、单接口、单数据库对象或全系统。'
|
||||
Add-Number '记录时间、用户、页面、业务编号、操作和错误信息,不要求用户重复高风险操作。'
|
||||
Add-Number '检查浏览器网络请求、服务可用性、外部系统状态和数据库阻塞/错误。'
|
||||
Add-Number '使用 traceId、业务主键和操作人关联前端、服务、数据库与外部接口日志。'
|
||||
Add-Number '需要数据修复时先备份和评估影响,使用经评审脚本,完成后验证上下游一致性。'
|
||||
Add-Heading '15.3 常见故障矩阵' 2
|
||||
Add-Table @(
|
||||
@('现象', '优先检查', '禁止做法'),
|
||||
@('登录后无菜单', '角色、菜单启用、组件路径、Cookie和getInfo返回', '直接给管理员权限绕过'),
|
||||
@('页面一直加载', '网络请求、25分钟超时、数据库阻塞和返回规模', '连续刷新并重复写操作'),
|
||||
@('保存成功但列表未变', '返回结果、事务提交、查询条件、缓存和刷新逻辑', '未核对数据就再次新增'),
|
||||
@('SAP/AGV失败', '外部接口日志、业务编号、幂等状态和MES本地状态', '盲目重复下发'),
|
||||
@('工时/数量不一致', '操作记录、报工、检验、修正审计和累计边界', '直接覆盖原始记录'),
|
||||
@('图纸打不开', '文件元数据、物理文件、权限、MIME和路径', '将目录改为匿名公开')
|
||||
) @(4.0, 8.5, 4.5) 8.2
|
||||
|
||||
Add-Heading '16 变更、发布与回退' 1
|
||||
Add-Heading '16.1 标准变更流程' 2
|
||||
Add-Number '提出变更:说明问题、范围、业务规则、数据影响、权限影响和验收标准。'
|
||||
Add-Number '技术分析:定位页面、共享工具、接口、过程、表、视图、菜单和外部系统影响。'
|
||||
Add-Number '实施:代码和数据库脚本分离管理;正式凭据不进入版本库。'
|
||||
Add-Number '验证:静态检查、单元/定向测试、接口测试、数据库只读验证和关键链路回归。'
|
||||
Add-Number '发布:备份、窗口确认、脚本执行、前端发布、配置核对和冒烟测试。'
|
||||
Add-Number '观察与回退:监控错误率和业务状态;达到回退条件时按预案恢复。'
|
||||
Add-Heading '16.2 数据库脚本规范' 2
|
||||
foreach ($t in @('文件名包含动作、模块、日期;不覆盖历史脚本。','先备份被修改对象定义;脚本使用 TRY/CATCH、事务和 XACT_ABORT。','对象创建/修改具备前置检查,重复执行不会产生重复业务数据。','禁止在同一脚本中混入无关结构变更和业务数据修复。','附带只读验证查询和明确回退方案;正式执行结果写入变更记录。')) { Add-Bullet $t }
|
||||
Add-Heading '16.3 前端发布检查' 2
|
||||
Add-Table @(
|
||||
@('阶段', '检查项'),
|
||||
@('构建前', '锁文件一致、Node/npm版本、ESLint、git diff --check、无敏感信息'),
|
||||
@('构建后', 'index、JS/CSS、图标字体、懒加载页面、static/config.js'),
|
||||
@('发布后', 'HTTPS、缓存、登录、目标角色菜单、核心查询/写入、附件、导出'),
|
||||
@('观察期', '前端错误、接口失败、数据库阻塞和用户反馈')
|
||||
) @(3.5, 13.5)
|
||||
|
||||
Add-Heading '17 测试与验收' 1
|
||||
Add-Heading '17.1 测试层次' 2
|
||||
Add-Table @(
|
||||
@('层次', '覆盖重点', '证据'),
|
||||
@('静态检查', 'ESLint、编码、敏感信息、脚本语法', '命令输出与检查报告'),
|
||||
@('组件/函数', '校验、状态计算、导出字段和共享工具', '自动化测试结果'),
|
||||
@('接口', '参数、权限、分页、错误、幂等和事务', '请求响应样例与数据库核对'),
|
||||
@('业务链路', '工艺→排产→下发→生产→质量→关闭/交付', '测试记录和状态截图'),
|
||||
@('角色权限', '不同角色的菜单、按钮和数据范围', '权限矩阵'),
|
||||
@('非功能', '性能、恢复、安全、兼容性和容量', '压测/演练/扫描报告')
|
||||
) @(3.2, 8.0, 5.8)
|
||||
Add-Heading '17.2 核心回归场景' 2
|
||||
foreach ($t in @('登录、单/多角色选择、菜单加载和退出。','标准工艺生成生产工艺、编辑、保存启用、整单和单工序下发。','机加与装配排产、计划时间/工位/人员/数量调整及已排产查询。','收料、开工、暂停、恢复、报工、送检和工时计算。','采购/过程/终检、实测值保存、不合格处置及下游状态。','订单关闭、齐套、发货通知和销售订单全流程状态。','SAP、TM、图纸附件、AGV和设备接口的成功与失败分支。')) { Add-Bullet $t }
|
||||
Add-Heading '17.3 上线验收门槛' 2
|
||||
Add-Note '上线条件' 'P1/P2缺陷为0;核心链路通过;数据库脚本、回退和备份验证完成;权限矩阵通过目标角色验证;监控和应急联系人就绪;文档与变更记录已更新。' 'warn'
|
||||
|
||||
Add-Heading '18 风险与技术债' 1
|
||||
Add-Table @(
|
||||
@('优先级', '风险/技术债', '影响', '建议行动'),
|
||||
@('P0', '正式凭据与权限完全依赖前端将造成越权风险', '数据安全与审计', '确认服务端强制鉴权,开展权限穿透测试'),
|
||||
@('P1', '数据库为 SIMPLE 恢复模式', '无法时间点恢复', '依据RPO/RTO决定是否切换FULL并建立日志备份'),
|
||||
@('P1', 'SQL Server 2019 RTM 未体现累计更新', '稳定性与安全补丁', '测试后升级到受支持CU'),
|
||||
@('P1', 'AGV接口使用HTTP且地址硬编码', '传输安全与环境切换', '服务端代理/HTTPS/配置化'),
|
||||
@('P1', '通用请求超时25分钟', '资源占用与用户重复操作', '分类超时、取消、异步任务和幂等'),
|
||||
@('P2', '大型单文件页面和过程耦合度高', '维护成本与回归风险', '按业务域拆分并建立契约测试'),
|
||||
@('P2', '外键较少,关系主要靠过程维护', '孤儿数据和删除风险', '补充数据质量检查,逐步增加约束'),
|
||||
@('P2', '源码存在编码异常', '可读性和误改风险', '统一UTF-8并加入检查')
|
||||
) @(2.0, 5.4, 4.0, 5.6) 8.0
|
||||
|
||||
Add-Heading '19 附录A:正式功能页面清单' 1
|
||||
$moduleNo = 1
|
||||
foreach ($key in $modulePages.Keys) {
|
||||
Add-Heading ("A.{0} {1}" -f $moduleNo, $key) 2
|
||||
$rows = @()
|
||||
$rows += ,@('序号', '页面名称', '技术归属')
|
||||
for ($i = 0; $i -lt $modulePages[$key].Count; $i++) {
|
||||
$rows += ,@(($i + 1).ToString(), $modulePages[$key][$i], $key)
|
||||
}
|
||||
Add-Table $rows @(2.0, 9.0, 6.0)
|
||||
$moduleNo++
|
||||
}
|
||||
|
||||
Add-Heading '20 附录B:关键对象参考' 1
|
||||
Add-Heading 'B.1 代表性数据库对象' 2
|
||||
Add-Table @(
|
||||
@('类别', '代表对象', '用途'),
|
||||
@('生产计划', 'MES_接口_生产计划、MES_接口_生产计划_生产任务', '订单和工序任务主数据'),
|
||||
@('工艺', '基础表_工序、标准工艺库、生产工艺库', '工序与路线'),
|
||||
@('工时', 'YL_加工中心_操作记录表、YL_加工中心_报工记录', '开始、暂停、结束和报工事实'),
|
||||
@('质量', 'YL_质量检验_质检记录及检测明细', '检验结果与实测数据'),
|
||||
@('资源', 'MES_资源主数据、设备台账、工位人员绑定表、班次表', '工位设备与人员班次'),
|
||||
@('权限', '登录基础数据_人员信息、角色信息、人员权限角色、二级菜单', '身份、角色和菜单权限'),
|
||||
@('日志', '_日志、记录_日志_项目运行日志', '用户操作与接口请求响应')
|
||||
) @(3.0, 8.0, 6.0) 8.2
|
||||
Add-Heading 'B.2 关键前端入口' 2
|
||||
Add-Table @(
|
||||
@('文件', '职责'),
|
||||
@('src/main.js', '注册 Vue、Element UI、公共指令、CRUD、图表和根实例'),
|
||||
@('src/permission.js', '登录白名单、动态菜单加载和路由守卫'),
|
||||
@('src/router/getTreeData.js', '将数据库菜单转换为路由树'),
|
||||
@('src/utils/request.js', 'MES 通用 Axios 实例和文件地址'),
|
||||
@('src/utils/curd.js', '统一请求载荷、通用表格操作和设备读写辅助'),
|
||||
@('src/api/b1s.js / tm.js', 'SAP B1 与 TM 代理封装'),
|
||||
@('static/config.js', '正式运行时服务地址')
|
||||
) @(6.0, 11.0)
|
||||
|
||||
Add-Heading '21 附录C:上线与运维检查表' 1
|
||||
Add-Table @(
|
||||
@('编号', '检查项', '结果', '责任人/日期'),
|
||||
@('C-01', '前端构建、版本号、资源和 static/config.js 正确', '□通过 □不通过', ''),
|
||||
@('C-02', 'HTTPS证书、端口、防火墙和DNS/地址可用', '□通过 □不通过', ''),
|
||||
@('C-03', '数据库备份完成且可读取,回退脚本已准备', '□通过 □不通过', ''),
|
||||
@('C-04', '数据库脚本执行与只读验证完成', '□通过 □不通过', ''),
|
||||
@('C-05', '目标角色菜单、按钮与数据权限验证完成', '□通过 □不通过', ''),
|
||||
@('C-06', '核心业务链路与外部接口冒烟通过', '□通过 □不通过', ''),
|
||||
@('C-07', '日志、监控、告警和应急联系人就绪', '□通过 □不通过', ''),
|
||||
@('C-08', '变更记录、技术文档和用户文档已更新', '□通过 □不通过', ''),
|
||||
@('C-09', '观察期和回退决策人已明确', '□通过 □不通过', '')
|
||||
) @(1.8, 9.4, 3.4, 3.0) 8.2
|
||||
|
||||
# 页眉页脚
|
||||
$header = $section.Headers.Item(1).Range
|
||||
$header.Text = '大连元利流体技术有限公司 MES 系统标准设计文档'
|
||||
$header.Font.NameFarEast = '微软雅黑'; $header.Font.Name = 'Arial'; $header.Font.Size = 8.5; $header.Font.Color = 0x777777
|
||||
$header.ParagraphFormat.Alignment = 2
|
||||
$footer = $section.Footers.Item(1).Range
|
||||
$footer.Text = '内部技术资料 | '
|
||||
$footer.Font.NameFarEast = '微软雅黑'; $footer.Font.Name = 'Arial'; $footer.Font.Size = 8.5; $footer.Font.Color = 0x777777
|
||||
$footer.ParagraphFormat.Alignment = 1
|
||||
$footer.Collapse(0)
|
||||
[void]$footer.Fields.Add($footer, 33)
|
||||
|
||||
foreach ($toc in $doc.TablesOfContents) { $toc.Update() }
|
||||
[void]$doc.Fields.Update()
|
||||
$doc.Repaginate()
|
||||
try {
|
||||
$doc.BuiltInDocumentProperties.Item('Title').Value = '大连元利流体技术有限公司MES系统标准设计文档'
|
||||
$doc.BuiltInDocumentProperties.Item('Subject').Value = 'MES系统架构、部署、数据、接口、权限、运维与验收技术基线'
|
||||
$doc.BuiltInDocumentProperties.Item('Author').Value = 'MESWORK'
|
||||
} catch {
|
||||
Write-ProgressLog '当前 Office 兼容层不支持写入内置文档属性,已跳过属性写入'
|
||||
}
|
||||
$doc.SaveAs2($docxPath, 16)
|
||||
$doc.ExportAsFixedFormat($pdfPath, 17)
|
||||
$pages = $doc.ComputeStatistics(2)
|
||||
Write-ProgressLog "已生成 DOCX 和 PDF,共 $pages 页"
|
||||
try { $doc.Close($false) } catch { Write-ProgressLog 'Office 已保存文档,但关闭文档时返回兼容层异常' }
|
||||
$doc = $null
|
||||
try { $word.Quit() } catch { Write-ProgressLog 'Office 进程已退出,但 Quit 调用返回 RPC 兼容层异常' }
|
||||
$word = $null
|
||||
[GC]::Collect(); [GC]::WaitForPendingFinalizers()
|
||||
|
||||
[pscustomobject]@{
|
||||
Docx = $docxPath
|
||||
Pdf = $pdfPath
|
||||
Pages = $pages
|
||||
Modules = $modulePages.Count
|
||||
PagesInScope = ($modulePages.Values | ForEach-Object { $_.Count } | Measure-Object -Sum).Sum
|
||||
} | Format-List
|
||||
}
|
||||
catch {
|
||||
Write-ProgressLog ("生成失败:" + $_.Exception.Message)
|
||||
if ($null -ne $doc) { try { $doc.Close($false) } catch {} }
|
||||
if ($null -ne $word) { try { $word.Quit() } catch {} }
|
||||
[GC]::Collect(); [GC]::WaitForPendingFinalizers()
|
||||
throw
|
||||
}
|
||||
|
||||
|
||||
58
work/system-design-document/source-build/build.log
Normal file
@@ -0,0 +1,58 @@
|
||||
开始生成 2026-07-24 17:13:31
|
||||
17:13:31 已生成四张技术架构与流程图
|
||||
17:13:32 写入表格:6行 x 2列,首项=文档编号
|
||||
17:13:33 写入表格:2行 x 4列,首项=版本
|
||||
17:13:33 写入表格:5行 x 3列,首项=角色
|
||||
17:13:33 写入表格:4行 x 3列,首项=标识
|
||||
17:13:33 写入表格:9行 x 2列,首项=项目
|
||||
17:13:34 写入表格:6行 x 3列,首项=系统/域
|
||||
17:13:34 写入表格:10行 x 4列,首项=模块
|
||||
17:13:34 写入表格:6行 x 3列,首项=层次
|
||||
17:13:35 写入表格:12行 x 4列,首项=类别
|
||||
17:13:35 写入表格:9行 x 3列,首项=路径
|
||||
17:13:35 写入表格:7行 x 3列,首项=目录
|
||||
17:13:36 写入表格:7行 x 3列,首项=用途
|
||||
17:13:36 写入表格:6行 x 3列,首项=内容
|
||||
17:13:36 写入表格:8行 x 3列,首项=配置类别
|
||||
17:13:37 写入表格:7行 x 3列,首项=环节
|
||||
17:13:37 写入表格:6行 x 3列,首项=级别
|
||||
17:13:37 写入表格:7行 x 3列,首项=字段
|
||||
17:13:38 写入表格:5行 x 4列,首项=接口族
|
||||
17:13:38 写入表格:9行 x 3列,首项=项目
|
||||
17:13:38 写入表格:8行 x 3列,首项=数据域
|
||||
17:13:38 写入表格:6行 x 3列,首项=对象
|
||||
17:13:39 写入表格:6行 x 3列,首项=项目
|
||||
17:13:39 写入表格:7行 x 3列,首项=阶段
|
||||
17:13:40 写入表格:5行 x 2列,首项=项目
|
||||
17:13:41 写入表格:5行 x 2列,首项=项目
|
||||
17:13:41 写入表格:5行 x 2列,首项=项目
|
||||
17:13:41 写入表格:5行 x 2列,首项=项目
|
||||
17:13:42 写入表格:5行 x 2列,首项=项目
|
||||
17:13:42 写入表格:5行 x 2列,首项=项目
|
||||
17:13:42 写入表格:5行 x 2列,首项=项目
|
||||
17:13:43 写入表格:5行 x 2列,首项=项目
|
||||
17:13:43 写入表格:5行 x 2列,首项=项目
|
||||
17:13:43 写入表格:5行 x 3列,首项=环节
|
||||
17:13:44 写入表格:6行 x 3列,首项=日志
|
||||
17:13:44 写入表格:5行 x 3列,首项=级别
|
||||
17:13:44 写入表格:6行 x 3列,首项=场景
|
||||
17:13:45 写入表格:5行 x 2列,首项=频率
|
||||
17:13:45 写入表格:7行 x 3列,首项=现象
|
||||
17:13:45 写入表格:5行 x 2列,首项=阶段
|
||||
17:13:45 写入表格:7行 x 3列,首项=层次
|
||||
17:13:46 写入表格:9行 x 4列,首项=优先级
|
||||
17:13:46 写入表格:6行 x 3列,首项=序号
|
||||
17:13:46 写入表格:5行 x 3列,首项=序号
|
||||
17:13:47 写入表格:6行 x 3列,首项=序号
|
||||
17:13:47 写入表格:10行 x 3列,首项=序号
|
||||
17:13:47 写入表格:14行 x 3列,首项=序号
|
||||
17:13:48 写入表格:22行 x 3列,首项=序号
|
||||
17:13:48 写入表格:5行 x 3列,首项=序号
|
||||
17:13:48 写入表格:14行 x 3列,首项=序号
|
||||
17:13:48 写入表格:2行 x 3列,首项=序号
|
||||
17:13:49 写入表格:8行 x 3列,首项=类别
|
||||
17:13:51 写入表格:8行 x 2列,首项=文件
|
||||
17:13:51 写入表格:10行 x 4列,首项=编号
|
||||
17:14:07 当前 Office 兼容层不支持写入内置文档属性,已跳过属性写入
|
||||
17:14:12 已生成 DOCX 和 PDF,共 32 页
|
||||
17:14:13 Office 进程已退出,但 Quit 调用返回 RPC 兼容层异常
|
||||
216
work/system-manual/analyze-full-manual-pages.js
Normal file
@@ -0,0 +1,216 @@
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const { modules } = require('./capture-full-manual-pages')
|
||||
|
||||
const root = path.resolve(__dirname, '..', '..')
|
||||
const outputPath = path.join(__dirname, 'full-page-catalog.json')
|
||||
|
||||
const purposes = {
|
||||
'设备信息维护': '维护设备名称、公司编码、生产用名、规格型号、设备类型、使用部门、数量、状态及维修记录,为工艺能力、工位绑定和设备数据查询提供设备主数据。',
|
||||
'设备数据': '按工位查看设备运行数据及当前采集状态,用于现场设备状态监控和生产运行判断。',
|
||||
'设备历史数据': '按设备、工位和时间范围追溯历史采集值,用于故障分析、运行复盘和数据导出。',
|
||||
'实时数据': '查看设备最新实时采集值和更新时间,快速判断设备连接及当前运行状态。',
|
||||
'设计任务': '建立、分派和维护设计任务,记录项目、物料、设计要求、计划时间、可见人员、批示、附件及完成状态。',
|
||||
'设计报工': '由设计人员对被授权的设计任务执行开始、结束和说明登记,形成设计工时与进度记录。',
|
||||
'设计工时校验': '由授权人员复核设计报工的开始时间、结束时间、计算工时和备注,形成已校验状态。',
|
||||
'设计工时报表': '按作业者或任务汇总设计工时,支持条件查询、树形展开和结果导出。',
|
||||
'工序管理': '维护工艺分类、工序名称、简称及工艺要求,为标准工艺和生产工艺编制提供基础工序字典。',
|
||||
'制定标准工艺': '按物料建立可复用的标准工艺路线,维护工序顺序、设备、工时和工艺要求。',
|
||||
'生产工艺': '根据生产订单和物料生成、编辑、复制并启用本次生产工艺,可将工艺任务下发到计划排产。',
|
||||
'工艺查询': '按物料、订单等条件查看已维护的工艺路线及工序明细,供生产、计划和质量人员核对。',
|
||||
'工艺任务': '查询待编制或待下发工艺的生产订单任务,进入对应工艺处理流程。',
|
||||
'图纸维护': '维护物料对应的零件图纸及版本,支持上传、查看、替换、下载和删除记录查询。',
|
||||
'工艺维护': '维护工艺相关图纸及名称,使工序和工艺路线能够关联正确的技术文件。',
|
||||
'查看图纸': '以只读方式按物料、图号等条件查找和预览零件图纸。',
|
||||
'采购图纸查询': '供采购场景按物料或图号查询所需图纸,支持只读预览和下载。',
|
||||
'机加件排产': '对待排产机加工序选择工位、指派数量并维护计划开始、完成和最晚开始时间,批量形成机加计划。',
|
||||
'装配件排产': '对装配任务选择工位、人员和计划时间,形成装配执行任务。',
|
||||
'机加件已排产': '查询已形成计划的机加任务,并按订单、物料、工序、工位和日期核对排产结果。',
|
||||
'机加件未排产': '汇总尚未完成排产的机加工序,定位缺少工位、数量或计划时间的任务。',
|
||||
'优先装配': '维护需要优先处理的装配订单或任务,为装配排产和现场执行提供优先级依据。',
|
||||
'计划用表': '以计划人员使用的综合表格查看订单、物料、工艺、计划时间和任务状态。',
|
||||
'装配未排产': '查询尚未形成装配计划的任务,支持按订单、物料和日期范围筛选。',
|
||||
'生产订单关闭': '查询可关闭或已关闭的生产订单,并执行订单关闭状态维护。',
|
||||
'工位任务汇总': '按工位汇总计划任务、数量、时间和状态,用于检查工位负荷及任务分布。',
|
||||
'装配已排产': '查询已排产装配任务及其工位、人员、数量和计划时间。',
|
||||
'系统类装配任务': '维护和查看系统类产品的装配任务、工位分配及计划执行状态。',
|
||||
'阀类装配任务': '维护和查看阀类产品的装配任务、工位分配及计划执行状态。',
|
||||
'及时齐套跟踪结果': '汇总物料齐套跟踪结果,展示任务是否按计划具备投产或装配条件。',
|
||||
'生产计划跟踪': '综合查看生产订单从计划、工艺、排产到执行的进度与状态。',
|
||||
'加工中心': '供机加现场查询本人或工位任务,并执行开工、暂停、报工、收料、自检、异常和图纸查看等生产操作。',
|
||||
'过程异常管控': '集中查询和处理生产过程中登记的异常,跟踪异常类型、责任、状态和处理结果。',
|
||||
'工时校验': '对生产报工形成的工时记录进行核对和校验,修正异常时长并保留校验状态。',
|
||||
'外协管理': '管理生产外协任务的发料、收料、数量和状态,连接内部生产订单与外协执行。',
|
||||
'人员绑定': '将人员与工位、设备或生产资源建立绑定关系,决定现场任务和报工的人员范围。',
|
||||
'装配中心': '供装配现场执行开始、结束、送检、收验、领料、自检、异常和图纸查看等操作。',
|
||||
'班次管理': '维护班次名称、班次类型及工作时间,为人员、设备和工时计算提供班次基础数据。',
|
||||
'工时报表': '按项目、人员、任务或设备汇总生产工时,并支持日期过滤和 Excel 导出。',
|
||||
'加急件管理': '登记和跟踪加急生产任务,维护加急数量、状态及相关订单信息。',
|
||||
'拣配任务': '查看和处理生产物料拣配任务,跟踪拣配数量和完成状态。',
|
||||
'采购外协管理': '跟踪采购外协任务的订单、发料、到货、收料和完成情况。',
|
||||
'工时查询': '按人员、订单、物料、工序和日期查询生产工时明细。',
|
||||
'机加正在进行中': '实时查看正在机加执行的人员、设备、任务及开始时间。',
|
||||
'装配状态': '实时查看装配任务的当前执行、送检、收验和完成状态。',
|
||||
'外协报表': '按订单、供应商、物料和日期汇总外协发料、收料及完成数据。',
|
||||
'工时修正': '对满足权限和状态条件的生产工时记录进行修正,并保留修改依据。',
|
||||
'物料机器人': '查询 AGV 物料搬运任务的起点、终点、状态和时间,并在授权情况下处理任务状态。',
|
||||
'手续确认报表': '汇总订单或任务相关手续的确认状态,供生产和发货前核查。',
|
||||
'发货通知列表': '查询发货通知及其订单、物料、数量、状态和关联文件,供生产与销售协同。',
|
||||
'结算工时': '按任务和人员结算可计入的生产工时,形成结算口径的工时结果。',
|
||||
'机加及时开工': '对比机加计划开始时间与实际开工状态,识别未按时开工任务。',
|
||||
'外协及时开工': '对比外协计划与实际执行状态,识别未按时开始的外协任务。',
|
||||
'加急任务列表': '集中展示加急任务、当前环节和完成状态,提示相关人员优先处理。',
|
||||
'装配及时送检': '对比装配计划和实际送检时间,识别未按时送检任务。',
|
||||
'终检': '处理产品最终检验任务,登记检验数量、合格数量、不合格数量和检验结果。',
|
||||
'采购入库检': '处理采购物料入库前检验,关联采购到货、物料和质量标准。',
|
||||
'销售退货检': '处理销售退货物料的质量检验并记录判定结果。',
|
||||
'原材料退库检': '处理原材料退库前检验,记录质量状态和处置依据。',
|
||||
'序检收检': '处理工序间送检和收检任务,连接生产报工与后续工序放行。',
|
||||
'质量检验标准': '查询和维护物料、工序对应的检验项目、标准和判定要求。',
|
||||
'其他入库检': '处理非采购等其他来源的入库检验任务。',
|
||||
'质检明细': '按订单、物料、检验类型和日期查询质量检验记录明细。',
|
||||
'不合格品处置': '登记不合格品的评审、返工、让步、报废等处置结论并跟踪状态。',
|
||||
'质检报工': '由检验人员执行开始、结束、送检和收验等质量任务操作并形成质检工时。',
|
||||
'测试装配任务': '处理测试类装配和检验任务,记录执行数量、状态及结果。',
|
||||
'及时检验报表': '统计检验任务是否按计划及时完成,支持责任和日期维度分析。',
|
||||
'产品合格率(工位)': '按工位汇总检验数量、合格数量和合格率,用于质量绩效分析。',
|
||||
'销售订单状态': '综合展示销售订单对应生产订单的计划、齐套、拣配、发料、装配、入库和发货状态。'
|
||||
}
|
||||
|
||||
const moduleRelations = {
|
||||
'设备管理': '上游使用系统工位、部门和设备主数据;设备能力和采集数据向工艺编制、计划排产、生产监控、异常分析提供设备依据。',
|
||||
'研发管理': '上游使用人员、角色、项目、物料和附件;设计任务依次形成设计报工、工时校验和工时报表,并可为工艺、生产和项目跟踪提供设计进度。',
|
||||
'工艺管理': '上游接收 SAP/MES 生产订单、物料、图纸和设备信息;输出标准工艺、生产工艺和工艺任务,供计划排产、生产执行与质量检验使用。',
|
||||
'计划排产': '上游接收生产订单、物料、工艺路线、工位和人员;输出机加及装配任务、计划时间和优先级,供生产中心、异常提醒和齐套跟踪使用。',
|
||||
'生产管理': '上游接收已排产任务、工艺、人员、工位和物料;执行结果形成报工、工时、异常、外协、送检和发货协同数据,向质量、报表和销售状态反馈。',
|
||||
'异常提醒': '读取计划时间、实际开工、外协执行、加急标识和送检时间进行差异判断;结果供计划与生产人员跟进,不单独改变原业务单据。',
|
||||
'质量管理': '上游接收采购到货、生产送检、退货、物料和质量标准;检验及处置结果反馈生产状态、库存入库、不合格品处理和质量统计。',
|
||||
'销售订单管理': '汇总 SAP/MES 销售订单、生产订单、计划、齐套、拣配、发料、装配、入库和发货数据,形成面向订单的全流程状态视图。'
|
||||
}
|
||||
|
||||
function normalizeText(value) {
|
||||
return String(value || '')
|
||||
.replace(/<!--[\s\S]*?-->/g, '')
|
||||
.replace(/<[^>]+>/g, '')
|
||||
.replace(/\{\{[^}]+\}\}/g, '')
|
||||
.replace(/ /g, ' ')
|
||||
.replace(/\s+/g, ' ')
|
||||
.trim()
|
||||
}
|
||||
|
||||
function unique(values, limit = 60) {
|
||||
return [...new Set(values.map(normalizeText).filter(value => value && value.length <= 40))].slice(0, limit)
|
||||
}
|
||||
|
||||
function extractSearchFields(template) {
|
||||
const firstTable = template.search(/<el-table\b/i)
|
||||
const prefix = firstTable >= 0 ? template.slice(0, firstTable) : template.slice(0, 12000)
|
||||
const labels = []
|
||||
const labelPatterns = [
|
||||
/<el-form-item\b[^>]*\blabel=["']([^"']+)["'][^>]*>/gi,
|
||||
/<span\b[^>]*>([^<]{1,40})<\/span>/gi,
|
||||
/<label\b[^>]*>([^<]{1,40})<\/label>/gi
|
||||
]
|
||||
for (const pattern of labelPatterns) {
|
||||
let match
|
||||
while ((match = pattern.exec(prefix))) {
|
||||
const label = normalizeText(match[1]).replace(/[::]$/, '')
|
||||
if (label && !/^(至|表单|日程|首页)$/.test(label)) labels.push(label)
|
||||
}
|
||||
}
|
||||
const placeholders = []
|
||||
const placeholderPattern = /\bplaceholder=["']([^"']+)["']/gi
|
||||
let match
|
||||
while ((match = placeholderPattern.exec(prefix))) {
|
||||
const value = normalizeText(match[1]).replace(/^(请输入|请选择|输入|选择)/, '')
|
||||
if (value && value.length <= 30) placeholders.push(value)
|
||||
}
|
||||
return unique([...labels, ...placeholders], 30)
|
||||
}
|
||||
|
||||
function extractButtons(template) {
|
||||
const values = []
|
||||
const pattern = /<(?:el-button|button)\b[^>]*>([\s\S]*?)<\/(?:el-button|button)>/gi
|
||||
let match
|
||||
while ((match = pattern.exec(template))) {
|
||||
const value = normalizeText(match[1])
|
||||
if (value && value.length <= 24) values.push(value)
|
||||
}
|
||||
return unique(values, 30)
|
||||
}
|
||||
|
||||
function extractAttributes(template, tag, attribute, limit) {
|
||||
const values = []
|
||||
const pattern = new RegExp(`<${tag}\\b[^>]*\\b${attribute}=["']([^"']+)["'][^>]*>`, 'gi')
|
||||
let match
|
||||
while ((match = pattern.exec(template))) values.push(match[1])
|
||||
return unique(values, limit)
|
||||
}
|
||||
|
||||
function extractProcedures(source, importedSources) {
|
||||
const read = []
|
||||
const write = []
|
||||
const directPattern = /CreateData\s*\(\s*["'](11|12)["']\s*,\s*["'`]([^"'`$]+)["'`]/g
|
||||
let match
|
||||
while ((match = directPattern.exec(source))) {
|
||||
(match[1] === '11' ? read : write).push(match[2])
|
||||
}
|
||||
const apiPattern = /\bname\s*:\s*["'`]([^"'`$]+)["'`]/g
|
||||
for (const apiSource of importedSources) {
|
||||
while ((match = apiPattern.exec(apiSource))) {
|
||||
if (/查询|获取|列表|状态|select/i.test(match[1])) read.push(match[1])
|
||||
else write.push(match[1])
|
||||
}
|
||||
}
|
||||
return { read: unique(read, 20), write: unique(write, 20) }
|
||||
}
|
||||
|
||||
function readImportedApiSources(source) {
|
||||
const sources = []
|
||||
const pattern = /from\s+["']@\/api\/([^"']+)["']/g
|
||||
let match
|
||||
while ((match = pattern.exec(source))) {
|
||||
const apiPath = path.join(root, 'src', 'api', `${match[1]}.js`)
|
||||
if (fs.existsSync(apiPath)) sources.push(fs.readFileSync(apiPath, 'utf8'))
|
||||
}
|
||||
return sources
|
||||
}
|
||||
|
||||
const catalog = []
|
||||
let sequence = 0
|
||||
for (let moduleIndex = 0; moduleIndex < modules.length; moduleIndex++) {
|
||||
const module = modules[moduleIndex]
|
||||
for (let pageIndex = 0; pageIndex < module.pages.length; pageIndex++) {
|
||||
sequence++
|
||||
const [title, route, relativeSource] = module.pages[pageIndex]
|
||||
const sourcePath = path.join(root, 'src', 'views', relativeSource)
|
||||
const source = fs.readFileSync(sourcePath, 'utf8')
|
||||
const templateStart = source.indexOf('<template>')
|
||||
const templateEnd = source.lastIndexOf('</template>')
|
||||
const template = templateStart >= 0 && templateEnd > templateStart
|
||||
? source.slice(templateStart + '<template>'.length, templateEnd)
|
||||
: source
|
||||
const procedures = extractProcedures(source, readImportedApiSources(source))
|
||||
catalog.push({
|
||||
sequence,
|
||||
moduleIndex: moduleIndex + 1,
|
||||
pageIndex: pageIndex + 1,
|
||||
module: module.title,
|
||||
title,
|
||||
route,
|
||||
source: relativeSource,
|
||||
screenshot: `${String(moduleIndex + 1).padStart(2, '0')}-${String(pageIndex + 1).padStart(2, '0')}-${module.key}.png`,
|
||||
purpose: purposes[title] || `用于处理${title}相关业务。`,
|
||||
moduleRelation: moduleRelations[module.title],
|
||||
searchFields: extractSearchFields(template),
|
||||
tabs: extractAttributes(template, 'el-tab-pane', 'label', 20),
|
||||
tableColumns: extractAttributes(template, 'el-table-column', 'label', 40),
|
||||
buttons: extractButtons(template),
|
||||
readProcedures: procedures.read,
|
||||
writeProcedures: procedures.write
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
fs.writeFileSync(outputPath, JSON.stringify(catalog, null, 2), 'utf8')
|
||||
console.log(`Generated ${catalog.length} page records: ${outputPath}`)
|
||||
158
work/system-manual/audit-manual-actions.js
Normal file
@@ -0,0 +1,158 @@
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const { modules } = require('./capture-full-manual-pages')
|
||||
|
||||
const root = path.resolve(__dirname, '..', '..')
|
||||
const outputPath = path.resolve(__dirname, 'manual-action-audit.json')
|
||||
|
||||
function unique(values) {
|
||||
return [...new Set(values.map(value => String(value || '').trim()).filter(Boolean))]
|
||||
}
|
||||
|
||||
function cleanText(value) {
|
||||
return String(value || '')
|
||||
.replace(/<[^>]+>/g, ' ')
|
||||
.replace(/\{\{[\s\S]*?\}\}/g, ' ')
|
||||
.replace(/ /g, ' ')
|
||||
.replace(/\s+/g, ' ')
|
||||
.trim()
|
||||
}
|
||||
|
||||
function literalAttribute(attributes, name) {
|
||||
const escaped = name.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
|
||||
const match = attributes.match(new RegExp(`(?:^|\\s)${escaped}\\s*=\\s*["']([^"']+)["']`))
|
||||
return match ? match[1].trim() : ''
|
||||
}
|
||||
|
||||
function handlerName(expression) {
|
||||
const match = String(expression || '').match(/(?:^|[;\s])([A-Za-z_$][\w$]*)\s*(?:\(|$)/)
|
||||
return match ? match[1] : ''
|
||||
}
|
||||
|
||||
function matchingTooltip(template, index) {
|
||||
const before = template.slice(0, index)
|
||||
const openingIndex = before.lastIndexOf('<el-tooltip')
|
||||
const closingIndex = before.lastIndexOf('</el-tooltip>')
|
||||
if (openingIndex < 0 || openingIndex < closingIndex) return ''
|
||||
const opening = before.slice(openingIndex, before.indexOf('>', openingIndex) + 1)
|
||||
return literalAttribute(opening, 'content')
|
||||
}
|
||||
|
||||
function extractBlock(script, method) {
|
||||
if (!method) return ''
|
||||
const escaped = method.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')
|
||||
const pattern = new RegExp(`(?:async\\s+)?${escaped}\\s*\\([^)]*\\)\\s*\\{`, 'm')
|
||||
const match = pattern.exec(script)
|
||||
if (!match) return ''
|
||||
const start = match.index + match[0].lastIndexOf('{')
|
||||
let depth = 0
|
||||
let quote = ''
|
||||
let lineComment = false
|
||||
let blockComment = false
|
||||
for (let index = start; index < script.length; index++) {
|
||||
const char = script[index]
|
||||
const next = script[index + 1]
|
||||
if (lineComment) {
|
||||
if (char === '\n') lineComment = false
|
||||
continue
|
||||
}
|
||||
if (blockComment) {
|
||||
if (char === '*' && next === '/') {
|
||||
blockComment = false
|
||||
index++
|
||||
}
|
||||
continue
|
||||
}
|
||||
if (quote) {
|
||||
if (char === '\\') {
|
||||
index++
|
||||
} else if (char === quote) {
|
||||
quote = ''
|
||||
}
|
||||
continue
|
||||
}
|
||||
if (char === '/' && next === '/') {
|
||||
lineComment = true
|
||||
index++
|
||||
continue
|
||||
}
|
||||
if (char === '/' && next === '*') {
|
||||
blockComment = true
|
||||
index++
|
||||
continue
|
||||
}
|
||||
if (char === '"' || char === "'" || char === '`') {
|
||||
quote = char
|
||||
continue
|
||||
}
|
||||
if (char === '{') depth++
|
||||
if (char === '}') {
|
||||
depth--
|
||||
if (depth === 0) return script.slice(start + 1, index)
|
||||
}
|
||||
}
|
||||
return ''
|
||||
}
|
||||
|
||||
function methodDetails(script, method) {
|
||||
const body = extractBlock(script, method)
|
||||
const procedures = unique([...body.matchAll(/CreateData\s*\([^,]+,\s*["']([^"']+)["']/g)].map(match => match[1]))
|
||||
const parameters = unique([...body.matchAll(/\[\s*["']([^"']+)["']\s*,/g)].map(match => match[1]))
|
||||
const calls = unique([...body.matchAll(/this\.([A-Za-z_$][\w$]*)\s*\(/g)].map(match => match[1])
|
||||
.filter(name => !['CreateData', 'ExecDatabase'].includes(name)))
|
||||
const closesDialog = /this\.[A-Za-z_$][\w$]*(?:Visible|dialog[A-Za-z_$]*)\s*=\s*false/.test(body)
|
||||
const refreshesList = calls.some(name => /^(?:search|get|query|load|refresh|init)/i.test(name))
|
||||
return { procedures, parameters, calls, closesDialog, refreshesList }
|
||||
}
|
||||
|
||||
function addAction(actions, template, index, attributes, body, fallbackLabel = '') {
|
||||
const expression = literalAttribute(attributes, '@click') ||
|
||||
literalAttribute(attributes, '@click.native') ||
|
||||
literalAttribute(attributes, '@row-click')
|
||||
if (!expression) return
|
||||
const label = cleanText(body) || matchingTooltip(template, index) || fallbackLabel
|
||||
if (!label) return
|
||||
actions.push({ label, expression, method: handlerName(expression) })
|
||||
}
|
||||
|
||||
const results = []
|
||||
for (const module of modules) {
|
||||
for (const [title, route, source] of module.pages) {
|
||||
const sourcePath = path.resolve(root, 'src', 'views', source)
|
||||
const content = fs.readFileSync(sourcePath, 'utf8')
|
||||
const scriptStart = content.indexOf('<script')
|
||||
const template = (scriptStart >= 0 ? content.slice(0, scriptStart) : content)
|
||||
.replace(/<!--[\s\S]*?-->/g, '')
|
||||
const script = scriptStart >= 0 ? content.slice(scriptStart) : ''
|
||||
const actions = []
|
||||
|
||||
for (const match of template.matchAll(/<el-button\b([^>]*?)>([\s\S]*?)<\/el-button>/g)) {
|
||||
addAction(actions, template, match.index, match[1], match[2])
|
||||
}
|
||||
for (const match of template.matchAll(/<el-button\b([^>]*?)\/>/g)) {
|
||||
addAction(actions, template, match.index, match[1], '', '图标操作')
|
||||
}
|
||||
for (const match of template.matchAll(/<el-dropdown-item\b([^>]*)>([\s\S]*?)<\/el-dropdown-item>/g)) {
|
||||
addAction(actions, template, match.index, match[1], match[2])
|
||||
}
|
||||
for (const match of template.matchAll(/<el-table\b([^>]*@row-click[^>]*)>/g)) {
|
||||
addAction(actions, template, match.index, match[1], '', '点击列表行')
|
||||
}
|
||||
|
||||
const deduplicated = []
|
||||
const keys = new Set()
|
||||
for (const action of actions) {
|
||||
const key = `${action.label}|${action.method}|${action.expression}`
|
||||
if (keys.has(key)) continue
|
||||
keys.add(key)
|
||||
deduplicated.push({ ...action, ...methodDetails(script, action.method) })
|
||||
}
|
||||
|
||||
results.push({ module: module.title, title, route, source, actions: deduplicated })
|
||||
}
|
||||
}
|
||||
|
||||
fs.writeFileSync(outputPath, JSON.stringify(results, null, 2), 'utf8')
|
||||
console.log(`Audited ${results.length} pages`)
|
||||
console.log(`Actions: ${results.reduce((total, page) => total + page.actions.length, 0)}`)
|
||||
console.log(`Actions with database effects: ${results.reduce((total, page) => total + page.actions.filter(action => action.procedures.length).length, 0)}`)
|
||||
74
work/system-manual/audit-manual-dialogs.js
Normal file
@@ -0,0 +1,74 @@
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const { modules } = require('./capture-full-manual-pages')
|
||||
|
||||
const root = path.resolve(__dirname, '..', '..')
|
||||
const outputPath = path.resolve(__dirname, 'manual-dialog-audit.json')
|
||||
|
||||
function unique(values) {
|
||||
return [...new Set(values.map(value => String(value || '').trim()).filter(Boolean))]
|
||||
}
|
||||
|
||||
function literalAttribute(attributes, name) {
|
||||
const match = attributes.match(new RegExp(`(?:^|\\s)${name}\\s*=\\s*["']([^"']+)["']`))
|
||||
return match ? match[1].trim() : ''
|
||||
}
|
||||
|
||||
function cleanText(value) {
|
||||
return String(value || '')
|
||||
.replace(/<[^>]+>/g, ' ')
|
||||
.replace(/\{\{[\s\S]*?\}\}/g, ' ')
|
||||
.replace(/\s+/g, ' ')
|
||||
.trim()
|
||||
}
|
||||
|
||||
const results = []
|
||||
for (const module of modules) {
|
||||
for (const [title, route, source] of module.pages) {
|
||||
const sourcePath = path.resolve(root, 'src', 'views', source)
|
||||
const content = fs.readFileSync(sourcePath, 'utf8')
|
||||
const scriptStart = content.indexOf('<script')
|
||||
const template = (scriptStart >= 0 ? content.slice(0, scriptStart) : content)
|
||||
.replace(/<!--[\s\S]*?-->/g, '')
|
||||
|
||||
const dialogs = []
|
||||
const dialogPattern = /<el-dialog\b([^>]*)>([\s\S]*?)<\/el-dialog>/g
|
||||
let dialogMatch
|
||||
while ((dialogMatch = dialogPattern.exec(template))) {
|
||||
const attributes = dialogMatch[1]
|
||||
const body = dialogMatch[2]
|
||||
const dialogTitle = literalAttribute(attributes, 'title') || '业务操作弹窗'
|
||||
const fields = unique([...body.matchAll(/<el-form-item\b([^>]*)>/g)]
|
||||
.map(match => literalAttribute(match[1], 'label')))
|
||||
const columns = unique([...body.matchAll(/<el-table-column\b([^>]*)>/g)]
|
||||
.map(match => literalAttribute(match[1], 'label')))
|
||||
const commands = unique([...body.matchAll(/<el-button\b[^>]*>([\s\S]*?)<\/el-button>/g)]
|
||||
.map(match => cleanText(match[1])))
|
||||
dialogs.push({ title: dialogTitle, fields, columns, commands })
|
||||
}
|
||||
|
||||
const inlineEditableFields = []
|
||||
const columnPattern = /<el-table-column\b([^>]*)>([\s\S]*?)<\/el-table-column>/g
|
||||
let columnMatch
|
||||
while ((columnMatch = columnPattern.exec(template))) {
|
||||
const label = literalAttribute(columnMatch[1], 'label')
|
||||
if (label && /@change\s*=|@blur\s*=|@click\s*=|v-model\s*=/.test(columnMatch[2])) {
|
||||
inlineEditableFields.push(label)
|
||||
}
|
||||
}
|
||||
|
||||
results.push({
|
||||
module: module.title,
|
||||
title,
|
||||
route,
|
||||
source,
|
||||
dialogs,
|
||||
inlineEditableFields: unique(inlineEditableFields)
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
fs.writeFileSync(outputPath, JSON.stringify(results, null, 2), 'utf8')
|
||||
console.log(`Audited ${results.length} pages`)
|
||||
console.log(`Pages with dialogs: ${results.filter(item => item.dialogs.length).length}`)
|
||||
console.log(`Pages with inline editing: ${results.filter(item => item.inlineEditableFields.length).length}`)
|
||||
420
work/system-manual/build-full-manual.ps1
Normal file
@@ -0,0 +1,420 @@
|
||||
param([string]$ScriptRootOverride = '')
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
$scriptRootPath = if ($ScriptRootOverride) { $ScriptRootOverride } else { $PSScriptRoot }
|
||||
$root = (Resolve-Path (Join-Path $scriptRootPath '..\..')).Path
|
||||
$catalogPath = Join-Path $scriptRootPath 'full-page-catalog.json'
|
||||
$screenshots = Join-Path $scriptRootPath 'full-screenshots'
|
||||
$docDir = Join-Path $root 'doc'
|
||||
$desktop = [Environment]::GetFolderPath('Desktop')
|
||||
$sourceDocx = Join-Path $docDir '大连元利流体技术有限公司MES系统操作手册_系统管理篇_样稿.docx'
|
||||
$fileName = '大连元利流体技术有限公司MES系统用户操作手册_V1.1_2026-07-23'
|
||||
$docxPath = Join-Path $docDir ($fileName + '.docx')
|
||||
$pdfPath = Join-Path $docDir ($fileName + '.pdf')
|
||||
$desktopDocx = Join-Path $desktop ($fileName + '.docx')
|
||||
$desktopPdf = Join-Path $desktop ($fileName + '.pdf')
|
||||
$progressPath = Join-Path ([IO.Path]::GetTempPath()) 'mes-full-manual-build.log'
|
||||
[IO.File]::WriteAllText($progressPath, "开始生成 $(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')`r`n", [Text.Encoding]::UTF8)
|
||||
|
||||
function Write-BuildProgress {
|
||||
param([string]$Message)
|
||||
[IO.File]::AppendAllText($progressPath, "$(Get-Date -Format 'HH:mm:ss') $Message`r`n", [Text.Encoding]::UTF8)
|
||||
}
|
||||
|
||||
if (-not (Test-Path -LiteralPath $sourceDocx)) { throw "系统管理篇源文档不存在:$sourceDocx" }
|
||||
if (-not (Test-Path -LiteralPath $catalogPath)) { throw "页面目录不存在:$catalogPath" }
|
||||
|
||||
$catalog = Get-Content -Raw -Encoding UTF8 $catalogPath | ConvertFrom-Json
|
||||
if ($catalog.Length -ne 69) { throw "页面目录数量应为69,实际为$($catalog.Length)" }
|
||||
|
||||
foreach ($page in $catalog) {
|
||||
$imagePath = Join-Path $screenshots $page.screenshot
|
||||
if (-not (Test-Path -LiteralPath $imagePath)) { throw "页面截图不存在:$imagePath" }
|
||||
}
|
||||
|
||||
New-Item -ItemType Directory -Force -Path $docDir | Out-Null
|
||||
|
||||
$moduleChapters = [ordered]@{
|
||||
'设备管理' = 7
|
||||
'研发管理' = 8
|
||||
'工艺管理' = 9
|
||||
'计划排产' = 10
|
||||
'生产管理' = 11
|
||||
'异常提醒' = 12
|
||||
'质量管理' = 13
|
||||
'销售订单管理' = 14
|
||||
}
|
||||
|
||||
function Join-Values {
|
||||
param([object]$Values, [int]$Limit = 12)
|
||||
if ($null -eq $Values -or $Values.Length -eq 0) { return '无' }
|
||||
$items = @($Values | Select-Object -First $Limit)
|
||||
$text = $items -join '、'
|
||||
if ($Values.Length -gt $Limit) { $text += "等$($Values.Length)项" }
|
||||
return $text
|
||||
}
|
||||
|
||||
function Get-FilterType {
|
||||
param([string]$Field)
|
||||
if ($Field -match '日期|时间|开始|结束|完工|入账') { return '日期/时间或范围选择' }
|
||||
if ($Field -match '状态|类型|类别|属性|性质|结果|部门|工位|工序|人员|指派|来源|班次|齐套|送检|入库|发货') { return '下拉、开关或选项选择' }
|
||||
if ($Field -match '编码|编号|订单|任务ID|计划号|合同号|图号|名称|操作人|物料|产品') { return '文本输入或远程选择' }
|
||||
return '输入或选择控件'
|
||||
}
|
||||
|
||||
function Get-FilterGuide {
|
||||
param([string]$Field)
|
||||
if ($Field -match '日期|时间|开始|结束|完工|入账') { return '选择起止时间时按区间过滤;清空表示不限制该时间条件。' }
|
||||
if ($Field -match '状态|类型|类别|属性|性质|结果|部门|工位|工序|人员|指派|来源|班次|齐套|送检|入库|发货') { return '从页面提供的选项中选择;“全部”或清空通常表示不限制该条件。' }
|
||||
if ($Field -match '编码|编号|订单|任务ID|计划号|合同号|图号|名称|操作人|物料|产品') { return '输入关键值或从远程候选项中选择,再与其他已填写条件共同查询。' }
|
||||
return '按页面控件输入或选择,点击【查询】后与其他条件共同生效。'
|
||||
}
|
||||
|
||||
function Get-ActionGuide {
|
||||
param([string]$Button)
|
||||
if ($Button -match '查询|搜索|刷新') { return '读取当前筛选条件并刷新列表,不写入业务数据。' }
|
||||
if ($Button -match '导出|Excel|下载') { return '将当前查询或当前页签结果导出/下载;导出前先确认筛选范围。' }
|
||||
if ($Button -match '查看|预览|明细|记录|图纸|附件') { return '打开当前记录的只读详情、历史、图纸或附件;关闭窗口返回列表。' }
|
||||
if ($Button -match '新增|新建|添加|设备$') { return '打开新增窗口,填写必填项并确认后写入;正式操作前检查编码和关联主数据。' }
|
||||
if ($Button -match '编辑|修改|修正') { return '选择目标记录后打开编辑窗口,核对影响范围并保存修改。' }
|
||||
if ($Button -match '删除|移除|作废|关闭订单') { return '执行不可逆或影响状态的操作;必须核对下游占用并在确认框中再次确认。' }
|
||||
if ($Button -match '取消|关闭$|返回') { return '关闭当前窗口或放弃本次未提交内容,通常不写入数据。' }
|
||||
if ($Button -match '保存|确定|提交|确认') { return '提交当前表单或选择结果;提交前复核必填项、数量、时间和目标记录。' }
|
||||
if ($Button -match '批量|排产|下发|派工|指派') { return '先选择目标行并完整填写工位、人员、数量和时间,再批量生成或下发任务。' }
|
||||
if ($Button -match '开始|开工|暂停|结束|完成|报工|送检|收验|收检|发料|收料|领料|退库') { return '改变任务或物料流转状态并形成操作记录;只对已核对的当前任务执行。' }
|
||||
if ($Button -match '上传') { return '选择文件并上传到当前业务记录;上传前确认文件版本、格式和归属。' }
|
||||
return '按当前选中记录执行对应业务动作;根据弹窗提示核对后再确认。'
|
||||
}
|
||||
|
||||
function Test-WritePage {
|
||||
param([object]$Page)
|
||||
if ($Page.writeProcedures.Length -gt 0) { return $true }
|
||||
return [bool](@($Page.buttons | Where-Object { $_ -match '新增|新建|编辑|修改|删除|保存|确定|提交|开始|结束|完成|报工|送检|收料|发料|排产|下发|上传' }).Length)
|
||||
}
|
||||
|
||||
$word = $null
|
||||
$doc = $null
|
||||
$buildError = $null
|
||||
|
||||
try {
|
||||
$word = New-Object -ComObject Word.Application
|
||||
$word.Visible = $false
|
||||
$word.DisplayAlerts = 0
|
||||
$doc = $word.Documents.Open($sourceDocx, $false, $false)
|
||||
$doc.SaveAs2($docxPath, 16)
|
||||
Write-BuildProgress '已打开系统管理篇并另存完整篇'
|
||||
$selection = $word.Selection
|
||||
$normal = $doc.Styles.Item(-1)
|
||||
|
||||
function Set-ParagraphText {
|
||||
param([object]$Paragraph, [string]$Text)
|
||||
$range = $Paragraph.Range.Duplicate
|
||||
if ($range.End -gt $range.Start) { $range.End = $range.End - 1 }
|
||||
$range.Text = $Text
|
||||
}
|
||||
|
||||
$headingMap = @{
|
||||
'7 典型业务链路' = '15 典型业务链路'
|
||||
'7.1 新增可登录人员' = '15.1 新增可登录人员'
|
||||
'7.2 下线一个角色' = '15.2 下线一个角色'
|
||||
'7.3 新增生产工位' = '15.3 新增生产工位'
|
||||
'7.4 追溯一次报工操作' = '15.4 追溯一次报工操作'
|
||||
'8 常见问题' = '16 常见问题'
|
||||
'9 正式环境操作红线' = '17 正式环境操作红线'
|
||||
}
|
||||
|
||||
$paragraphCount = $doc.Paragraphs.Count
|
||||
for ($paragraphIndex = 1; $paragraphIndex -le $paragraphCount; $paragraphIndex++) {
|
||||
$paragraph = $doc.Paragraphs.Item($paragraphIndex)
|
||||
$text = ($paragraph.Range.Text -replace '[\r\a]+$', '').Trim()
|
||||
if ($text -eq '系统管理篇(样稿)') {
|
||||
Set-ParagraphText $paragraph '完整操作手册(系统管理至销售订单)'
|
||||
} elseif ($text -eq '版本:V1.0') {
|
||||
Set-ParagraphText $paragraph '版本:V1.1'
|
||||
} elseif ($text -eq '编制日期:2026年7月23日') {
|
||||
Set-ParagraphText $paragraph '编制日期:2026年7月23日'
|
||||
} elseif ($text.StartsWith('当前正式菜单以数据库配置为准,包括人员管理')) {
|
||||
Set-ParagraphText $paragraph '当前正式菜单以数据库配置为准。本版在系统管理基础上继续覆盖设备管理、研发管理、工艺管理、计划排产、生产管理、异常提醒、质量管理和销售订单管理,共计74个正式功能页面。'
|
||||
} elseif ($headingMap.ContainsKey($text)) {
|
||||
Set-ParagraphText $paragraph $headingMap[$text]
|
||||
}
|
||||
}
|
||||
Write-BuildProgress '已更新封面、阅读说明和后续章节编号'
|
||||
|
||||
$revisionTable = $null
|
||||
for ($tableIndex = 1; $tableIndex -le $doc.Tables.Count; $tableIndex++) {
|
||||
$candidate = $doc.Tables.Item($tableIndex)
|
||||
if ($candidate.Columns.Count -ge 4) {
|
||||
$firstCell = ($candidate.Cell(1, 1).Range.Text -replace '[\r\a]+$', '').Trim()
|
||||
if ($firstCell -eq '版本') {
|
||||
$revisionTable = $candidate
|
||||
break
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($null -ne $revisionTable) {
|
||||
$newRow = $revisionTable.Rows.Add()
|
||||
$newRow.Cells.Item(1).Range.Text = 'V1.1'
|
||||
$newRow.Cells.Item(2).Range.Text = '2026-07-23'
|
||||
$newRow.Cells.Item(3).Range.Text = '增加设备至销售订单八个模块'
|
||||
$newRow.Cells.Item(4).Range.Text = '新增69个正式功能页、69张页面截图及完整数据关系说明'
|
||||
}
|
||||
Write-BuildProgress '已更新修订记录'
|
||||
|
||||
$insertAt = $null
|
||||
$paragraphCount = $doc.Paragraphs.Count
|
||||
for ($paragraphIndex = 1; $paragraphIndex -le $paragraphCount; $paragraphIndex++) {
|
||||
$paragraph = $doc.Paragraphs.Item($paragraphIndex)
|
||||
$text = ($paragraph.Range.Text -replace '[\r\a]+$', '').Trim()
|
||||
if ($text -eq '15 典型业务链路') {
|
||||
$insertAt = $paragraph.Range.Start
|
||||
break
|
||||
}
|
||||
}
|
||||
if ($null -eq $insertAt) { throw '未找到“15 典型业务链路”插入位置' }
|
||||
$selection.SetRange($insertAt, $insertAt)
|
||||
Write-BuildProgress '已定位模块章节插入位置'
|
||||
|
||||
function Move-End {
|
||||
$selection.SetRange($selection.Range.End, $selection.Range.End)
|
||||
}
|
||||
|
||||
function Add-Text {
|
||||
param(
|
||||
[string]$Text,
|
||||
[double]$Size = 10.5,
|
||||
[bool]$Bold = $false,
|
||||
[int]$Align = 0,
|
||||
[int]$Color = 0,
|
||||
[double]$Before = 0,
|
||||
[double]$After = 6,
|
||||
[double]$FirstIndentCm = 0
|
||||
)
|
||||
$selection.Font.NameFarEast = '宋体'
|
||||
$selection.Font.Name = 'Arial'
|
||||
$selection.Font.Size = $Size
|
||||
$selection.Font.Bold = [int]$Bold
|
||||
$selection.Font.Color = $Color
|
||||
$selection.ParagraphFormat.Alignment = $Align
|
||||
$selection.ParagraphFormat.SpaceBefore = $Before
|
||||
$selection.ParagraphFormat.SpaceAfter = $After
|
||||
$selection.ParagraphFormat.FirstLineIndent = $word.CentimetersToPoints($FirstIndentCm)
|
||||
$selection.TypeText($Text)
|
||||
$selection.TypeParagraph()
|
||||
}
|
||||
|
||||
function Add-Heading {
|
||||
param([string]$Text, [int]$Level)
|
||||
$styleId = switch ($Level) { 1 { -2 } 2 { -3 } default { -4 } }
|
||||
$selection.Style = $doc.Styles.Item($styleId)
|
||||
$selection.Font.NameFarEast = '微软雅黑'
|
||||
$selection.Font.Name = 'Arial'
|
||||
$selection.Font.Color = 0x8F4A31
|
||||
$selection.Font.Bold = 1
|
||||
$selection.ParagraphFormat.KeepWithNext = -1
|
||||
$selection.TypeText($Text)
|
||||
$selection.TypeParagraph()
|
||||
$selection.Style = $normal
|
||||
}
|
||||
|
||||
function Add-Table {
|
||||
param([object[]]$Rows, [double[]]$WidthsCm = @())
|
||||
if ($Rows.Count -eq 0) { return }
|
||||
$range = $selection.Range
|
||||
$table = $doc.Tables.Add($range, $Rows.Count, $Rows[0].Count)
|
||||
$table.Borders.Enable = 1
|
||||
$table.Range.Font.NameFarEast = '宋体'
|
||||
$table.Range.Font.Name = 'Arial'
|
||||
$table.Range.Font.Size = 8.5
|
||||
$table.Range.ParagraphFormat.SpaceAfter = 0
|
||||
for ($r = 0; $r -lt $Rows.Count; $r++) {
|
||||
for ($c = 0; $c -lt $Rows[$r].Count; $c++) {
|
||||
$table.Cell($r + 1, $c + 1).Range.Text = [string]$Rows[$r][$c]
|
||||
$table.Cell($r + 1, $c + 1).VerticalAlignment = 1
|
||||
if ($WidthsCm.Count -gt $c) {
|
||||
$table.Cell($r + 1, $c + 1).Width = $word.CentimetersToPoints($WidthsCm[$c])
|
||||
}
|
||||
}
|
||||
}
|
||||
$table.Rows.Item(1).Range.Bold = 1
|
||||
$table.Rows.Item(1).Shading.BackgroundPatternColor = 0xE6D8D0
|
||||
$table.Rows.Item(1).Range.ParagraphFormat.Alignment = 1
|
||||
$table.AllowAutoFit = -1
|
||||
$selection.SetRange($table.Range.End, $table.Range.End)
|
||||
$selection.TypeParagraph()
|
||||
}
|
||||
|
||||
function Add-Note {
|
||||
param([string]$Title, [string]$Text, [string]$Kind = 'info')
|
||||
$range = $selection.Range
|
||||
$table = $doc.Tables.Add($range, 1, 1)
|
||||
$table.Borders.Enable = 1
|
||||
$cell = $table.Cell(1, 1)
|
||||
$cell.Range.Text = $Title + ':' + $Text
|
||||
$cell.Range.Font.NameFarEast = '微软雅黑'
|
||||
$cell.Range.Font.Name = 'Arial'
|
||||
$cell.Range.Font.Size = 9.5
|
||||
$cell.Range.ParagraphFormat.SpaceAfter = 0
|
||||
if ($Kind -eq 'warn') { $cell.Shading.BackgroundPatternColor = 0xD9F2FF }
|
||||
elseif ($Kind -eq 'danger') { $cell.Shading.BackgroundPatternColor = 0xD9E2F3 }
|
||||
else { $cell.Shading.BackgroundPatternColor = 0xF4F1EE }
|
||||
$selection.SetRange($table.Range.End, $table.Range.End)
|
||||
$selection.TypeParagraph()
|
||||
}
|
||||
|
||||
function Add-Figure {
|
||||
param([string]$Path, [string]$Caption, [double]$MaxWidthCm = 16.4)
|
||||
$selection.ParagraphFormat.Alignment = 1
|
||||
$shape = $selection.InlineShapes.AddPicture($Path, $false, $true, $selection.Range)
|
||||
$shape.LockAspectRatio = -1
|
||||
$maxWidth = $word.CentimetersToPoints($MaxWidthCm)
|
||||
if ($shape.Width -gt $maxWidth) { $shape.Width = $maxWidth }
|
||||
$selection.SetRange($shape.Range.End, $shape.Range.End)
|
||||
$selection.TypeParagraph()
|
||||
Add-Text $Caption 9 $false 1 0x777777 0 8 0
|
||||
}
|
||||
|
||||
function Add-PageBreak {
|
||||
$selection.InsertBreak(7)
|
||||
}
|
||||
|
||||
Add-PageBreak
|
||||
foreach ($moduleName in $moduleChapters.Keys) {
|
||||
$chapter = $moduleChapters[$moduleName]
|
||||
$modulePages = @($catalog | Where-Object { $_.module -eq $moduleName } | Sort-Object pageIndex)
|
||||
if ($modulePages.Count -eq 0) { continue }
|
||||
Write-BuildProgress "开始生成第$chapter章 $moduleName"
|
||||
|
||||
Add-Heading ("$chapter $moduleName") 1
|
||||
Add-Text $modulePages[0].moduleRelation 10.5 $false 0 0 0 6 0.74
|
||||
Add-Note '本章范围' "本章按正式菜单顺序说明$($modulePages.Count)个功能页。截图仅执行登录、页面导航和默认查询,没有点击任何业务写入按钮。" 'warn'
|
||||
|
||||
$moduleRows = [System.Collections.Generic.List[object]]::new()
|
||||
$moduleRows.Add(@('序号', '功能页面', '主要用途'))
|
||||
for ($i = 0; $i -lt $modulePages.Count; $i++) {
|
||||
$moduleRows.Add(@(($i + 1).ToString(), $modulePages[$i].title, $modulePages[$i].purpose))
|
||||
}
|
||||
Add-Table $moduleRows.ToArray() @(1.2, 3.4, 10.8)
|
||||
|
||||
for ($pageIndex = 0; $pageIndex -lt $modulePages.Count; $pageIndex++) {
|
||||
$page = $modulePages[$pageIndex]
|
||||
$section = "$chapter.$($pageIndex + 1)"
|
||||
Write-BuildProgress "生成 $section $($page.title)"
|
||||
Add-PageBreak
|
||||
Add-Heading ("$section $($page.title)") 2
|
||||
Add-Text $page.purpose 10.5 $false 0 0 0 6 0.74
|
||||
|
||||
$writePage = Test-WritePage $page
|
||||
Add-Table @(
|
||||
@('项目', '说明'),
|
||||
@('菜单路径', "$moduleName > $($page.title)"),
|
||||
@('页面路由', $page.route),
|
||||
@('数据性质', $(if ($writePage) { '查询为只读;业务按钮可能新增、修改或改变状态' } else { '以只读查询、汇总或导出为主' }))
|
||||
) @(3.2, 12.2)
|
||||
|
||||
Add-Figure (Join-Path $screenshots $page.screenshot) ("图 $section-1 $moduleName - $($page.title)正式页面")
|
||||
|
||||
Add-Heading ("$section.1 搜索与过滤") 3
|
||||
if ($page.searchFields.Length -gt 0) {
|
||||
$filterRows = [System.Collections.Generic.List[object]]::new()
|
||||
$filterRows.Add(@('条件', '控件形式', '使用说明'))
|
||||
foreach ($field in $page.searchFields) {
|
||||
$filterRows.Add(@($field, (Get-FilterType $field), (Get-FilterGuide $field)))
|
||||
}
|
||||
Add-Table $filterRows.ToArray() @(3.2, 4.2, 8.2)
|
||||
Add-Note '组合规则' '多个条件同时填写时,由页面一并传入后台查询,通常取条件交集。若查询不到记录,先逐项清空状态、日期和编号条件,再重新查询;精确或包含匹配以对应页面后台过程为准。' 'info'
|
||||
} else {
|
||||
Add-Text '本页面没有独立的顶部搜索区,进入页面后按默认条件加载数据,或通过页签、树节点、当前工位/人员上下文切换数据范围。' 10.5 $false 0 0 0 6 0.74
|
||||
}
|
||||
if ($page.tabs.Length -gt 0) {
|
||||
Add-Table @(
|
||||
@('页面页签/视图', '切换说明'),
|
||||
@((Join-Values $page.tabs 20), '切换页签会改变展示维度或数据范围;导出前确认当前页签。')
|
||||
) @(5.2, 10.4)
|
||||
}
|
||||
|
||||
Add-Heading ("$section.2 列表字段与页面结果") 3
|
||||
if ($page.tableColumns.Length -gt 0) {
|
||||
$columnRows = [System.Collections.Generic.List[object]]::new()
|
||||
$columnRows.Add(@('分组', '字段/列'))
|
||||
for ($columnIndex = 0; $columnIndex -lt $page.tableColumns.Length; $columnIndex += 8) {
|
||||
$endIndex = [Math]::Min($columnIndex + 7, $page.tableColumns.Length - 1)
|
||||
$group = @($page.tableColumns[$columnIndex..$endIndex])
|
||||
$columnRows.Add(@("第$($columnIndex + 1)-$($endIndex + 1)列", ($group -join '、')))
|
||||
}
|
||||
Add-Table $columnRows.ToArray() @(3.2, 12.4)
|
||||
Add-Text '列表用于展示当前筛选结果。存在横向滚动条时,应左右滚动核对全部状态、数量、时间和操作列;存在分页时,页码和每页条数只影响当前显示范围。' 10.5 $false 0 0 0 6 0.74
|
||||
} else {
|
||||
Add-Text '该页面主要使用自定义看板、卡片或复用组件展示结果,字段布局以截图及页面实时内容为准。' 10.5 $false 0 0 0 6 0.74
|
||||
}
|
||||
|
||||
Add-Heading ("$section.3 功能按钮与操作") 3
|
||||
if ($page.buttons.Length -gt 0) {
|
||||
$buttonRows = [System.Collections.Generic.List[object]]::new()
|
||||
$buttonRows.Add(@('按钮/命令', '操作说明'))
|
||||
foreach ($button in $page.buttons) {
|
||||
$buttonRows.Add(@($button, (Get-ActionGuide $button)))
|
||||
}
|
||||
Add-Table $buttonRows.ToArray() @(4.2, 11.4)
|
||||
} else {
|
||||
Add-Text '本页主要通过大尺寸现场操作按钮、图标按钮、表格行操作或复用组件执行命令。操作前必须先选择当前任务,并根据按钮文字和确认提示核对目标记录。' 10.5 $false 0 0 0 6 0.74
|
||||
}
|
||||
if ($writePage) {
|
||||
Add-Note '正式操作注意' '新增、编辑、删除、开始、结束、排产、报工、送检、收料、上传等操作会写入业务数据或改变状态。本文档编制未实际执行这些按钮;正式使用时应按岗位权限和业务单据逐条确认。' 'danger'
|
||||
}
|
||||
|
||||
Add-Heading ("$section.4 前后数据关系") 3
|
||||
Add-Text $page.moduleRelation 10.5 $false 0 0 0 6 0.74
|
||||
Add-Table @(
|
||||
@('关系层次', '内容'),
|
||||
@('页面输入', $(if ($page.searchFields.Length -gt 0) { Join-Values $page.searchFields 18 } else { '当前登录人员、角色、工位、默认状态或上游任务上下文' })),
|
||||
@('只读查询过程/接口', (Join-Values $page.readProcedures 10)),
|
||||
@('写入过程/接口', (Join-Values $page.writeProcedures 10)),
|
||||
@('页面输出', $(if ($page.tableColumns.Length -gt 0) { Join-Values $page.tableColumns 16 } else { '自定义看板、统计结果、状态卡片或复用组件结果' }))
|
||||
) @(4.2, 11.4)
|
||||
Add-Note '技术核对说明' '过程名称来自当前前端源码和已引用接口文件,用于说明数据流向;动态过程名、通用审批接口及服务端二次调用可能不会全部显示在本表中。' 'info'
|
||||
}
|
||||
Write-BuildProgress "完成第$chapter章 $moduleName"
|
||||
}
|
||||
|
||||
Write-BuildProgress '开始更新目录并导出PDF'
|
||||
if ($doc.TablesOfContents.Count -gt 0) {
|
||||
$doc.TablesOfContents.Item(1).Update()
|
||||
}
|
||||
$doc.Save()
|
||||
Write-BuildProgress 'DOCX正文及目录已保存'
|
||||
$doc.ExportAsFixedFormat($pdfPath, 17)
|
||||
Write-BuildProgress 'PDF已导出'
|
||||
|
||||
# WPS 兼容层在大型文档导出后读取统计信息可能长时间阻塞,统计校验改由生成后的 Open XML/PDF 文件完成。
|
||||
$doc.Close($false)
|
||||
[void][Runtime.InteropServices.Marshal]::ReleaseComObject($doc)
|
||||
$doc = $null
|
||||
$word.Quit()
|
||||
[void][Runtime.InteropServices.Marshal]::ReleaseComObject($word)
|
||||
$word = $null
|
||||
|
||||
Copy-Item -LiteralPath $docxPath -Destination $desktopDocx -Force
|
||||
Copy-Item -LiteralPath $pdfPath -Destination $desktopPdf -Force
|
||||
|
||||
Write-Output "DOCX=$docxPath"
|
||||
Write-Output "PDF=$pdfPath"
|
||||
Write-BuildProgress '完整操作手册生成完成'
|
||||
} catch {
|
||||
$buildError = $_
|
||||
Write-BuildProgress ("生成失败:" + $_.Exception.Message)
|
||||
} finally {
|
||||
if ($doc) {
|
||||
try { $doc.Close($false) } catch { }
|
||||
}
|
||||
if ($word) {
|
||||
try { $word.Quit() } catch { }
|
||||
}
|
||||
if ($doc) { [void][Runtime.InteropServices.Marshal]::ReleaseComObject($doc) }
|
||||
if ($word) { [void][Runtime.InteropServices.Marshal]::ReleaseComObject($word) }
|
||||
[GC]::Collect()
|
||||
[GC]::WaitForPendingFinalizers()
|
||||
}
|
||||
|
||||
if ($buildError) { throw $buildError }
|
||||
382
work/system-manual/build-system-issues.ps1
Normal file
@@ -0,0 +1,382 @@
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
$root = (Resolve-Path (Join-Path $PSScriptRoot '..\..')).Path
|
||||
$prepared = Join-Path $PSScriptRoot 'prepared'
|
||||
$docDir = Join-Path $root 'doc'
|
||||
$desktop = [Environment]::GetFolderPath('Desktop')
|
||||
$fileName = '大连元利流体技术有限公司MES系统_系统管理问题清单_2026-07-23'
|
||||
$docxPath = Join-Path $docDir ($fileName + '.docx')
|
||||
$pdfPath = Join-Path $docDir ($fileName + '.pdf')
|
||||
$desktopDocx = Join-Path $desktop ($fileName + '.docx')
|
||||
$desktopPdf = Join-Path $desktop ($fileName + '.pdf')
|
||||
|
||||
New-Item -ItemType Directory -Force -Path $docDir | Out-Null
|
||||
|
||||
$word = $null
|
||||
$doc = $null
|
||||
$buildError = $null
|
||||
|
||||
try {
|
||||
$word = New-Object -ComObject Word.Application
|
||||
$word.Visible = $false
|
||||
$word.DisplayAlerts = 0
|
||||
$doc = $word.Documents.Add()
|
||||
$selection = $word.Selection
|
||||
|
||||
$doc.PageSetup.PageWidth = $word.CentimetersToPoints(21)
|
||||
$doc.PageSetup.PageHeight = $word.CentimetersToPoints(29.7)
|
||||
$doc.PageSetup.TopMargin = $word.CentimetersToPoints(2.2)
|
||||
$doc.PageSetup.BottomMargin = $word.CentimetersToPoints(2.0)
|
||||
$doc.PageSetup.LeftMargin = $word.CentimetersToPoints(2.1)
|
||||
$doc.PageSetup.RightMargin = $word.CentimetersToPoints(2.1)
|
||||
|
||||
$normal = $doc.Styles.Item(-1)
|
||||
$normal.Font.NameFarEast = '宋体'
|
||||
$normal.Font.Name = 'Arial'
|
||||
$normal.Font.Size = 10.5
|
||||
$normal.ParagraphFormat.SpaceAfter = 6
|
||||
|
||||
function Move-End {
|
||||
$end = $doc.Content.End - 1
|
||||
$selection.SetRange($end, $end)
|
||||
}
|
||||
|
||||
function Add-Text {
|
||||
param(
|
||||
[string]$Text,
|
||||
[double]$Size = 10.5,
|
||||
[bool]$Bold = $false,
|
||||
[int]$Align = 0,
|
||||
[int]$Color = 0,
|
||||
[double]$Before = 0,
|
||||
[double]$After = 6,
|
||||
[double]$FirstIndentCm = 0
|
||||
)
|
||||
$selection.Style = $normal
|
||||
$selection.Font.NameFarEast = '宋体'
|
||||
$selection.Font.Name = 'Arial'
|
||||
$selection.Font.Size = $Size
|
||||
$selection.Font.Bold = [int]$Bold
|
||||
$selection.Font.Color = $Color
|
||||
$selection.ParagraphFormat.Alignment = $Align
|
||||
$selection.ParagraphFormat.SpaceBefore = $Before
|
||||
$selection.ParagraphFormat.SpaceAfter = $After
|
||||
$selection.ParagraphFormat.FirstLineIndent = $word.CentimetersToPoints($FirstIndentCm)
|
||||
$selection.TypeText($Text)
|
||||
$selection.TypeParagraph()
|
||||
}
|
||||
|
||||
function Add-Heading {
|
||||
param([string]$Text, [int]$Level)
|
||||
$styleId = switch ($Level) { 1 { -2 } 2 { -3 } default { -4 } }
|
||||
$selection.Style = $doc.Styles.Item($styleId)
|
||||
$selection.Font.NameFarEast = '微软雅黑'
|
||||
$selection.Font.Name = 'Arial'
|
||||
$selection.Font.Color = 0x8F4A31
|
||||
$selection.Font.Bold = 1
|
||||
$selection.ParagraphFormat.KeepWithNext = -1
|
||||
$selection.TypeText($Text)
|
||||
$selection.TypeParagraph()
|
||||
$selection.Style = $normal
|
||||
}
|
||||
|
||||
function Add-StepList {
|
||||
param([string[]]$Items)
|
||||
for ($i = 0; $i -lt $Items.Count; $i++) {
|
||||
Add-Text (('{0}. {1}' -f ($i + 1), $Items[$i])) 10.5 $false 0 0 0 4 0
|
||||
}
|
||||
}
|
||||
|
||||
function Add-ItemList {
|
||||
param([string[]]$Items)
|
||||
for ($i = 0; $i -lt $Items.Count; $i++) {
|
||||
Add-Text ('(' + ($i + 1) + ')' + $Items[$i]) 10.5 $false 0 0 0 4 0
|
||||
}
|
||||
}
|
||||
|
||||
function Add-Table {
|
||||
param([object[]]$Rows, [double[]]$WidthsCm = @())
|
||||
$table = $doc.Tables.Add($selection.Range, $Rows.Count, $Rows[0].Count)
|
||||
$table.Borders.Enable = 1
|
||||
$table.Range.Font.NameFarEast = '宋体'
|
||||
$table.Range.Font.Name = 'Arial'
|
||||
$table.Range.Font.Size = 8.8
|
||||
$table.Range.ParagraphFormat.SpaceAfter = 0
|
||||
for ($r = 0; $r -lt $Rows.Count; $r++) {
|
||||
for ($c = 0; $c -lt $Rows[$r].Count; $c++) {
|
||||
$table.Cell($r + 1, $c + 1).Range.Text = [string]$Rows[$r][$c]
|
||||
$table.Cell($r + 1, $c + 1).VerticalAlignment = 1
|
||||
if ($WidthsCm.Count -gt $c) {
|
||||
$table.Cell($r + 1, $c + 1).Width = $word.CentimetersToPoints($WidthsCm[$c])
|
||||
}
|
||||
}
|
||||
}
|
||||
$table.Rows.Item(1).Range.Bold = 1
|
||||
$table.Rows.Item(1).Shading.BackgroundPatternColor = 0xE6D8D0
|
||||
$table.Rows.Item(1).Range.ParagraphFormat.Alignment = 1
|
||||
$table.AllowAutoFit = -1
|
||||
Move-End
|
||||
$selection.TypeParagraph()
|
||||
}
|
||||
|
||||
function Add-Note {
|
||||
param([string]$Title, [string]$Text, [string]$Kind = 'info')
|
||||
$table = $doc.Tables.Add($selection.Range, 1, 1)
|
||||
$cell = $table.Cell(1, 1)
|
||||
$table.Borders.Enable = 1
|
||||
$cell.Range.Text = $Title + ':' + $Text
|
||||
$cell.Range.Font.NameFarEast = '微软雅黑'
|
||||
$cell.Range.Font.Size = 9.5
|
||||
$cell.Range.ParagraphFormat.SpaceAfter = 0
|
||||
if ($Kind -eq 'danger') {
|
||||
$cell.Shading.BackgroundPatternColor = 0xD9E2F3
|
||||
} elseif ($Kind -eq 'warn') {
|
||||
$cell.Shading.BackgroundPatternColor = 0xD9F2FF
|
||||
} else {
|
||||
$cell.Shading.BackgroundPatternColor = 0xF4F1EE
|
||||
}
|
||||
Move-End
|
||||
$selection.TypeParagraph()
|
||||
}
|
||||
|
||||
function Add-Figure {
|
||||
param([string]$Path, [string]$Caption, [double]$MaxWidthCm = 16.4)
|
||||
$selection.ParagraphFormat.Alignment = 1
|
||||
$shape = $selection.InlineShapes.AddPicture($Path, $false, $true, $selection.Range)
|
||||
$shape.LockAspectRatio = -1
|
||||
$maxWidth = $word.CentimetersToPoints($MaxWidthCm)
|
||||
if ($shape.Width -gt $maxWidth) { $shape.Width = $maxWidth }
|
||||
$selection.SetRange($shape.Range.End, $shape.Range.End)
|
||||
$selection.TypeParagraph()
|
||||
Add-Text $Caption 9 $false 1 0x777777 0 8 0
|
||||
}
|
||||
|
||||
function Add-Issue {
|
||||
param(
|
||||
[string]$Id,
|
||||
[string]$Title,
|
||||
[string]$Priority,
|
||||
[string]$Status,
|
||||
[string]$Description,
|
||||
[string]$Evidence,
|
||||
[string]$Impact,
|
||||
[string]$Recommendation,
|
||||
[string]$Verification
|
||||
)
|
||||
Add-Heading ($Id + ' ' + $Title) 2
|
||||
Add-Table @(
|
||||
@('优先级', '确认状态', '涉及模块'),
|
||||
@($Priority, $Status, $Id.Split('-')[0])
|
||||
) @(4, 5, 8)
|
||||
Add-Text ('问题描述:' + $Description) 10.5 $false 0 0 0 5 0
|
||||
Add-Text ('证据:' + $Evidence) 10 $false 0 0x555555 0 5 0
|
||||
Add-Text ('影响:' + $Impact) 10.5 $false 0 0 0 5 0
|
||||
Add-Text ('建议:' + $Recommendation) 10.5 $false 0 0 0 5 0
|
||||
Add-Text ('验证建议:' + $Verification) 10 $false 0 0x555555 0 9 0
|
||||
}
|
||||
|
||||
function Add-PageBreak { $selection.InsertBreak(7) }
|
||||
|
||||
Add-Text '' 12 $false 1 0 0 18 0
|
||||
Add-Text '大连元利流体技术有限公司' 22 $true 1 0x8F4A31 0 12 0
|
||||
Add-Text 'MES 系统管理问题清单' 30 $true 1 0x8F4A31 0 16 0
|
||||
Add-Text '操作手册编制发现项(独立文档)' 19 $true 1 0x4D4D4D 0 28 0
|
||||
Add-Text '版本:V1.0' 12 $false 1 0 0 8 0
|
||||
Add-Text '编制日期:2026年7月23日' 12 $false 1 0 0 8 0
|
||||
Add-Text '问题来源:前端代码、正式菜单、数据库对象定义及只读页面检查' 11 $false 1 0 0 24 0
|
||||
Add-Note '安全声明' '本清单通过只读查询、源代码检查和页面查看形成。没有在正式环境执行新增、修改、删除、密码重置、权限分配或其他写操作。涉及写操作的问题未在正式环境提交复现。' 'warn'
|
||||
Add-PageBreak
|
||||
|
||||
Add-Text '目 录' 20 $true 1 0x8F4A31 0 12 0
|
||||
$toc = $doc.TablesOfContents.Add($selection.Range, $true, 1, 3, $true, '', $true, $true, '', $true, $true, $true)
|
||||
Move-End
|
||||
Add-PageBreak
|
||||
|
||||
Add-Heading '1 文档说明' 1
|
||||
Add-Text '本文件只记录系统管理篇编制过程中发现的问题和风险,不与用户操作手册正文混排。问题按业务影响和修复紧迫程度分级,最终是否立项、修复方案和上线时间应由项目负责人、业务负责人及开发人员共同确认。' 10.5 $false 0 0 0 6 0.74
|
||||
Add-Table @(
|
||||
@('级别', '定义', '处理建议'),
|
||||
@('P1 高', '可能造成账号安全、跨系统数据不一致、主数据不可恢复或权限风险', '优先评审,修复前设置管理措施'),
|
||||
@('P2 中', '影响常用查询、维护准确性、审计完整性或容易导致误操作', '纳入近期版本,补充测试用例'),
|
||||
@('P3 低', '文档、可维护性或未启用代码问题,当前业务影响较小', '随版本整理或技术债处理')
|
||||
) @(2.5, 9, 5.5)
|
||||
Add-Note '确认状态说明' '“已确认”表示代码、页面或数据库定义可直接证明;“待测试环境复现”表示风险已从实现中识别,但为避免正式环境产生数据,尚未提交写操作验证。' 'info'
|
||||
|
||||
Add-Heading '2 问题汇总' 1
|
||||
Add-Table @(
|
||||
@('编号', '优先级', '问题摘要', '确认状态'),
|
||||
@('SEC-001', 'P1', '登录和人员接口存在明文密码暴露风险,初始密码固定', '已确认'),
|
||||
@('MENU-001', 'P1', '菜单管理前端发送原始SQL文本,接口授权边界风险', '已确认'),
|
||||
@('WS-001', 'P1', '工位MES与SAP B1写入非原子,失败无补偿', '待测试环境复现'),
|
||||
@('WS-002', 'P1', '工位删除无占用校验,且未同步删除B1资源', '已确认'),
|
||||
@('WS-003', 'P2', '工位名称查询框不生效', '已确认'),
|
||||
@('WS-004', 'P2', '工位名称/工位号校验不完整', '已确认'),
|
||||
@('PER-001', 'P2', '人员“永久删除”提示与实际处理语义不一致', '已确认'),
|
||||
@('LOG-001', 'P2', '报工记录精确匹配、最多100条且无分页', '已确认'),
|
||||
@('MENU-002', 'P2', '菜单结构维护和按钮级权限界面未开放', '已确认'),
|
||||
@('DOC-001', 'P3', '参考手册与当前正式菜单范围不一致', '已确认'),
|
||||
@('WS-005', 'P3', '工位分页回调引用不存在的方法', '已确认')
|
||||
) @(2.4, 2.2, 9, 3.4)
|
||||
|
||||
Add-PageBreak
|
||||
Add-Heading '3 P1 高优先级问题' 1
|
||||
|
||||
Add-Issue 'SEC-001' '密码处理与默认密码存在安全风险' 'P1 高' '已确认' `
|
||||
'人员查询响应包含密码字段;前端虽然显示为星号,仍把返回值保存到页面对象。登录页“记住账号”会把用户输入的密码写入浏览器Cookie并保留7天。新增和重置密码统一使用固定初始密码123456。' `
|
||||
'src/views/SystemMaintenance/PersonnelManagement/index.vue:279、383、460;src/views/login/index.vue:206、243-245;数据库重置过程直接写入固定密码。' `
|
||||
'拥有浏览器本机访问权限、调试权限或接口访问权限的人员可能取得密码;统一初始密码会扩大弱口令和批量撞库风险。' `
|
||||
'后端仅保存加盐哈希;人员查询接口不得返回密码;移除密码Cookie,记住登录应使用短期安全令牌;新账号生成随机一次性密码并强制首次登录修改;重置后立即失效其他会话。' `
|
||||
'在隔离测试环境完成登录、记住账号、创建账号、重置密码和首次改密的安全测试,并检查浏览器Cookie、网络响应和数据库字段。'
|
||||
Add-Figure (Join-Path $prepared 'personnel-list.png') '图3-1 人员页面虽然遮蔽密码,但接口对象仍接收密码字段'
|
||||
|
||||
Add-Issue 'MENU-001' '菜单管理由浏览器发送原始SQL文本' 'P1 高' '已确认' `
|
||||
'菜单管理的角色菜单查询、一级菜单初始化和二级菜单初始化由前端把SELECT语句放在请求name字段中发送给通用接口,其中角色编号直接插入SQL字符串。' `
|
||||
'src/api/BasicData/MenuManagement.js:20-59,getModule、initFisrtLevel、initSecondLevel均使用type=3和原始SQL文本。' `
|
||||
'即使正常页面只允许选择数字角色,攻击者仍可绕过页面直接构造请求。若后端缺少严格白名单和参数化限制,可能形成越权查询或SQL注入入口。' `
|
||||
'改为固定后端接口或存储过程,角色编号使用强类型参数;服务器按当前用户权限校验目标角色;关闭通用任意SQL执行能力;增加安全审计和异常请求告警。' `
|
||||
'由安全人员在测试环境检查通用接口是否允许修改SQL、跨角色查询和非SELECT语句,禁止在正式环境进行攻击性验证。'
|
||||
|
||||
Add-Issue 'WS-001' '工位MES与SAP B1写入缺少一致性保障' 'P1 高' '待测试环境复现' `
|
||||
'新增和编辑工位时先等待MES接口成功,然后调用postB1或patchB1,但B1调用没有await、失败处理、重试或回滚。页面在MES成功后即可提示成功并关闭弹窗。' `
|
||||
'src/views/SystemMaintenance/WorkstationManagement/index.vue:193-205、228-249。' `
|
||||
'B1超时、证书、登录态或业务校验失败时,MES已经成功而B1可能失败,形成同一工位号在两个系统中的名称或存在状态不一致。用户重复提交还可能产生重复资源。' `
|
||||
'将跨系统写入放到后端编排;记录同步状态和错误详情;B1成功后再向页面返回整体成功;失败时执行补偿或进入可重试队列;按工位号实现幂等。' `
|
||||
'测试环境模拟B1成功、超时、业务拒绝和重复编码四种情况,核对MES、B1和页面提示是否一致。'
|
||||
|
||||
Add-Issue 'WS-002' '工位删除无占用校验且未同步B1' 'P1 高' '已确认' `
|
||||
'工位删除存储过程中的菜单/人员占用校验代码已注释,当前直接删除MES_资源主数据;前端删除成功后没有调用SAP B1资源删除或停用接口。' `
|
||||
'src/views/SystemMaintenance/WorkstationManagement/index.vue:257-280;数据库过程“系统管理_工位管理_工位信息删除”直接DELETE,依赖检查为注释。' `
|
||||
'可能删除仍被排产、在制任务、人员绑定、设备或工时使用的工位;同时B1保留资源,造成主数据不一致和历史联查异常。' `
|
||||
'恢复并扩展占用校验;有历史记录时优先停用而不是物理删除;同步B1停用状态;增加删除审批、影响预览和可恢复机制。' `
|
||||
'只在测试环境建立完整的排产、人员绑定和工时引用场景,验证阻止删除、停用和跨系统同步。'
|
||||
|
||||
Add-PageBreak
|
||||
Add-Heading '4 P2 中优先级问题' 1
|
||||
|
||||
Add-Issue 'WS-003' '工位名称查询框不生效' 'P2 中' '已确认' `
|
||||
'页面绑定了工位名称输入框,但searchData构造的参数数组为空,没有把RoleFunctioning传入查询接口。输入任意名称点击查询仍刷新全部工位。' `
|
||||
'src/views/SystemMaintenance/WorkstationManagement/index.vue:4-10、122、163-169;只读页面检查结果与代码一致。' `
|
||||
'工位数量增多后无法快速定位,用户可能误以为没有匹配结果或误操作同名/相近工位。' `
|
||||
'前端把工位名称作为查询参数传入参数化存储过程;后端按业务要求采用包含匹配;增加空条件、中文关键字、无结果和特殊字符测试。' `
|
||||
'测试环境准备多个相近名称工位,验证空条件、部分名称和完整名称查询。'
|
||||
Add-Figure (Join-Path $prepared 'workstation-list.png') '图4-1 工位页面显示查询框,但当前请求未使用输入值' 15
|
||||
|
||||
Add-Issue 'WS-004' '工位校验规则不完整' 'P2 中' '已确认' `
|
||||
'新增只显式检查同名工位,没有在存储过程中预检查工位号重复。编辑的同名检查统计全部记录,包含当前工位本身,因此不修改名称直接保存时也会被判断为同名。' `
|
||||
'数据库过程“系统管理_工位管理_工位信息增加”和“系统管理_工位管理_工位信息修改”;编辑过程的同名条件未排除当前工位号。' `
|
||||
'重复工位号可能依赖数据库异常兜底并产生不友好提示;无变化保存可能失败,增加用户困惑和重复操作。' `
|
||||
'新增时同时校验工位号和名称唯一;编辑时使用“Name=@名称 AND VisCode<>@当前工位号”;后端返回明确错误码和字段级提示。' `
|
||||
'测试空值、重复名称、重复编号、原名称不变、名称仅大小写/空格变化等边界。'
|
||||
|
||||
Add-Issue 'PER-001' '人员删除提示与实际处理语义不一致' 'P2 中' '已确认' `
|
||||
'页面确认文字为“当前人员将永久删除”,成功提示为“人员离职成功”;数据库过程没有物理删除人员主记录,而是写Quit=0并删除人员角色关系。列表通过角色关系联查,因此人员从列表消失。' `
|
||||
'src/views/SystemMaintenance/PersonnelManagement/index.vue:345-366;数据库过程“人员管理_人员信息修改_删除”。' `
|
||||
'管理员难以判断人员是离职、停用还是永久删除;人员主记录仍在但无角色关系,后续重新启用和历史查询缺少明确流程。' `
|
||||
'统一业务语义为“停用/离职”;明确Quit字段状态定义;保留角色历史或增加有效期;页面展示在职/离职状态和恢复入口;禁止使用“永久删除”误导。' `
|
||||
'测试环境验证离职后登录、列表、历史工时、报工记录和重新启用行为。'
|
||||
|
||||
Add-Issue 'LOG-001' '报工操作记录查询能力不足' 'P2 中' '已确认' `
|
||||
'订单编号和操作人采用精确相等;查询最多返回按记录编号倒序的前100条;页面分页控件整体注释,日期和操作类别等已存在的数据字段没有查询入口。' `
|
||||
'src/views/SystemMaintenance/OperationLog/index.vue:63-75、87-93、108-125;数据库过程“系统管理_报工操作记录_查询”使用TOP 100和等值条件。' `
|
||||
'较早或同一订单超过100条的记录无法完整查看;姓名/订单输入不完整时无结果;审计人员无法按时间范围和操作类别定位。' `
|
||||
'增加服务端分页、总数、开始/结束日期和操作类别;订单支持精确优先并可选包含匹配;提供导出并限制最大范围;建立合适索引。' `
|
||||
'使用脱敏测试数据验证跨页、超过100条、时间边界、空条件和导出结果完整性。'
|
||||
Add-Figure (Join-Path $prepared 'operation-log.png') '图4-2 报工操作记录当前仅提供订单编号和操作人条件'
|
||||
|
||||
Add-Issue 'MENU-002' '菜单结构维护和按钮级权限界面未开放' 'P2 中' '已确认' `
|
||||
'页面存在“新增一级模块”弹窗和相关方法,但模板没有可见入口;查询、新增、编辑、删除按钮级权限复选框被注释。当前实际功能只是把既有一级、二级菜单分配给角色。' `
|
||||
'src/views/SystemMaintenance/MenuManagement/index.vue:82-89、152-170、367-393。' `
|
||||
'旧手册描述新增、编辑、删除菜单和权限分配,容易让管理员寻找不存在的功能;页面级授权过粗,不能限制同页写操作。' `
|
||||
'明确产品边界:如不开放结构维护,删除不可达代码并修订文档;如需按钮权限,完成前后端授权校验,不能只依赖前端隐藏按钮。' `
|
||||
'测试不同角色的查询、新增、编辑、删除接口权限,确认直接请求也会被服务器拒绝。'
|
||||
Add-Figure (Join-Path $prepared 'menu-permission.png') '图4-3 当前菜单页实际为角色菜单树分配'
|
||||
|
||||
Add-PageBreak
|
||||
Add-Heading '5 P3 低优先级问题' 1
|
||||
|
||||
Add-Issue 'DOC-001' '参考手册与当前正式菜单不一致' 'P3 低' '已确认' `
|
||||
'参考手册系统管理包含“节假日设定”,但正式数据库菜单没有该页面;正式菜单新增“报工操作记录”,参考手册没有对应章节。项目中还存在OrgManagement页面,但未配置为正式菜单。' `
|
||||
'参考文档系统管理章节;正式表“登录基础数据_二级菜单”;src/views/SystemMaintenance目录。' `
|
||||
'继续沿用旧手册会遗漏正式功能并培训不存在的入口,造成操作人员和实施人员理解不一致。' `
|
||||
'以正式菜单版本为基线建立文档版本号和发布日期;每次菜单上线同步更新手册;未上线页面标注“开发中/停用”而不是混入正式手册。' `
|
||||
'发布前由业务、实施和开发三方按角色逐项核对左侧菜单与手册目录。'
|
||||
|
||||
Add-Issue 'WS-005' '工位分页回调引用不存在的方法' 'P3 低' '已确认' `
|
||||
'工位页面当前没有显示分页控件,但handleSizeChange和handleCurrentChange均调用this.searchTable(),组件实际查询方法名为searchData()。' `
|
||||
'src/views/SystemMaintenance/WorkstationManagement/index.vue:163-175、288-297。' `
|
||||
'当前未触发;如果后续恢复分页控件,切换页码将产生运行时错误,查询无法执行。' `
|
||||
'把回调统一改为searchData,补充组件测试;删除未使用的分页状态或完整实现服务端分页。' `
|
||||
'在测试环境启用分页后验证切换每页条数、页码和末页行为。'
|
||||
|
||||
Add-Heading '6 建议处理顺序' 1
|
||||
Add-Table @(
|
||||
@('阶段', '建议事项', '目标'),
|
||||
@('立即管理措施', '禁用共享账号;不勾选记住密码;限制系统管理权限;禁止直接删除工位;工位变更人工核对MES/B1', '在代码修复前降低安全和数据风险'),
|
||||
@('第一批修复', 'SEC-001、MENU-001、WS-001、WS-002', '处理账号安全、接口授权和跨系统一致性'),
|
||||
@('第二批修复', 'WS-003、WS-004、PER-001、LOG-001、MENU-002', '改善维护准确性、审计完整性和权限粒度'),
|
||||
@('文档与技术债', 'DOC-001、WS-005', '统一正式菜单与文档,清理潜在故障代码')
|
||||
) @(3, 10, 4)
|
||||
|
||||
Add-Heading '7 验收要求' 1
|
||||
Add-ItemList @(
|
||||
'所有写操作问题必须在测试环境复现和回归,不得以正式业务数据作为测试数据。',
|
||||
'涉及账号安全的修改需完成接口响应、Cookie、日志、数据库存储和会话失效检查。',
|
||||
'涉及MES与SAP B1的修改需覆盖单边成功、单边失败、超时、重复请求和补偿重试。',
|
||||
'删除/停用类功能需验证下游占用、历史查询、恢复和审计记录。',
|
||||
'菜单权限必须同时验证页面可见性和后端接口授权,不能只检查按钮是否隐藏。',
|
||||
'修复上线后同步更新操作手册、问题状态、版本号和发布日期。'
|
||||
)
|
||||
Add-Note '结论' '本清单共记录11项:P1高优先级4项、P2中优先级5项、P3低优先级2项。问题清单与操作手册分开交付,便于技术整改和业务培训分别管理。' 'danger'
|
||||
|
||||
foreach ($section in $doc.Sections) {
|
||||
$header = $section.Headers.Item(1).Range
|
||||
$header.Text = '大连元利流体技术有限公司 MES系统 | 系统管理问题清单'
|
||||
$header.Font.NameFarEast = '微软雅黑'
|
||||
$header.Font.Size = 8.5
|
||||
$header.Font.Color = 0x777777
|
||||
$header.ParagraphFormat.Alignment = 2
|
||||
|
||||
$footer = $section.Footers.Item(1).Range
|
||||
$footer.Text = '内部整改使用 '
|
||||
$footer.Font.NameFarEast = '宋体'
|
||||
$footer.Font.Size = 8.5
|
||||
$footer.Font.Color = 0x777777
|
||||
$footer.ParagraphFormat.Alignment = 1
|
||||
$footer.Collapse(0)
|
||||
$footer.Fields.Add($footer, 33) | Out-Null
|
||||
}
|
||||
|
||||
foreach ($item in $doc.TablesOfContents) { $item.Update() }
|
||||
$doc.Fields.Update() | Out-Null
|
||||
$doc.Repaginate()
|
||||
|
||||
if (Test-Path $docxPath) { Remove-Item -LiteralPath $docxPath -Force }
|
||||
if (Test-Path $pdfPath) { Remove-Item -LiteralPath $pdfPath -Force }
|
||||
$doc.SaveAs($docxPath, 12)
|
||||
$doc.ExportAsFixedFormat($pdfPath, 17)
|
||||
$pageCount = $doc.ComputeStatistics(2)
|
||||
$tableCount = $doc.Tables.Count
|
||||
$imageCount = $doc.InlineShapes.Count
|
||||
$doc.Close(0)
|
||||
$doc = $null
|
||||
|
||||
Copy-Item -LiteralPath $docxPath -Destination $desktopDocx -Force
|
||||
Copy-Item -LiteralPath $pdfPath -Destination $desktopPdf -Force
|
||||
|
||||
Write-Output ('DOCX=' + $docxPath)
|
||||
Write-Output ('PDF=' + $pdfPath)
|
||||
Write-Output ('PAGES=' + $pageCount)
|
||||
Write-Output ('TABLES=' + $tableCount)
|
||||
Write-Output ('IMAGES=' + $imageCount)
|
||||
} catch {
|
||||
$buildError = $_
|
||||
Write-Output ('BUILD_ERROR=' + $_.Exception.Message)
|
||||
Write-Output ('BUILD_ERROR_LINE=' + $_.InvocationInfo.ScriptLineNumber)
|
||||
} finally {
|
||||
if ($doc -ne $null) { try { $doc.Close(0) } catch {} }
|
||||
if ($word -ne $null) { try { $word.Quit() } catch {} }
|
||||
[GC]::Collect()
|
||||
[GC]::WaitForPendingFinalizers()
|
||||
}
|
||||
|
||||
if ($buildError -ne $null) { throw $buildError }
|
||||
652
work/system-manual/build-system-manual.ps1
Normal file
@@ -0,0 +1,652 @@
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
Add-Type -AssemblyName System.Drawing
|
||||
|
||||
$root = (Resolve-Path (Join-Path $PSScriptRoot '..\..')).Path
|
||||
$shots = Join-Path $PSScriptRoot 'screenshots'
|
||||
$prepared = Join-Path $PSScriptRoot 'prepared'
|
||||
$docDir = Join-Path $root 'doc'
|
||||
$desktop = [Environment]::GetFolderPath('Desktop')
|
||||
$fileName = '大连元利流体技术有限公司MES系统操作手册_系统管理篇_样稿'
|
||||
$docxPath = Join-Path $docDir ($fileName + '.docx')
|
||||
$pdfPath = Join-Path $docDir ($fileName + '.pdf')
|
||||
$desktopDocx = Join-Path $desktop ($fileName + '.docx')
|
||||
$desktopPdf = Join-Path $desktop ($fileName + '.pdf')
|
||||
|
||||
New-Item -ItemType Directory -Force -Path $prepared, $docDir | Out-Null
|
||||
|
||||
function New-Crop {
|
||||
param(
|
||||
[string]$Source,
|
||||
[string]$Target,
|
||||
[int]$X,
|
||||
[int]$Y,
|
||||
[int]$Width,
|
||||
[int]$Height
|
||||
)
|
||||
$sourceImage = [System.Drawing.Bitmap]::FromFile($Source)
|
||||
try {
|
||||
$cropWidth = [Math]::Min($Width, $sourceImage.Width - $X)
|
||||
$cropHeight = [Math]::Min($Height, $sourceImage.Height - $Y)
|
||||
$targetImage = New-Object System.Drawing.Bitmap($cropWidth, $cropHeight)
|
||||
try {
|
||||
$graphics = [System.Drawing.Graphics]::FromImage($targetImage)
|
||||
try {
|
||||
$graphics.DrawImage(
|
||||
$sourceImage,
|
||||
(New-Object System.Drawing.Rectangle(0, 0, $cropWidth, $cropHeight)),
|
||||
(New-Object System.Drawing.Rectangle($X, $Y, $cropWidth, $cropHeight)),
|
||||
[System.Drawing.GraphicsUnit]::Pixel
|
||||
)
|
||||
} finally {
|
||||
$graphics.Dispose()
|
||||
}
|
||||
$targetImage.Save($Target, [System.Drawing.Imaging.ImageFormat]::Png)
|
||||
} finally {
|
||||
$targetImage.Dispose()
|
||||
}
|
||||
} finally {
|
||||
$sourceImage.Dispose()
|
||||
}
|
||||
}
|
||||
|
||||
Copy-Item (Join-Path $shots '01-personnel-list.png') (Join-Path $prepared 'personnel-list.png') -Force
|
||||
Copy-Item (Join-Path $shots '03-menu-list.png') (Join-Path $prepared 'menu-list.png') -Force
|
||||
Copy-Item (Join-Path $shots '03-menu-permission-panel.png') (Join-Path $prepared 'menu-permission.png') -Force
|
||||
Copy-Item (Join-Path $shots '05-operation-log.png') (Join-Path $prepared 'operation-log.png') -Force
|
||||
New-Crop (Join-Path $shots '01-personnel-add-dialog.png') (Join-Path $prepared 'personnel-add.png') 560 105 800 470
|
||||
New-Crop (Join-Path $shots '02-role-list.png') (Join-Path $prepared 'role-list.png') 0 0 1020 940
|
||||
New-Crop (Join-Path $shots '02-role-add-dialog.png') (Join-Path $prepared 'role-add.png') 560 105 800 390
|
||||
New-Crop (Join-Path $shots '04-workstation-list.png') (Join-Path $prepared 'workstation-list.png') 0 0 1020 940
|
||||
New-Crop (Join-Path $shots '04-workstation-add-dialog.png') (Join-Path $prepared 'workstation-add.png') 560 105 800 450
|
||||
|
||||
$word = $null
|
||||
$doc = $null
|
||||
$buildError = $null
|
||||
|
||||
try {
|
||||
$word = New-Object -ComObject Word.Application
|
||||
$word.Visible = $false
|
||||
$word.DisplayAlerts = 0
|
||||
$doc = $word.Documents.Add()
|
||||
$selection = $word.Selection
|
||||
|
||||
$doc.PageSetup.PageWidth = $word.CentimetersToPoints(21)
|
||||
$doc.PageSetup.PageHeight = $word.CentimetersToPoints(29.7)
|
||||
$doc.PageSetup.TopMargin = $word.CentimetersToPoints(2.2)
|
||||
$doc.PageSetup.BottomMargin = $word.CentimetersToPoints(2.0)
|
||||
$doc.PageSetup.LeftMargin = $word.CentimetersToPoints(2.1)
|
||||
$doc.PageSetup.RightMargin = $word.CentimetersToPoints(2.1)
|
||||
|
||||
$normal = $doc.Styles.Item(-1)
|
||||
$normal.Font.NameFarEast = '宋体'
|
||||
$normal.Font.Name = 'Arial'
|
||||
$normal.Font.Size = 10.5
|
||||
$normal.ParagraphFormat.LineSpacingRule = 1
|
||||
$normal.ParagraphFormat.SpaceAfter = 6
|
||||
|
||||
function Move-End {
|
||||
$end = $doc.Content.End - 1
|
||||
$selection.SetRange($end, $end)
|
||||
}
|
||||
|
||||
function Add-Text {
|
||||
param(
|
||||
[string]$Text,
|
||||
[double]$Size = 10.5,
|
||||
[bool]$Bold = $false,
|
||||
[int]$Align = 0,
|
||||
[int]$Color = 0,
|
||||
[double]$Before = 0,
|
||||
[double]$After = 6,
|
||||
[double]$FirstIndentCm = 0
|
||||
)
|
||||
$selection.Font.NameFarEast = '宋体'
|
||||
$selection.Font.Name = 'Arial'
|
||||
$selection.Font.Size = $Size
|
||||
$selection.Font.Bold = [int]$Bold
|
||||
$selection.Font.Color = $Color
|
||||
$selection.ParagraphFormat.Alignment = $Align
|
||||
$selection.ParagraphFormat.SpaceBefore = $Before
|
||||
$selection.ParagraphFormat.SpaceAfter = $After
|
||||
$selection.ParagraphFormat.FirstLineIndent = $word.CentimetersToPoints($FirstIndentCm)
|
||||
$selection.TypeText($Text)
|
||||
$selection.TypeParagraph()
|
||||
}
|
||||
|
||||
function Add-Heading {
|
||||
param([string]$Text, [int]$Level)
|
||||
$styleId = switch ($Level) { 1 { -2 } 2 { -3 } default { -4 } }
|
||||
$selection.Style = $doc.Styles.Item($styleId)
|
||||
$selection.Font.NameFarEast = '微软雅黑'
|
||||
$selection.Font.Name = 'Arial'
|
||||
$selection.Font.Color = 0x8F4A31
|
||||
$selection.Font.Bold = 1
|
||||
$selection.ParagraphFormat.KeepWithNext = -1
|
||||
$selection.TypeText($Text)
|
||||
$selection.TypeParagraph()
|
||||
$selection.Style = $normal
|
||||
}
|
||||
|
||||
function Add-StepList {
|
||||
param([string[]]$Items)
|
||||
for ($i = 0; $i -lt $Items.Count; $i++) {
|
||||
Add-Text (('{0}. {1}' -f ($i + 1), $Items[$i])) 10.5 $false 0 0 0 4 0
|
||||
}
|
||||
}
|
||||
|
||||
function Add-ItemList {
|
||||
param([string[]]$Items)
|
||||
foreach ($item in $Items) {
|
||||
Add-Text ('(' + ([array]::IndexOf($Items, $item) + 1) + ')' + $item) 10.5 $false 0 0 0 4 0
|
||||
}
|
||||
}
|
||||
|
||||
function Add-Table {
|
||||
param([object[]]$Rows, [double[]]$WidthsCm = @())
|
||||
$range = $selection.Range
|
||||
$table = $doc.Tables.Add($range, $Rows.Count, $Rows[0].Count)
|
||||
$table.Borders.Enable = 1
|
||||
$table.Range.Font.NameFarEast = '宋体'
|
||||
$table.Range.Font.Name = 'Arial'
|
||||
$table.Range.Font.Size = 9
|
||||
$table.Range.ParagraphFormat.SpaceAfter = 0
|
||||
$table.Range.ParagraphFormat.LineSpacingRule = 0
|
||||
for ($r = 0; $r -lt $Rows.Count; $r++) {
|
||||
for ($c = 0; $c -lt $Rows[$r].Count; $c++) {
|
||||
$table.Cell($r + 1, $c + 1).Range.Text = [string]$Rows[$r][$c]
|
||||
$table.Cell($r + 1, $c + 1).VerticalAlignment = 1
|
||||
if ($WidthsCm.Count -gt $c) {
|
||||
$table.Cell($r + 1, $c + 1).Width = $word.CentimetersToPoints($WidthsCm[$c])
|
||||
}
|
||||
}
|
||||
}
|
||||
$table.Rows.Item(1).Range.Bold = 1
|
||||
$table.Rows.Item(1).Shading.BackgroundPatternColor = 0xE6D8D0
|
||||
$table.Rows.Item(1).Range.ParagraphFormat.Alignment = 1
|
||||
$table.AllowAutoFit = -1
|
||||
Move-End
|
||||
$selection.TypeParagraph()
|
||||
}
|
||||
|
||||
function Add-Note {
|
||||
param([string]$Title, [string]$Text, [string]$Kind = 'info')
|
||||
$range = $selection.Range
|
||||
$table = $doc.Tables.Add($range, 1, 1)
|
||||
$table.Borders.Enable = 1
|
||||
$cell = $table.Cell(1, 1)
|
||||
$cell.Range.Text = $Title + ':' + $Text
|
||||
$cell.Range.Font.NameFarEast = '微软雅黑'
|
||||
$cell.Range.Font.Name = 'Arial'
|
||||
$cell.Range.Font.Size = 9.5
|
||||
$cell.Range.Font.Bold = 0
|
||||
$cell.Range.ParagraphFormat.SpaceAfter = 0
|
||||
if ($Kind -eq 'warn') {
|
||||
$cell.Shading.BackgroundPatternColor = 0xD9F2FF
|
||||
} elseif ($Kind -eq 'danger') {
|
||||
$cell.Shading.BackgroundPatternColor = 0xD9E2F3
|
||||
} else {
|
||||
$cell.Shading.BackgroundPatternColor = 0xF4F1EE
|
||||
}
|
||||
Move-End
|
||||
$selection.TypeParagraph()
|
||||
}
|
||||
|
||||
function Add-Figure {
|
||||
param([string]$Path, [string]$Caption, [double]$MaxWidthCm = 16.4)
|
||||
$selection.ParagraphFormat.Alignment = 1
|
||||
$shape = $selection.InlineShapes.AddPicture($Path, $false, $true, $selection.Range)
|
||||
$shape.LockAspectRatio = -1
|
||||
$maxWidth = $word.CentimetersToPoints($MaxWidthCm)
|
||||
if ($shape.Width -gt $maxWidth) { $shape.Width = $maxWidth }
|
||||
$selection.SetRange($shape.Range.End, $shape.Range.End)
|
||||
$selection.TypeParagraph()
|
||||
Add-Text $Caption 9 $false 1 0x777777 0 8 0
|
||||
}
|
||||
|
||||
function Add-PageBreak {
|
||||
$selection.InsertBreak(7)
|
||||
}
|
||||
|
||||
# Cover
|
||||
Add-Text '' 12 $false 1 0 0 20 0
|
||||
Add-Text '大连元利流体技术有限公司' 22 $true 1 0x8F4A31 0 12 0
|
||||
Add-Text 'MES 系统用户操作手册' 30 $true 1 0x8F4A31 0 16 0
|
||||
Add-Text '系统管理篇(样稿)' 24 $true 1 0x4D4D4D 0 30 0
|
||||
Add-Text '版本:V1.0' 12 $false 1 0 0 8 0
|
||||
Add-Text '编制日期:2026年7月23日' 12 $false 1 0 0 8 0
|
||||
Add-Text '适用系统:大连元利 MES 正式环境' 12 $false 1 0 0 28 0
|
||||
Add-Note '编制说明' '本样稿依据现有项目操作手册、当前前端程序、正式菜单配置及数据库只读核对结果编写。截图过程仅登录、查询、打开并取消弹窗,未执行任何新增、修改、删除或保存操作。' 'warn'
|
||||
Add-PageBreak
|
||||
|
||||
Add-Heading '文档修订记录' 1
|
||||
Add-Table @(
|
||||
@('版本', '日期', '修订内容', '说明'),
|
||||
@('V1.0', '2026-07-23', '首次编制系统管理篇样稿', '覆盖当前正式菜单中的五个功能')
|
||||
) @(2, 3, 7, 4)
|
||||
|
||||
Add-Heading '阅读说明' 1
|
||||
Add-ItemList @(
|
||||
'本手册中的【按钮名称】表示页面可点击按钮,“字段名称”表示输入框、下拉框或表格列。',
|
||||
'截图中的业务数据来自正式环境,只用于说明界面;本次编制没有创建测试数据。',
|
||||
'涉及新增、编辑、删除、重置密码、菜单分配的步骤均为操作说明,编制时未实际提交。',
|
||||
'当前正式菜单以数据库配置为准,包括人员管理、菜单管理、角色管理、工位管理、报工操作记录。参考手册中的“节假日设定”不在当前正式菜单,本样稿不纳入。'
|
||||
)
|
||||
Add-PageBreak
|
||||
|
||||
Add-Text '目 录' 20 $true 1 0x8F4A31 0 12 0
|
||||
$tocRange = $selection.Range
|
||||
$toc = $doc.TablesOfContents.Add($tocRange, $true, 1, 3, $true, '', $true, $true, '', $true, $true, $true)
|
||||
Move-End
|
||||
Add-PageBreak
|
||||
|
||||
Add-Heading '1 系统管理概述' 1
|
||||
Add-Text '系统管理用于维护登录账号、角色、角色可见菜单、生产工位主数据,并查询生产报工操作轨迹。该模块中的主数据会被计划排产、生产执行、质量、设备、工时和审计功能共同使用,因此操作人员应具备系统管理员权限,并在修改前确认影响范围。' 10.5 $false 0 0 0 6 0.74
|
||||
|
||||
Add-Heading '1.1 功能范围' 2
|
||||
Add-Table @(
|
||||
@('序号', '功能', '主要用途', '是否会写入数据'),
|
||||
@('1', '人员管理', '维护账号、姓名、角色、班组及密码', '查询不写入;新增/编辑/重置/删除会写入'),
|
||||
@('2', '角色管理', '维护角色名称', '查询不写入;新增/编辑/删除会写入'),
|
||||
@('3', '菜单管理', '按角色分配或移除一级、二级菜单', '过滤不写入;分配/移除会写入'),
|
||||
@('4', '工位管理', '维护生产工位名称和工位号', '查询不写入;新增/编辑/删除会写入'),
|
||||
@('5', '报工操作记录', '按订单或操作人查询生产操作轨迹', '只读查询')
|
||||
) @(1.2, 3, 7.6, 4.2)
|
||||
|
||||
Add-Heading '1.2 数据关系总览' 2
|
||||
Add-Table @(
|
||||
@('上游/主数据', '本模块关系', '下游使用位置', '变更影响'),
|
||||
@('角色主数据', '角色管理创建角色;菜单管理为角色分配页面', '用户登录后的左侧菜单和页面访问范围', '角色改名会同步显示;菜单变更通常需重新登录后验证'),
|
||||
@('人员主数据 + 人员角色关系', '人员管理把账号关联到一个角色,并可维护班组', '登录、排产指派、人员绑定、班次、工时、报工操作人', '更换角色会改变菜单;删除角色关系后账号不再出现在人员列表'),
|
||||
@('MES资源主数据(工位)', '工位管理维护工位号和工位名称', '排产、加工中心、人员绑定、设备/工位查询、工时记录', '新增/改名还会调用 SAP B1 Resources;删除当前仅删除MES记录'),
|
||||
@('生产执行动作', '开始、结束、报工、辅助等动作形成操作记录', '报工操作记录页面用于追溯订单、人员、工位和工时', '本页面不反向修改生产数据')
|
||||
) @(3.5, 4.5, 5.2, 4.4)
|
||||
Add-Note '推荐顺序' '新增账号时,先确认角色,再配置角色菜单,最后新增人员并验证登录;新增工位时,先确认工位号和名称,再维护工位,随后到人员绑定或计划相关页面完成下游配置。' 'info'
|
||||
|
||||
Add-Heading '1.3 通用查询与安全原则' 2
|
||||
Add-ItemList @(
|
||||
'空白查询条件通常表示不限制该字段;多个条件同时填写时按“并且”组合。',
|
||||
'带“×”或清除图标的输入框可先清空,再点击【查询】恢复全量或默认结果。',
|
||||
'分页页面可切换每页10、20、30、40条;切换每页条数后从第1页重新查询。',
|
||||
'红色【删除】和所有确认弹窗均属于写操作。正式环境中应先确认下游占用和回退方案。',
|
||||
'本手册不要求使用示例数据验证写操作;如需验证,应在测试环境完成。'
|
||||
)
|
||||
|
||||
Add-PageBreak
|
||||
Add-Heading '2 人员管理' 1
|
||||
Add-Text '入口:左侧菜单【系统管理】→【人员管理】。该页面用于维护能够登录MES的人员账号,以及账号对应的角色和班组。人员角色关系直接决定登录后的可见菜单;人员姓名、工号和班组还会被排产、生产、人员绑定、班次、工时等功能引用。' 10.5 $false 0 0 0 6 0.74
|
||||
Add-Figure (Join-Path $prepared 'personnel-list.png') '图2-1 人员管理列表(正式环境只读截图)'
|
||||
|
||||
Add-Heading '2.1 页面字段' 2
|
||||
Add-Table @(
|
||||
@('区域', '字段/按钮', '说明'),
|
||||
@('查询区', '姓名', '按姓名关键字模糊匹配,可输入完整姓名或其中一部分'),
|
||||
@('查询区', '角色', '从现有角色中选择,按角色编号精确过滤'),
|
||||
@('列表', '姓名、工号、密码、角色、班组', '密码固定显示为“******”,页面不展示明文'),
|
||||
@('操作', '重置密码、编辑、删除', '分别重置初始密码、维护人员资料、解除人员登录角色关系'),
|
||||
@('分页', '总数、每页条数、页码、跳页', '默认每页10条,可选10/20/30/40条')
|
||||
) @(2.3, 4.2, 10.5)
|
||||
|
||||
Add-Heading '2.2 搜索与过滤' 2
|
||||
Add-StepList @(
|
||||
'在“姓名”中输入关键字;不填写表示不限制姓名。',
|
||||
'在“角色”下拉框中选择一个角色;不选择表示不限制角色。',
|
||||
'点击【查询】。姓名和角色同时填写时,系统只显示同时满足两个条件的人员。',
|
||||
'如无结果,先清空一个条件再查询,并确认当前页码;必要时返回第1页。'
|
||||
)
|
||||
Add-Table @(
|
||||
@('条件示例', '匹配方式', '结果说明'),
|
||||
@('姓名=“张”', '包含匹配', '姓名中包含“张”的人员'),
|
||||
@('角色=“计划员”', '精确匹配角色', '关联到计划员角色的人员'),
|
||||
@('姓名=“张” 且 角色=“计划员”', '两个条件取交集', '同时满足姓名关键字和角色的人员'),
|
||||
@('两个条件均为空', '不限制', '按人员内部编号倒序分页显示')
|
||||
) @(5, 4, 8)
|
||||
|
||||
Add-Heading '2.3 新增人员' 2
|
||||
Add-Figure (Join-Path $prepared 'personnel-add.png') '图2-2 新增人员弹窗'
|
||||
Add-StepList @(
|
||||
'点击【新增】打开“增加人员”弹窗。',
|
||||
'填写“姓名”和“工号”,并从“角色”下拉框选择角色。三项均为必填。',
|
||||
'核对工号未被其他账号使用后,点击【确定】。点击【取消】不会产生数据。',
|
||||
'新增成功后列表回到第1页,并按默认每页10条重新查询。'
|
||||
)
|
||||
Add-Note '初始密码' '新增人员的初始密码由系统固定为 123456,弹窗不显示密码输入框。应通知本人首次登录后按公司密码管理要求处理,避免长期使用初始密码。' 'warn'
|
||||
Add-Note '数据关系' '保存时同时创建人员基本记录和“人员—角色”关联。新增弹窗不能维护班组;如需班组,新增后使用【编辑】补充。工号已存在时新增失败。' 'info'
|
||||
|
||||
Add-Heading '2.4 编辑人员' 2
|
||||
Add-StepList @(
|
||||
'在目标人员行点击【编辑】。',
|
||||
'可修改姓名、班组和角色;工号为只读,不能在编辑弹窗中更换。',
|
||||
'班组可选装配、电气、机加、质检、技术、计划、库房、采购、销售、售后、工艺、其他,也可清空。',
|
||||
'点击【确定】写入人员资料并更新该人员的角色关联;点击【取消】放弃修改。'
|
||||
)
|
||||
Add-Note '影响范围' '修改角色后,该账号下一次登录加载的新菜单以目标角色的菜单配置为准;修改姓名或班组会影响后续页面中的人员显示和筛选,但历史业务记录通常保留原记录内容。' 'warn'
|
||||
|
||||
Add-Heading '2.5 重置密码' 2
|
||||
Add-StepList @(
|
||||
'在目标人员行点击【重置密码】。',
|
||||
'核对人员姓名和工号,在确认框点击【确定】。',
|
||||
'系统将密码重置为 123456,并提示“密码重置成功”。点击【取消】不做任何修改。'
|
||||
)
|
||||
|
||||
Add-Heading '2.6 删除人员' 2
|
||||
Add-StepList @(
|
||||
'先确认该人员不再需要登录,并完成在办任务、工位绑定、班次和责任事项交接。',
|
||||
'点击该行【删除】,在“当前人员将永久删除”确认框中再次核对。',
|
||||
'点击【确定】后,系统移除人员与角色的关联,列表提示“人员离职成功”;点击【取消】不做修改。'
|
||||
)
|
||||
Add-Note '重要说明' '当前实现不是物理删除全部人员历史,而是移除人员角色关联,使其不再出现在本页联查结果中。已有报工、工时、检验等历史业务记录不会随此操作级联删除。' 'danger'
|
||||
|
||||
Add-PageBreak
|
||||
Add-Heading '3 角色管理' 1
|
||||
Add-Text '入口:左侧菜单【系统管理】→【角色管理】。角色是人员和菜单之间的中间层:人员选择角色,菜单管理再为角色分配页面。角色名称用于界面展示,角色编号用于保持人员、菜单关联。' 10.5 $false 0 0 0 6 0.74
|
||||
Add-Figure (Join-Path $prepared 'role-list.png') '图3-1 角色管理列表(右侧空白为当前页面布局)' 15
|
||||
|
||||
Add-Heading '3.1 搜索与分页' 2
|
||||
Add-StepList @(
|
||||
'在“角色功能”输入角色名称关键字。',
|
||||
'点击【查询】;系统按包含关系模糊匹配角色名称。',
|
||||
'清空输入框后再次查询可恢复全部普通角色。',
|
||||
'列表默认每页10条,可选10/20/30/40条并支持跳页。'
|
||||
)
|
||||
Add-Note '系统保留角色' '超级管理员(角色编号1)被查询逻辑排除,不会显示在角色管理列表和人员页面的角色下拉框中,避免通过普通维护误改。' 'info'
|
||||
|
||||
Add-Heading '3.2 新增角色' 2
|
||||
Add-Figure (Join-Path $prepared 'role-add.png') '图3-2 新增角色弹窗'
|
||||
Add-StepList @(
|
||||
'点击【新增】。',
|
||||
'填写唯一的“角色功能”名称,如岗位或职责名称。该字段必填。',
|
||||
'点击【确定】创建角色;存在同名角色时系统提示失败。点击【取消】不产生数据。',
|
||||
'角色创建后还没有菜单权限,应进入【菜单管理】完成分配,再用于人员账号。'
|
||||
)
|
||||
|
||||
Add-Heading '3.3 编辑角色' 2
|
||||
Add-StepList @(
|
||||
'在目标角色行点击【编辑】。',
|
||||
'修改角色名称后点击【确定】。系统校验不能与其他角色重名。',
|
||||
'编辑只修改显示名称,角色编号不变,因此原有人员关联和菜单配置仍保留。'
|
||||
)
|
||||
|
||||
Add-Heading '3.4 删除角色' 2
|
||||
Add-StepList @(
|
||||
'先在人员管理中把该角色下的人员调整到其他角色。',
|
||||
'再到菜单管理逐项移除该角色下的二级菜单,最后移除一级菜单。',
|
||||
'返回角色管理点击【删除】,确认后完成删除。'
|
||||
)
|
||||
Add-Table @(
|
||||
@('系统提示', '原因', '处理方法'),
|
||||
@('当前角色已经分配了菜单', '角色仍有关联菜单记录', '到菜单管理先移除子菜单,再移除一级菜单'),
|
||||
@('当前角色已经分配了人员', '仍有人员使用该角色', '到人员管理把相关人员改为其他角色'),
|
||||
@('删除成功', '菜单和人员关联均已解除', '角色从角色主数据中删除')
|
||||
) @(5.2, 5.2, 6.6)
|
||||
|
||||
Add-PageBreak
|
||||
Add-Heading '4 菜单管理' 1
|
||||
Add-Text '入口:左侧菜单【系统管理】→【菜单管理】。当前正式页面用于“给角色分配菜单”,不是维护菜单名称、路径或页面代码。菜单数据在用户登录时转换为动态路由,因此分配结果决定该角色登录后左侧导航栏显示哪些模块。' 10.5 $false 0 0 0 6 0.74
|
||||
Add-Figure (Join-Path $prepared 'menu-list.png') '图4-1 菜单管理初始页面(尚未选择角色)'
|
||||
|
||||
Add-Heading '4.1 三栏布局与过滤' 2
|
||||
Add-Table @(
|
||||
@('位置', '内容', '过滤规则'),
|
||||
@('顶部角色下拉框', '选择待配置的普通角色', '支持在下拉框中输入关键字筛选角色'),
|
||||
@('左栏:一级模块', '系统管理、计划排产、生产管理等一级菜单模板', '输入关键字后按模块名称包含匹配'),
|
||||
@('中栏:已分配菜单树', '当前角色已拥有的一级和二级菜单', '输入关键字后按树节点名称包含匹配'),
|
||||
@('右栏:二级菜单', '全部页面菜单及其所属一级模块路径', '输入关键字后按二级模块名称包含匹配')
|
||||
) @(3.5, 7, 6.5)
|
||||
Add-Note '过滤性质' '三栏关键字过滤均在当前已加载列表中即时执行,不会修改权限,也不需要点击查询按钮。清空关键字即可恢复该栏全部内容。' 'info'
|
||||
|
||||
Add-Figure (Join-Path $prepared 'menu-permission.png') '图4-2 选择“管理员”后的已分配菜单树'
|
||||
|
||||
Add-Heading '4.2 分配一级菜单' 2
|
||||
Add-StepList @(
|
||||
'在顶部选择目标角色,中栏随即加载该角色现有菜单。',
|
||||
'在左栏勾选一个或多个一级模块。已分配的一级模块复选框不可重复选择。',
|
||||
'点击左栏与中栏之间的向右箭头。',
|
||||
'在确认框核对角色和选择项,点击【确定】完成分配;点击【取消】不写入。'
|
||||
)
|
||||
Add-Note '数据关系' '一级菜单以超级管理员的菜单模板为来源,分配时复制到目标角色的菜单配置中。一级菜单只是目录;要看到具体页面,还需继续分配二级菜单。' 'info'
|
||||
|
||||
Add-Heading '4.3 分配二级菜单' 2
|
||||
Add-StepList @(
|
||||
'在中栏仅勾选一个一级菜单,作为二级菜单的归属目录。',
|
||||
'在右栏勾选一个或多个二级菜单。已分配的二级菜单不可重复选择。',
|
||||
'点击中栏与右栏之间的向左箭头。',
|
||||
'确认后,所选页面加入目标角色的目标一级目录。'
|
||||
)
|
||||
Add-Note '校验规则' '必须且只能选择一个中栏一级菜单;选中二级节点或同时选多个节点时,箭头不可用或系统提示“只可以分配给一个一级菜单”。' 'warn'
|
||||
|
||||
Add-Heading '4.4 移除菜单' 2
|
||||
Add-StepList @(
|
||||
'在中栏找到要撤回的二级菜单,必要时使用顶部关键字过滤。',
|
||||
'点击该二级菜单右侧【移除】,在确认框点击【确定】。',
|
||||
'如需移除一级菜单,必须先移除其全部二级菜单;有子节点时一级菜单的【移除】不可用。',
|
||||
'全部子菜单移除后,再移除空的一级菜单。'
|
||||
)
|
||||
Add-Note '生效验证' '菜单变更后,应让目标账号退出并重新登录,核对左侧导航。移除菜单会影响页面入口,但不删除该页面产生的历史业务数据。' 'danger'
|
||||
|
||||
Add-Heading '4.5 当前页面边界' 2
|
||||
Add-ItemList @(
|
||||
'当前页面未提供可见的“新增菜单、编辑菜单名称、修改路径、删除菜单模板”入口。',
|
||||
'页面代码中的查询/新增/编辑/删除按钮级权限控件处于停用状态,当前只分配页面级菜单。',
|
||||
'因此正式操作中不要把本页理解为菜单结构设计器;新页面上线需由开发/实施人员维护模板和路由。'
|
||||
)
|
||||
|
||||
Add-PageBreak
|
||||
Add-Heading '5 工位管理' 1
|
||||
Add-Text '入口:左侧菜单【系统管理】→【工位管理】。工位是生产任务、设备、人员绑定和工时记录的共同基础数据。列表只显示有效的机加工资源,以及名称为“外协”的特殊资源。' 10.5 $false 0 0 0 6 0.74
|
||||
Add-Figure (Join-Path $prepared 'workstation-list.png') '图5-1 工位管理列表(右侧空白为当前页面布局)' 15
|
||||
|
||||
Add-Heading '5.1 列表与查询' 2
|
||||
Add-Table @(
|
||||
@('字段/按钮', '说明'),
|
||||
@('工位名称', '业务人员识别工位的显示名称'),
|
||||
@('工位号', '工位唯一业务编码,供MES与SAP B1资源关联'),
|
||||
@('编辑', '只允许修改工位名称,工位号保持不变'),
|
||||
@('删除', '从MES资源主数据删除该工位'),
|
||||
@('查询', '当前版本刷新全部工位列表')
|
||||
) @(5, 12)
|
||||
Add-Note '当前限制' '页面虽然显示“工位名称”输入框,但当前查询请求没有传递该字段。无论输入什么内容,点击【查询】都会重新加载全部工位,不能按名称过滤。' 'warn'
|
||||
|
||||
Add-Heading '5.2 新增工位' 2
|
||||
Add-Figure (Join-Path $prepared 'workstation-add.png') '图5-2 新增工位弹窗'
|
||||
Add-StepList @(
|
||||
'点击【新增】。',
|
||||
'填写“工位名称”和“工位号”,两项均为必填。工位号应沿用公司现有编码规则。',
|
||||
'确认名称未重复、工位号未占用后点击【确定】;点击【取消】不产生数据。',
|
||||
'MES新增成功后,前端同时向 SAP B1 Resources 创建类型为 rtMachine 的资源。'
|
||||
)
|
||||
Add-Note '保存前检查' '正式环境不得用临时名称或测试编码尝试保存。新增会同时影响MES和SAP B1,失败时应分别核对两端是否一致,避免重复创建。' 'danger'
|
||||
|
||||
Add-Heading '5.3 编辑工位' 2
|
||||
Add-StepList @(
|
||||
'在目标工位行点击【编辑】。',
|
||||
'修改工位名称。工位号作为关联键不在编辑弹窗中开放修改。',
|
||||
'点击【确定】后,MES更新资源名称,并调用 SAP B1 Resources 按同一工位号更新名称。',
|
||||
'如新名称已被其他工位使用,系统提示“存在同名工位”。'
|
||||
)
|
||||
|
||||
Add-Heading '5.4 删除工位' 2
|
||||
Add-StepList @(
|
||||
'先确认工位没有未完排产、在制任务、人员绑定、设备关联和进行中的工时记录。',
|
||||
'记录工位号和名称,确认已具备可恢复依据。',
|
||||
'点击【删除】,在确认框点击【确定】后从MES资源主数据删除。'
|
||||
)
|
||||
Add-Note '高风险操作' '当前删除过程没有启用菜单/人员等占用校验,也没有调用 SAP B1 删除资源。删除可能造成MES与SAP B1不一致,并影响历史关联查询。未经业务负责人和系统管理员确认,不应执行。' 'danger'
|
||||
|
||||
Add-Heading '5.5 下游数据关系' 2
|
||||
Add-Table @(
|
||||
@('下游功能', '使用方式', '变更影响'),
|
||||
@('计划排产/工位计划', '作为指派对象或工位维度', '改名后新查询显示新名称;删除会使后续选择缺失'),
|
||||
@('生产执行/加工中心', '定位任务执行工位并形成操作记录', '错误工位会影响报工归属和工时统计'),
|
||||
@('人员绑定/班次', '建立人员与工位的可执行关系', '删除前必须解除或确认绑定'),
|
||||
@('设备与工时', '关联设备状态、人员工时、设备工时', '删除可能导致历史或在制数据无法正常联查'),
|
||||
@('SAP B1 Resources', '新增和改名时以工位号同步资源', '两端应使用同一编码和名称')
|
||||
) @(4, 6, 7)
|
||||
|
||||
Add-PageBreak
|
||||
Add-Heading '6 报工操作记录' 1
|
||||
Add-Text '入口:左侧菜单【系统管理】→【报工操作记录】。该页面是只读审计页面,用于追溯生产执行产生的操作轨迹,不提供新增、编辑、删除或导出。进入页面后自动加载最新记录。' 10.5 $false 0 0 0 6 0.74
|
||||
Add-Figure (Join-Path $prepared 'operation-log.png') '图6-1 报工操作记录(正式环境只读截图)'
|
||||
|
||||
Add-Heading '6.1 搜索与过滤' 2
|
||||
Add-StepList @(
|
||||
'按订单追溯时,在“订单编号”输入完整订单编号。',
|
||||
'按人员追溯时,在“操作人”输入完整姓名。',
|
||||
'两个条件可同时填写,系统只返回订单编号和操作人均完全相同的记录。',
|
||||
'点击【查询】;清空两个条件后查询,恢复最新100条记录。'
|
||||
)
|
||||
Add-Table @(
|
||||
@('条件', '匹配方式', '注意事项'),
|
||||
@('订单编号', '精确相等', '不支持包含匹配;少字符、多空格或编号不完整均可能无结果'),
|
||||
@('操作人', '精确相等', '应使用系统记录中的完整姓名'),
|
||||
@('订单编号 + 操作人', '两个条件取交集', '适合核对某人在指定订单上的操作'),
|
||||
@('均为空', '最新记录', '按记录内部编号倒序,仅返回前100条')
|
||||
) @(4.5, 4, 8.5)
|
||||
Add-Note '当前限制' '页面分页控件已停用,后端每次最多返回最新100条。较早记录如不在最近100条内,必须填写准确订单编号或操作人缩小范围,但同一条件仍只返回该结果集最新100条。' 'warn'
|
||||
|
||||
Add-Heading '6.2 表格字段说明' 2
|
||||
Add-Table @(
|
||||
@('字段组', '字段', '业务含义'),
|
||||
@('业务定位', '订单编号、合同号、物料编号、物料描述', '定位生产订单及对应产品/零件'),
|
||||
@('工艺与资源', '工序名称、工位名称', '说明在哪一道工序、哪个工位发生操作'),
|
||||
@('人员与动作', '操作人、操作类别、操作数值、操作描述', '说明谁执行了什么动作及数量/补充说明'),
|
||||
@('时间与工时', '开始时间、结束时间、人员工时、设备工时', '用于核对动作区间及工时结果'),
|
||||
@('审计信息', '最后编辑人、最后编辑时间', '识别记录后续调整责任人和时间')
|
||||
) @(3, 6, 8)
|
||||
|
||||
Add-Heading '6.3 前后数据关系' 2
|
||||
Add-Table @(
|
||||
@('前序动作', '形成的记录信息', '本页用途'),
|
||||
@('开始加工/辅助开始', '操作类别、订单、工序、工位、操作人、开始时间', '核对任务是否启动、由谁启动'),
|
||||
@('报工/辅助结束/加工结束', '结束时间、操作数值、人员工时、设备工时', '核对报工数量和工时结果'),
|
||||
@('后续编辑', '最后编辑人、最后编辑时间、操作描述', '追溯调整人员和调整时间')
|
||||
) @(5, 7, 5)
|
||||
Add-Note '审计原则' '本页数据来自生产执行操作记录表,只用于查询展示。发现异常时应回到对应生产任务、工时或业务处理页面核对,不能在本页直接更改记录。' 'info'
|
||||
|
||||
Add-PageBreak
|
||||
Add-Heading '7 典型业务链路' 1
|
||||
Add-Heading '7.1 新增可登录人员' 2
|
||||
Add-StepList @(
|
||||
'在角色管理确认目标角色存在;没有时创建唯一角色名称。',
|
||||
'在菜单管理选择该角色,先分配一级菜单,再分配二级页面。',
|
||||
'在人员管理新增姓名、工号和角色;系统使用初始密码123456。',
|
||||
'如需班组,新增成功后编辑人员补充班组。',
|
||||
'让本人登录验证菜单范围,禁止使用正式业务写操作做权限测试。'
|
||||
)
|
||||
|
||||
Add-Heading '7.2 下线一个角色' 2
|
||||
Add-StepList @(
|
||||
'在人员管理按角色筛选,逐一把人员调整到其他有效角色。',
|
||||
'在菜单管理选择原角色,先移除所有二级菜单,再移除一级菜单。',
|
||||
'在角色管理删除角色。若仍提示占用,返回前两步继续核对。',
|
||||
'保留变更审批或操作记录,以便追溯权限调整。'
|
||||
)
|
||||
|
||||
Add-Heading '7.3 新增生产工位' 2
|
||||
Add-StepList @(
|
||||
'由生产、设备、计划和系统管理员共同确认工位号、工位名称及SAP B1资源规则。',
|
||||
'在工位管理一次性准确填写并保存,避免用测试编码试录。',
|
||||
'核对MES工位列表和SAP B1 Resources是否一致。',
|
||||
'再到人员绑定、设备或计划页面完成下游关系配置。',
|
||||
'使用只读查询验证可选项,不创建正式生产任务作为测试。'
|
||||
)
|
||||
|
||||
Add-Heading '7.4 追溯一次报工操作' 2
|
||||
Add-StepList @(
|
||||
'优先取得完整订单编号,在报工操作记录中精确查询。',
|
||||
'如需进一步缩小范围,再填写完整操作人姓名。',
|
||||
'横向滚动核对合同、物料、工序、工位、开始/结束时间和工时。',
|
||||
'结合最后编辑人、最后编辑时间判断是否发生后续调整。',
|
||||
'需要纠正时转到对应业务页面,并按审批流程处理。'
|
||||
)
|
||||
|
||||
Add-Heading '8 常见问题' 1
|
||||
Add-Table @(
|
||||
@('问题', '原因判断', '处理建议'),
|
||||
@('人员查询不到', '姓名/角色组合无匹配,或人员角色关联已移除', '清空条件并回到第1页;确认人员是否已执行删除/离职'),
|
||||
@('新账号登录后没有菜单', '角色尚未配置一级/二级菜单,或登录会话未刷新', '菜单管理补充分配后退出并重新登录'),
|
||||
@('角色删除失败', '角色仍分配菜单或人员', '先转移人员,再按“二级→一级”顺序移除菜单'),
|
||||
@('工位名称输入后仍显示全部', '当前版本未把名称条件传给查询接口', '按列表滚动查找;不要反复输入或保存测试数据'),
|
||||
@('工位编辑提示同名', '目标名称已被资源主数据占用', '核对现有工位名称,使用经审批的唯一名称'),
|
||||
@('报工记录查询不到', '页面使用精确匹配,且最多返回最新100条', '输入完整订单编号/操作人,检查空格和编号格式'),
|
||||
@('菜单无法移除一级模块', '一级模块仍有子菜单', '先逐个移除二级菜单,再移除一级模块')
|
||||
) @(5, 6, 6)
|
||||
|
||||
Add-Heading '9 正式环境操作红线' 1
|
||||
Add-ItemList @(
|
||||
'不得使用“测试、test、临时”等数据在正式环境验证新增功能。',
|
||||
'不得通过新增后删除的方式验证操作流程;删除不一定能恢复全部上下游关系。',
|
||||
'不得直接删除仍有关联任务、人员、菜单、设备或工时的角色和工位。',
|
||||
'重置密码、分配菜单、人员换角色均应取得授权,并通知受影响人员。',
|
||||
'涉及SAP B1同步的工位新增/改名,必须核对两端结果;异常时停止重复提交。',
|
||||
'所有截图、查询和核对优先使用只读操作;写操作应按审批、备份和回退方案执行。'
|
||||
)
|
||||
|
||||
Add-Heading '附录A 技术数据关系(供管理员核对)' 1
|
||||
Add-Table @(
|
||||
@('功能', '主要数据对象', '关系说明'),
|
||||
@('人员管理', '登录基础数据_人员信息;登录基础数据_人员权限角色', '人员主记录通过人员编号关联角色编号'),
|
||||
@('角色管理', '登录基础数据_角色信息', '角色编号被人员关系和菜单配置引用'),
|
||||
@('菜单管理', '登录基础数据_二级菜单', '同一菜单模板按角色编号形成角色菜单配置'),
|
||||
@('工位管理', 'MES_资源主数据;View_基础数据_工位;SAP B1 Resources', '工位号/VisCode为跨系统关联键,名称用于显示'),
|
||||
@('报工操作记录', 'YL_加工中心_操作记录表', '生产动作写入,本页按订单或操作人只读查询')
|
||||
) @(4, 7, 6)
|
||||
|
||||
Add-Text '—— 系统管理篇结束 ——' 11 $true 1 0x777777 18 0 0
|
||||
Write-Output 'PROGRESS=content-complete'
|
||||
|
||||
# Header and footer
|
||||
foreach ($section in $doc.Sections) {
|
||||
$header = $section.Headers.Item(1).Range
|
||||
$header.Text = '大连元利流体技术有限公司 MES系统操作手册 | 系统管理篇'
|
||||
$header.Font.NameFarEast = '微软雅黑'
|
||||
$header.Font.Size = 8.5
|
||||
$header.Font.Color = 0x777777
|
||||
$header.ParagraphFormat.Alignment = 2
|
||||
|
||||
$footer = $section.Footers.Item(1).Range
|
||||
$footer.Text = '内部使用 '
|
||||
$footer.Font.NameFarEast = '宋体'
|
||||
$footer.Font.Size = 8.5
|
||||
$footer.Font.Color = 0x777777
|
||||
$footer.ParagraphFormat.Alignment = 1
|
||||
$footer.Collapse(0)
|
||||
$footer.Fields.Add($footer, 33) | Out-Null
|
||||
}
|
||||
|
||||
Write-Output 'PROGRESS=headers-complete'
|
||||
foreach ($item in $doc.TablesOfContents) { $item.Update() }
|
||||
$doc.Fields.Update() | Out-Null
|
||||
$doc.Repaginate()
|
||||
Write-Output 'PROGRESS=fields-complete'
|
||||
|
||||
if (Test-Path $docxPath) { Remove-Item -LiteralPath $docxPath -Force }
|
||||
if (Test-Path $pdfPath) { Remove-Item -LiteralPath $pdfPath -Force }
|
||||
$doc.SaveAs($docxPath, 12)
|
||||
Write-Output 'PROGRESS=docx-saved'
|
||||
$doc.ExportAsFixedFormat($pdfPath, 17)
|
||||
Write-Output 'PROGRESS=pdf-saved'
|
||||
$pageCount = $doc.ComputeStatistics(2)
|
||||
$doc.Close(0)
|
||||
$doc = $null
|
||||
|
||||
Copy-Item -LiteralPath $docxPath -Destination $desktopDocx -Force
|
||||
Copy-Item -LiteralPath $pdfPath -Destination $desktopPdf -Force
|
||||
|
||||
Write-Output ('DOCX=' + $docxPath)
|
||||
Write-Output ('PDF=' + $pdfPath)
|
||||
Write-Output ('DESKTOP_DOCX=' + $desktopDocx)
|
||||
Write-Output ('DESKTOP_PDF=' + $desktopPdf)
|
||||
Write-Output ('PAGES=' + $pageCount)
|
||||
} catch {
|
||||
$buildError = $_
|
||||
Write-Output ('BUILD_ERROR=' + $_.Exception.Message)
|
||||
Write-Output ('BUILD_ERROR_LINE=' + $_.InvocationInfo.ScriptLineNumber)
|
||||
} finally {
|
||||
if ($doc -ne $null) { try { $doc.Close(0) } catch {} }
|
||||
if ($word -ne $null) { try { $word.Quit() } catch {} }
|
||||
[GC]::Collect()
|
||||
[GC]::WaitForPendingFinalizers()
|
||||
}
|
||||
|
||||
if ($buildError -ne $null) { throw $buildError }
|
||||
412
work/system-manual/capture-full-manual-pages.js
Normal file
@@ -0,0 +1,412 @@
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const WebSocket = require('ws')
|
||||
|
||||
const outputDir = path.resolve(__dirname, 'full-screenshots')
|
||||
const pageFilter = new Set(String(process.env.MES_MANUAL_PAGE_FILTER || '').split('|').filter(Boolean))
|
||||
const manifestPath = path.join(outputDir, pageFilter.size ? 'manifest-recapture.json' : 'manifest.json')
|
||||
const baseUrl = process.env.MES_MANUAL_BASE_URL || 'https://127.0.0.1:1998'
|
||||
const debugPort = process.env.MES_MANUAL_DEBUG_PORT || '9223'
|
||||
const captureDelay = Number(process.env.MES_MANUAL_CAPTURE_DELAY || 5000)
|
||||
const loginUser = process.env.MES_MANUAL_USER
|
||||
const loginPassword = process.env.MES_MANUAL_PASSWORD
|
||||
const loginRole = process.env.MES_MANUAL_ROLE
|
||||
const loginPersonnelId = process.env.MES_MANUAL_PERSONNEL_ID || '1'
|
||||
const loginName = process.env.MES_MANUAL_PERSONNEL_NAME || '超级管理员'
|
||||
const loginAccount = process.env.MES_MANUAL_ACCOUNT || '0000'
|
||||
|
||||
fs.mkdirSync(outputDir, { recursive: true })
|
||||
|
||||
const modules = [
|
||||
{
|
||||
key: 'device',
|
||||
title: '设备管理',
|
||||
pages: [
|
||||
['设备信息维护', '/DeviceManagement/DeviceInformation/index', 'DeviceManagement/DeviceInformation/index.vue'],
|
||||
['设备数据', '/DeviceManagement/Devicedata/index', 'DeviceManagement/Devicedata/index.vue'],
|
||||
['设备历史数据', '/DeviceManagement/DeviceDataHistory/index', 'DeviceManagement/DeviceDataHistory/index.vue'],
|
||||
['实时数据', '/DeviceManagement/DeviceRealData/index', 'DeviceManagement/DeviceRealData/index.vue']
|
||||
]
|
||||
},
|
||||
{
|
||||
key: 'research',
|
||||
title: '研发管理',
|
||||
pages: [
|
||||
['设计任务', '/ResearchManagement/DesignReportTask/Task/index', 'ProductionManagement/DesignReportTask/Task/index.vue'],
|
||||
['设计报工', '/ResearchManagement/DesignReportTask/Report/index', 'ProductionManagement/DesignReportTask/Report/index.vue'],
|
||||
['设计工时校验', '/ResearchManagement/DesignReportTask/Check/index', 'ProductionManagement/DesignReportTask/Check/index.vue'],
|
||||
['设计工时报表', '/ResearchManagement/DesignReportTask/HoursReport/index', 'ProductionManagement/DesignReportTask/HoursReport/index.vue']
|
||||
]
|
||||
},
|
||||
{
|
||||
key: 'process',
|
||||
title: '工艺管理',
|
||||
pages: [
|
||||
['工序管理', '/ProcessManagement/ProcedureManagement/index', 'ProcessManagement/ProcedureManagement/index.vue'],
|
||||
['制定标准工艺', '/ProcessManagement/ProcessesDevelop/index', 'ProcessManagement/ProcessesDevelop/index.vue'],
|
||||
['生产工艺', '/ProcessManagement/ProcessProduct/index', 'ProcessManagement/ProcessProduct/index.vue'],
|
||||
['工艺查询', '/ProcessManagement/ProcessInquiry/index', 'ProcessManagement/ProcessInquiry/index.vue'],
|
||||
['工艺任务', '/ProcessManagement/ProductionOrder/index', 'ProcessManagement/ProductionOrder/index.vue'],
|
||||
['图纸维护', '/ProcessManagement/PartDrawing/index', 'ProcessManagement/PartDrawing/index.vue'],
|
||||
['工艺维护', '/ProcessManagement/ProcessDrawing/index', 'ProcessManagement/ProcessDrawing/index.vue'],
|
||||
['查看图纸', '/ProcessManagement/PartDrawlook/index', 'ProcessManagement/PartDrawlook/index.vue'],
|
||||
['采购图纸查询', '/ProcessManagement/ProcurementDrawlook/index', 'ProcessManagement/ProcurementDrawlook/index.vue']
|
||||
]
|
||||
},
|
||||
{
|
||||
key: 'plan',
|
||||
title: '计划排产',
|
||||
pages: [
|
||||
['机加件排产', '/PlanManagement/SelfMakePlan/index', 'PlanManagement/SelfMakePlan/index.vue'],
|
||||
['装配件排产', '/PlanManagement/InstallMakePlan/index', 'PlanManagement/InstallMakePlan/index.vue'],
|
||||
['机加件已排产', '/PlanManagement/SelfMakePlandone/index', 'PlanManagement/SelfMakePlandone/index.vue'],
|
||||
['机加件未排产', '/PlanManagement/SelfMakePlando/index', 'PlanManagement/SelfMakePlando/index.vue'],
|
||||
['优先装配', '/PlanManagement/priorityinstall/index', 'PlanManagement/priorityinstall/index.vue'],
|
||||
['计划用表', '/PlanManagement/PlanShell/index', 'PlanManagement/PlanShell/index.vue'],
|
||||
['装配未排产', '/PlanManagement/InstallMakePlanDo/index', 'PlanManagement/InstallMakePlanDo/index.vue'],
|
||||
['生产订单关闭', '/PlanManagement/PlannOrderClose/index', 'PlanManagement/PlannOrderClose/index.vue'],
|
||||
['工位任务汇总', '/PlanManagement/WorkstationPlan/index', 'PlanManagement/WorkstationPlan/index.vue'],
|
||||
['装配已排产', '/PlanManagement/InstallMakePlanDone/index', 'PlanManagement/InstallMakePlanDone/index.vue'],
|
||||
['系统类装配任务', '/PlanManagement/SystemInstallTask/index', 'PlanManagement/SystemInstallTask/index.vue'],
|
||||
['阀类装配任务', '/PlanManagement/ValueInstallTask/index', 'PlanManagement/ValueInstallTask/index.vue'],
|
||||
['及时齐套跟踪结果', '/PlanManagement/TimelyKitTrackingResult/index', 'PlanManagement/TimelyKitTrackingResult/index.vue']
|
||||
]
|
||||
},
|
||||
{
|
||||
key: 'production',
|
||||
title: '生产管理',
|
||||
pages: [
|
||||
['生产计划跟踪', '/ProductionManagement/ProductionPlanTrack/index', 'ProductionManagement/ProductionPlanTrack/index.vue'],
|
||||
['加工中心', '/ProductionManagement/MachiningCenter/index', 'ProductionManagement/MachiningCenter/index.vue'],
|
||||
['过程异常管控', '/ProductionManagement/AbnormalControl/index', 'ProductionManagement/AbnormalControl/index.vue'],
|
||||
['工时校验', '/ProductionManagement/WorkHoursCheck/index', 'ProductionManagement/WorkHoursCheck/index.vue'],
|
||||
['外协管理', '/ProductionManagement/OutsourceMange/index', 'ProductionManagement/OutsourceMange/index.vue'],
|
||||
['人员绑定', '/ProductionManagement/PersonnelBinding/index', 'ProductionManagement/PersonnelBinding/index.vue'],
|
||||
['装配中心', '/ProductionManagement/AssemblyCenter/index', 'ProductionManagement/AssemblyCenter/index.vue'],
|
||||
['班次管理', '/ProductionManagement/ShiftManagement/index', 'ProductionManagement/ShiftManagement/index.vue'],
|
||||
['工时报表', '/ProductionManagement/Timesheet/index', 'ProductionManagement/Timesheet/index.vue'],
|
||||
['加急件管理', '/ProductionManagement/Urgent/index', 'ProductionManagement/Urgent/index.vue'],
|
||||
['拣配任务', '/ProductionManagement/PickingTask/index', 'ProductionManagement/PickingTask/index.vue'],
|
||||
['采购外协管理', '/ProductionManagement/SaleOutsourceMange/index', 'ProductionManagement/SaleOutsourceMange/index.vue'],
|
||||
['工时查询', '/ProductionManagement/Workhours/index', 'ProductionManagement/Workhours/index.vue'],
|
||||
['机加正在进行中', '/ProductionManagement/DeviceStatus/index', 'ProductionManagement/DeviceStatus/index.vue'],
|
||||
['装配状态', '/ProductionManagement/AssembleStatus/index', 'ProductionManagement/AssembleStatus/index.vue'],
|
||||
['外协报表', '/ProductionManagement/OutsourceSheet/index', 'ProductionManagement/OutsourceSheet/index.vue'],
|
||||
['工时修正', '/ProductionManagement/WorkhoursEdit/index', 'ProductionManagement/WorkhoursEdit/index.vue'],
|
||||
['物料机器人', '/ProductionManagement/AGVtask/index', 'ProductionManagement/AGVtask/index.vue'],
|
||||
['手续确认报表', '/ProductionManagement/FormalityConfirmReport/index', 'ProductionManagement/FormalityConfirmReport/index.vue'],
|
||||
['发货通知列表', '/ProductionManagement/DeliveryNoticeList/index', 'ProductionManagement/DeliveryNoticeList/index.vue'],
|
||||
['结算工时', '/ProductionManagement/SettlementWorkhours/index', 'ProductionManagement/SettlementWorkhours/index.vue']
|
||||
]
|
||||
},
|
||||
{
|
||||
key: 'anomaly',
|
||||
title: '异常提醒',
|
||||
pages: [
|
||||
['机加及时开工', '/AnomalousManagement/PunctualWork/index', 'AnomalousManagement/PunctualWork/index.vue'],
|
||||
['外协及时开工', '/AnomalousManagement/OutPunctualWork/index', 'AnomalousManagement/OutPunctualWork/index.vue'],
|
||||
['加急任务列表', '/AnomalousManagement/UrgentTask/index', 'AnomalousManagement/UrgentTask/index.vue'],
|
||||
['装配及时送检', '/AnomalousManagement/AssemblyPunctualInspection/index', 'AnomalousManagement/AssemblyPunctualInspection/index.vue']
|
||||
]
|
||||
},
|
||||
{
|
||||
key: 'quality',
|
||||
title: '质量管理',
|
||||
pages: [
|
||||
['终检', '/QualityManagement/CheckTask/final', 'QualityManagement/CheckTask/final.vue'],
|
||||
['采购入库检', '/QualityManagement/CheckTask/purchaseIncoming', 'QualityManagement/CheckTask/purchaseIncoming.vue'],
|
||||
['销售退货检', '/QualityManagement/CheckTask/salesReturn', 'QualityManagement/CheckTask/salesReturn.vue'],
|
||||
['原材料退库检', '/QualityManagement/CheckTask/materialReturn', 'QualityManagement/CheckTask/materialReturn.vue'],
|
||||
['序检收检', '/QualityManagement/CheckTask/processReceive', 'QualityManagement/CheckTask/processReceive.vue'],
|
||||
['质量检验标准', '/QualityManagement/QualityStandardQuery/index', 'QualityManagement/QualityStandardQuery/index.vue'],
|
||||
['其他入库检', '/QualityManagement/CheckTask/OtherInbound', 'QualityManagement/CheckTask/OtherInbound.vue'],
|
||||
['质检明细', '/QualityManagement/QualityDetails/index', 'QualityManagement/QualityDetails/index.vue'],
|
||||
['不合格品处置', '/QualityManagement/Unqualified/index', 'QualityManagement/Unqualified/index.vue'],
|
||||
['质检报工', '/QualityManagement/QualityCenter/index', 'QualityManagement/QualityCenter/index.vue'],
|
||||
['测试装配任务', '/QualityManagement/TestAssemblyTask/index', 'QualityManagement/TestAssemblyTask/index.vue'],
|
||||
['及时检验报表', '/QualityManagement/CheckTask/punctualInspection', 'QualityManagement/CheckTask/punctualInspection.vue'],
|
||||
['产品合格率(工位)', '/QualityManagement/ProductPassRateWorkstation/index', 'ProductionManagement/ProductPassRateWorkstation/index.vue']
|
||||
]
|
||||
},
|
||||
{
|
||||
key: 'sales',
|
||||
title: '销售订单管理',
|
||||
pages: [
|
||||
['销售订单状态', '/SaleManagement/saleorderstatus/index', 'SaleManagement/saleorderstatus/index.vue']
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
const wait = ms => new Promise(resolve => setTimeout(resolve, ms))
|
||||
|
||||
async function connect() {
|
||||
const targets = await fetch(`http://127.0.0.1:${debugPort}/json`).then(res => res.json())
|
||||
const target = targets.find(item => item.type === 'page')
|
||||
if (!target) throw new Error('No Chrome page target found')
|
||||
|
||||
const ws = new WebSocket(target.webSocketDebuggerUrl)
|
||||
let id = 0
|
||||
const pending = new Map()
|
||||
ws.on('message', raw => {
|
||||
const message = JSON.parse(raw.toString())
|
||||
if (message.id && pending.has(message.id)) {
|
||||
const request = pending.get(message.id)
|
||||
pending.delete(message.id)
|
||||
message.error ? request.reject(new Error(message.error.message)) : request.resolve(message.result)
|
||||
}
|
||||
})
|
||||
await new Promise((resolve, reject) => {
|
||||
ws.once('open', resolve)
|
||||
ws.once('error', reject)
|
||||
})
|
||||
|
||||
const send = (method, params = {}) => new Promise((resolve, reject) => {
|
||||
const requestId = ++id
|
||||
pending.set(requestId, { resolve, reject })
|
||||
ws.send(JSON.stringify({ id: requestId, method, params }))
|
||||
})
|
||||
return { ws, send }
|
||||
}
|
||||
|
||||
async function main() {
|
||||
const { ws, send } = await connect()
|
||||
await send('Page.enable')
|
||||
await send('Runtime.enable')
|
||||
await send('Network.enable')
|
||||
await send('Security.enable')
|
||||
await send('Security.setIgnoreCertificateErrors', { ignore: true })
|
||||
await send('Emulation.setDeviceMetricsOverride', {
|
||||
width: 1920,
|
||||
height: 1080,
|
||||
deviceScaleFactor: 1,
|
||||
mobile: false
|
||||
})
|
||||
|
||||
const evaluate = expression => send('Runtime.evaluate', {
|
||||
expression,
|
||||
awaitPromise: true,
|
||||
returnByValue: true
|
||||
}).then(result => result.result.value)
|
||||
|
||||
async function waitFor(expression, timeout = 45000) {
|
||||
const started = Date.now()
|
||||
while (Date.now() - started < timeout) {
|
||||
if (await evaluate(`Boolean(${expression})`)) return true
|
||||
await wait(300)
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
async function clickByText(text, selector = 'button') {
|
||||
return evaluate(`(() => {
|
||||
const normalize = value => String(value || '').replace(/\\s+/g, '')
|
||||
const node = [...document.querySelectorAll(${JSON.stringify(selector)})]
|
||||
.find(item => item.offsetParent !== null && !item.disabled &&
|
||||
normalize(item.innerText).includes(${JSON.stringify(text.replace(/\s+/g, ''))}))
|
||||
if (!node) return false
|
||||
node.click()
|
||||
return true
|
||||
})()`)
|
||||
}
|
||||
|
||||
async function login() {
|
||||
if (loginRole) {
|
||||
for (const [name, value] of [
|
||||
['Admin-Token', loginRole],
|
||||
['id', loginPersonnelId],
|
||||
['name', loginName],
|
||||
['account', loginAccount]
|
||||
]) {
|
||||
await send('Network.setCookie', { name, value, url: baseUrl })
|
||||
}
|
||||
await send('Page.navigate', { url: `${baseUrl}/#/` })
|
||||
const ready = await waitFor("document.querySelector('.sidebar-container')", 60000)
|
||||
if (!ready) throw new Error('Cookie session did not reach the application shell')
|
||||
return
|
||||
}
|
||||
await send('Page.navigate', { url: `${baseUrl}/#/login` })
|
||||
await waitFor("document.querySelector('input[name=username]') || document.querySelector('.sidebar-container')")
|
||||
if (await evaluate("Boolean(document.querySelector('input[name=username]'))")) {
|
||||
if (!loginUser || !loginPassword) throw new Error('MES manual login credentials are not available')
|
||||
await evaluate(`(() => {
|
||||
const setValue = (element, value) => {
|
||||
const setter = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value').set
|
||||
setter.call(element, value)
|
||||
element.dispatchEvent(new Event('input', { bubbles: true }))
|
||||
element.dispatchEvent(new Event('change', { bubbles: true }))
|
||||
}
|
||||
setValue(document.querySelector('input[name=username]'), ${JSON.stringify(loginUser)})
|
||||
setValue(document.querySelector('input[name=password]'), ${JSON.stringify(loginPassword)})
|
||||
})()`)
|
||||
await clickByText('登录')
|
||||
await wait(1200)
|
||||
if (await evaluate("Boolean(document.querySelector('.el-dialog__wrapper:not([style*=\"display: none\"]) .el-table__row'))")) {
|
||||
await evaluate("document.querySelector('.el-dialog__wrapper:not([style*=\"display: none\"]) .el-table__row').click()")
|
||||
await clickByText('确定', '.el-dialog__wrapper:not([style*="display: none"]) button')
|
||||
}
|
||||
}
|
||||
const ready = await waitFor("document.querySelector('.sidebar-container')", 60000)
|
||||
if (!ready) throw new Error('Login did not reach the application shell')
|
||||
}
|
||||
|
||||
async function capture(page, fileName) {
|
||||
await send('Page.navigate', { url: `${baseUrl}/#${page.route}` })
|
||||
const ready = await waitFor("document.readyState === 'complete' && (document.querySelector('.app-main') || document.querySelector('.app-container'))")
|
||||
if (!ready) throw new Error(`Page shell timed out: ${page.route}`)
|
||||
await waitFor("!document.querySelector('.el-loading-mask:not([style*=\"display: none\"])')", 15000)
|
||||
if (page.title === '生产工艺') {
|
||||
await waitFor(`(() => {
|
||||
const app = document.querySelector('#app') && document.querySelector('#app').__vue__
|
||||
return Boolean(app && app.$route && app.$route.matched && app.$route.matched
|
||||
.some(record => Object.values(record.instances || {}).some(instance => instance && typeof instance.searchTable === 'function')))
|
||||
})()`, 15000)
|
||||
const filtered = await evaluate(`(() => {
|
||||
const app = document.querySelector('#app') && document.querySelector('#app').__vue__
|
||||
const records = app && app.$route && app.$route.matched ? [...app.$route.matched].reverse() : []
|
||||
for (const record of records) {
|
||||
const instances = Object.values(record.instances || {}).filter(Boolean)
|
||||
const vm = instances.find(instance => instance.taskstatus !== undefined && typeof instance.searchTable === 'function')
|
||||
if (!vm) continue
|
||||
vm.taskstatus = '2'
|
||||
vm.searchTable()
|
||||
return true
|
||||
}
|
||||
return false
|
||||
})()`)
|
||||
if (!filtered) throw new Error('生产工艺页面路由实例未就绪')
|
||||
} else {
|
||||
await clickByText('查询')
|
||||
}
|
||||
await waitFor("!document.querySelector('.el-loading-mask:not([style*=\"display: none\"])')", 30000)
|
||||
if (page.title === '机加件已排产') {
|
||||
await waitFor("document.querySelectorAll('.el-table__body-wrapper .el-table__row').length > 0", 60000)
|
||||
}
|
||||
await wait(captureDelay)
|
||||
await evaluate('window.scrollTo(0, 0)')
|
||||
const result = await send('Page.captureScreenshot', {
|
||||
format: 'png',
|
||||
captureBeyondViewport: false,
|
||||
fromSurface: true
|
||||
})
|
||||
fs.writeFileSync(path.join(outputDir, fileName), Buffer.from(result.data, 'base64'))
|
||||
return evaluate(`({
|
||||
title: document.title,
|
||||
bodyTextLength: document.body ? document.body.innerText.length : 0,
|
||||
hasError: Boolean(document.querySelector('.el-message--error')),
|
||||
route: location.hash
|
||||
})`)
|
||||
}
|
||||
|
||||
async function captureEditDialog(page) {
|
||||
const dialogConfig = {
|
||||
'机加件已排产': {
|
||||
button: '编辑',
|
||||
title: '编辑备注信息',
|
||||
fileName: '04-03-plan-edit-dialog.png'
|
||||
},
|
||||
'生产工艺': {
|
||||
button: '编辑工艺',
|
||||
title: '编辑生产工艺',
|
||||
fileName: '03-03-process-edit-dialog.png'
|
||||
}
|
||||
}[page.title]
|
||||
if (!dialogConfig) return null
|
||||
let opened = await evaluate(`(() => {
|
||||
const normalize = value => String(value || '').replace(/\\s+/g, '')
|
||||
const button = [...document.querySelectorAll('button')]
|
||||
.find(item => normalize(item.innerText) === '${dialogConfig.button}')
|
||||
if (!button) return false
|
||||
button.click()
|
||||
return true
|
||||
})()`)
|
||||
if (!opened) throw new Error(`${page.title}页面未找到可用的${dialogConfig.button}按钮`)
|
||||
const dialogReady = await waitFor(`[...document.querySelectorAll('.el-dialog__wrapper:not([style*="display: none"])')]
|
||||
.some(item => String(item.innerText || '').includes('${dialogConfig.title}'))`, 15000)
|
||||
if (!dialogReady) throw new Error(`${dialogConfig.title}弹窗未打开`)
|
||||
if (page.title === '生产工艺') {
|
||||
let populated = await waitFor("document.querySelectorAll('.el-dialog__wrapper:not([style*=\"display: none\"]) .el-table__body-wrapper .el-table__row').length > 0", 5000)
|
||||
const buttonCount = await evaluate(`(() => {
|
||||
const normalize = value => String(value || '').replace(/\\s+/g, '')
|
||||
return [...document.querySelectorAll('button')]
|
||||
.filter(item => item.offsetParent !== null && normalize(item.innerText) === '${dialogConfig.button}').length
|
||||
})()`)
|
||||
for (let index = 1; !populated && index < buttonCount; index += 1) {
|
||||
await evaluate(`(() => {
|
||||
const dialog = [...document.querySelectorAll('.el-dialog__wrapper:not([style*=\"display: none\"])')]
|
||||
.find(item => String(item.innerText || '').includes('${dialogConfig.title}'))
|
||||
const close = dialog && dialog.querySelector('.el-dialog__headerbtn')
|
||||
if (close) close.click()
|
||||
})()`)
|
||||
await waitFor(`![...document.querySelectorAll('.el-dialog__wrapper:not([style*=\"display: none\"])')]
|
||||
.some(item => String(item.innerText || '').includes('${dialogConfig.title}'))`, 5000)
|
||||
opened = await evaluate(`(() => {
|
||||
const normalize = value => String(value || '').replace(/\\s+/g, '')
|
||||
const buttons = [...document.querySelectorAll('button')]
|
||||
.filter(item => item.offsetParent !== null && normalize(item.innerText) === '${dialogConfig.button}')
|
||||
if (!buttons[${index}]) return false
|
||||
buttons[${index}].click()
|
||||
return true
|
||||
})()`)
|
||||
if (!opened) continue
|
||||
await waitFor(`[...document.querySelectorAll('.el-dialog__wrapper:not([style*=\"display: none\"])')]
|
||||
.some(item => String(item.innerText || '').includes('${dialogConfig.title}'))`, 5000)
|
||||
populated = await waitFor("document.querySelectorAll('.el-dialog__wrapper:not([style*=\"display: none\"]) .el-table__body-wrapper .el-table__row').length > 0", 5000)
|
||||
}
|
||||
}
|
||||
await wait(1000)
|
||||
const result = await send('Page.captureScreenshot', {
|
||||
format: 'png',
|
||||
captureBeyondViewport: false,
|
||||
fromSurface: true
|
||||
})
|
||||
fs.writeFileSync(path.join(outputDir, dialogConfig.fileName), Buffer.from(result.data, 'base64'))
|
||||
return { fileName: dialogConfig.fileName, title: dialogConfig.title }
|
||||
}
|
||||
|
||||
await login()
|
||||
const manifest = []
|
||||
const totalPages = modules.reduce((total, module) => {
|
||||
return total + module.pages.filter(page => pageFilter.size === 0 || pageFilter.has(page[0])).length
|
||||
}, 0)
|
||||
let sequence = 0
|
||||
for (let moduleIndex = 0; moduleIndex < modules.length; moduleIndex++) {
|
||||
const module = modules[moduleIndex]
|
||||
for (let pageIndex = 0; pageIndex < module.pages.length; pageIndex++) {
|
||||
sequence++
|
||||
const [title, route, source] = module.pages[pageIndex]
|
||||
if (pageFilter.size && !pageFilter.has(title)) {
|
||||
sequence--
|
||||
continue
|
||||
}
|
||||
const fileName = `${String(moduleIndex + 1).padStart(2, '0')}-${String(pageIndex + 1).padStart(2, '0')}-${module.key}.png`
|
||||
const item = { sequence, module: module.title, title, route, source, fileName, status: 'pending' }
|
||||
try {
|
||||
item.pageState = await capture(item, fileName)
|
||||
item.dialogCapture = await captureEditDialog(item)
|
||||
item.status = 'captured'
|
||||
console.log(`[${sequence}/${totalPages}] ${module.title} / ${title}`)
|
||||
} catch (error) {
|
||||
item.status = 'failed'
|
||||
item.error = error.message
|
||||
console.error(`[${sequence}/${totalPages}] FAILED ${module.title} / ${title}: ${error.message}`)
|
||||
}
|
||||
manifest.push(item)
|
||||
fs.writeFileSync(manifestPath, JSON.stringify(manifest, null, 2), 'utf8')
|
||||
}
|
||||
}
|
||||
ws.close()
|
||||
|
||||
const failed = manifest.filter(item => item.status !== 'captured')
|
||||
console.log(`Captured ${manifest.length - failed.length}/${manifest.length} pages`)
|
||||
await send('Browser.close')
|
||||
if (failed.length) process.exitCode = 1
|
||||
}
|
||||
|
||||
module.exports = { modules }
|
||||
|
||||
if (require.main === module) {
|
||||
main().catch(error => {
|
||||
console.error(error.stack || error.message)
|
||||
process.exitCode = 1
|
||||
})
|
||||
}
|
||||
168
work/system-manual/capture-system-pages.js
Normal file
@@ -0,0 +1,168 @@
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const WebSocket = require('ws')
|
||||
|
||||
const outputDir = path.resolve(__dirname, 'screenshots')
|
||||
fs.mkdirSync(outputDir, { recursive: true })
|
||||
const loginUser = process.env.MES_MANUAL_USER
|
||||
const loginPassword = process.env.MES_MANUAL_PASSWORD
|
||||
|
||||
const wait = ms => new Promise(resolve => setTimeout(resolve, ms))
|
||||
|
||||
async function connect() {
|
||||
const targets = await fetch('http://127.0.0.1:9222/json').then(res => res.json())
|
||||
const target = targets.find(item => item.type === 'page')
|
||||
if (!target) throw new Error('No Chrome page target found')
|
||||
|
||||
const ws = new WebSocket(target.webSocketDebuggerUrl)
|
||||
let id = 0
|
||||
const pending = new Map()
|
||||
ws.on('message', raw => {
|
||||
const message = JSON.parse(raw.toString())
|
||||
if (message.id && pending.has(message.id)) {
|
||||
const { resolve, reject } = pending.get(message.id)
|
||||
pending.delete(message.id)
|
||||
message.error ? reject(new Error(message.error.message)) : resolve(message.result)
|
||||
}
|
||||
})
|
||||
await new Promise((resolve, reject) => {
|
||||
ws.once('open', resolve)
|
||||
ws.once('error', reject)
|
||||
})
|
||||
|
||||
const send = (method, params = {}) => new Promise((resolve, reject) => {
|
||||
const requestId = ++id
|
||||
pending.set(requestId, { resolve, reject })
|
||||
ws.send(JSON.stringify({ id: requestId, method, params }))
|
||||
})
|
||||
return { ws, send }
|
||||
}
|
||||
|
||||
async function main() {
|
||||
const { ws, send } = await connect()
|
||||
await send('Page.enable')
|
||||
await send('Runtime.enable')
|
||||
await send('Emulation.setDeviceMetricsOverride', {
|
||||
width: 1920,
|
||||
height: 1080,
|
||||
deviceScaleFactor: 1,
|
||||
mobile: false
|
||||
})
|
||||
|
||||
const evaluate = expression => send('Runtime.evaluate', {
|
||||
expression,
|
||||
awaitPromise: true,
|
||||
returnByValue: true
|
||||
}).then(result => result.result.value)
|
||||
|
||||
async function waitFor(expression, timeout = 30000) {
|
||||
const started = Date.now()
|
||||
while (Date.now() - started < timeout) {
|
||||
if (await evaluate(`Boolean(${expression})`)) return
|
||||
await wait(300)
|
||||
}
|
||||
throw new Error(`Timed out waiting for: ${expression}`)
|
||||
}
|
||||
|
||||
async function screenshot(name) {
|
||||
await wait(700)
|
||||
const result = await send('Page.captureScreenshot', {
|
||||
format: 'png',
|
||||
captureBeyondViewport: false,
|
||||
fromSurface: true
|
||||
})
|
||||
fs.writeFileSync(path.join(outputDir, `${name}.png`), Buffer.from(result.data, 'base64'))
|
||||
console.log(`Captured ${name}`)
|
||||
}
|
||||
|
||||
async function navigate(hashPath) {
|
||||
await send('Page.navigate', { url: `https://127.0.0.1:1997/#${hashPath}` })
|
||||
await waitFor("document.readyState === 'complete'")
|
||||
await waitFor("document.querySelector('.app-main') || document.querySelector('.el-card')", 40000)
|
||||
await wait(1800)
|
||||
}
|
||||
|
||||
async function clickByText(text, selector = 'button') {
|
||||
return evaluate(`(() => {
|
||||
const nodes = [...document.querySelectorAll(${JSON.stringify(selector)})]
|
||||
const node = nodes.find(item => item.innerText && item.innerText.replace(/\\s+/g, '').includes(${JSON.stringify(text.replace(/\s+/g, ''))}))
|
||||
if (!node) return false
|
||||
node.click()
|
||||
return true
|
||||
})()`)
|
||||
}
|
||||
|
||||
await send('Page.navigate', { url: 'https://127.0.0.1:1997/#/login' })
|
||||
await waitFor("document.querySelector('input[name=username]') || document.querySelector('.sidebar-container')", 40000)
|
||||
if (await evaluate("Boolean(document.querySelector('input[name=username]'))")) {
|
||||
if (!loginUser || !loginPassword) {
|
||||
throw new Error('Set MES_MANUAL_USER and MES_MANUAL_PASSWORD before capturing pages')
|
||||
}
|
||||
await evaluate(`(() => {
|
||||
const setValue = (el, value) => {
|
||||
const setter = Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, 'value').set
|
||||
setter.call(el, value)
|
||||
el.dispatchEvent(new Event('input', { bubbles: true }))
|
||||
el.dispatchEvent(new Event('change', { bubbles: true }))
|
||||
}
|
||||
setValue(document.querySelector('input[name=username]'), ${JSON.stringify(loginUser)})
|
||||
setValue(document.querySelector('input[name=password]'), ${JSON.stringify(loginPassword)})
|
||||
})()`)
|
||||
await clickByText('登录')
|
||||
}
|
||||
await waitFor("document.querySelector('.sidebar-container')", 40000)
|
||||
await wait(1500)
|
||||
|
||||
const pages = [
|
||||
['01-personnel-list', '/SystemMaintenance/PersonnelManagement/index'],
|
||||
['02-role-list', '/SystemMaintenance/SystemRrolemaintenance/index'],
|
||||
['03-menu-list', '/SystemMaintenance/MenuManagement/index'],
|
||||
['04-workstation-list', '/SystemMaintenance/WorkstationManagement/index'],
|
||||
['05-operation-log', '/SystemMaintenance/OperationLog/index']
|
||||
]
|
||||
|
||||
for (const [name, route] of pages) {
|
||||
await navigate(route)
|
||||
await screenshot(name)
|
||||
|
||||
if (name === '01-personnel-list') {
|
||||
if (await clickByText('新增')) {
|
||||
await waitFor("document.querySelector('.el-dialog__wrapper:not([style*=\"display: none\"])')")
|
||||
await screenshot('01-personnel-add-dialog')
|
||||
await clickByText('取消', '.el-dialog__wrapper:not([style*=\"display: none\"]) button')
|
||||
}
|
||||
}
|
||||
if (name === '02-role-list') {
|
||||
if (await clickByText('新增')) {
|
||||
await waitFor("document.querySelector('.el-dialog__wrapper:not([style*=\"display: none\"])')")
|
||||
await screenshot('02-role-add-dialog')
|
||||
await clickByText('取消', '.el-dialog__wrapper:not([style*=\"display: none\"]) button')
|
||||
}
|
||||
}
|
||||
if (name === '03-menu-list') {
|
||||
await evaluate(`document.querySelector('#selectRoleName').click()`)
|
||||
await waitFor("[...document.querySelectorAll('.el-select-dropdown__item')].some(item => item.innerText.trim() === '管理员')")
|
||||
await evaluate(`(() => {
|
||||
const option = [...document.querySelectorAll('.el-select-dropdown__item')]
|
||||
.find(item => item.innerText.trim() === '管理员')
|
||||
option.click()
|
||||
})()`)
|
||||
await waitFor("document.querySelectorAll('.moduleTree .el-tree-node').length > 0")
|
||||
await screenshot('03-menu-permission-panel')
|
||||
}
|
||||
if (name === '04-workstation-list') {
|
||||
if (await clickByText('新增')) {
|
||||
await waitFor("document.querySelector('.el-dialog__wrapper:not([style*=\"display: none\"])')")
|
||||
await screenshot('04-workstation-add-dialog')
|
||||
await clickByText('取消', '.el-dialog__wrapper:not([style*=\"display: none\"]) button')
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ws.close()
|
||||
}
|
||||
|
||||
main().catch(error => {
|
||||
console.error(error)
|
||||
process.exitCode = 1
|
||||
})
|
||||
38
work/system-manual/export-revised-manual-pdf.ps1
Normal file
@@ -0,0 +1,38 @@
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
$root = (Resolve-Path (Join-Path $PSScriptRoot '..\..')).Path
|
||||
$docDir = Join-Path $root 'doc'
|
||||
$source = Get-ChildItem -LiteralPath $docDir -Filter '*.docx' | Sort-Object Length -Descending | Select-Object -First 1
|
||||
if (-not $source) { throw 'doc目录中未找到待导出的DOCX文件' }
|
||||
$docxPath = $source.FullName
|
||||
$pdfPath = Join-Path $docDir ($source.BaseName + '.pdf')
|
||||
$tempDocxPath = Join-Path $PSScriptRoot 'revised-manual-for-pdf.docx'
|
||||
|
||||
Copy-Item -LiteralPath $docxPath -Destination $tempDocxPath -Force
|
||||
|
||||
$word = $null
|
||||
$doc = $null
|
||||
try {
|
||||
$word = New-Object -ComObject Word.Application
|
||||
$word.Visible = $false
|
||||
$word.DisplayAlerts = 0
|
||||
$doc = $word.Documents.Open($tempDocxPath, $false, $false)
|
||||
if ($doc.TablesOfContents.Count -gt 0) {
|
||||
for ($index = 1; $index -le $doc.TablesOfContents.Count; $index++) {
|
||||
try { $doc.TablesOfContents.Item($index).Update() } catch { }
|
||||
}
|
||||
}
|
||||
$doc.Save()
|
||||
$doc.ExportAsFixedFormat($pdfPath, 17)
|
||||
Write-Output "DOCX=$docxPath"
|
||||
Write-Output "PDF=$pdfPath"
|
||||
}
|
||||
finally {
|
||||
if ($doc) { try { $doc.Close($false) } catch { } }
|
||||
if ($word) { try { $word.Quit() } catch { } }
|
||||
if ($doc) { [void][Runtime.InteropServices.Marshal]::ReleaseComObject($doc) }
|
||||
if ($word) { [void][Runtime.InteropServices.Marshal]::ReleaseComObject($word) }
|
||||
[GC]::Collect()
|
||||
[GC]::WaitForPendingFinalizers()
|
||||
if (Test-Path -LiteralPath $tempDocxPath) { Remove-Item -LiteralPath $tempDocxPath -Force -ErrorAction SilentlyContinue }
|
||||
}
|
||||
4424
work/system-manual/full-page-catalog.json
Normal file
BIN
work/system-manual/full-screenshots/01-01-device.png
Normal file
|
After Width: | Height: | Size: 149 KiB |
BIN
work/system-manual/full-screenshots/01-02-device.png
Normal file
|
After Width: | Height: | Size: 151 KiB |
BIN
work/system-manual/full-screenshots/01-03-device.png
Normal file
|
After Width: | Height: | Size: 150 KiB |
BIN
work/system-manual/full-screenshots/01-04-device.png
Normal file
|
After Width: | Height: | Size: 86 KiB |
BIN
work/system-manual/full-screenshots/02-01-research.png
Normal file
|
After Width: | Height: | Size: 224 KiB |
BIN
work/system-manual/full-screenshots/02-02-research.png
Normal file
|
After Width: | Height: | Size: 225 KiB |
BIN
work/system-manual/full-screenshots/02-03-research.png
Normal file
|
After Width: | Height: | Size: 275 KiB |
BIN
work/system-manual/full-screenshots/02-04-research.png
Normal file
|
After Width: | Height: | Size: 102 KiB |
BIN
work/system-manual/full-screenshots/03-01-process.png
Normal file
|
After Width: | Height: | Size: 118 KiB |
BIN
work/system-manual/full-screenshots/03-02-process.png
Normal file
|
After Width: | Height: | Size: 122 KiB |
|
After Width: | Height: | Size: 219 KiB |
BIN
work/system-manual/full-screenshots/03-03-process.png
Normal file
|
After Width: | Height: | Size: 298 KiB |
BIN
work/system-manual/full-screenshots/03-04-process.png
Normal file
|
After Width: | Height: | Size: 122 KiB |
BIN
work/system-manual/full-screenshots/03-05-process.png
Normal file
|
After Width: | Height: | Size: 127 KiB |
BIN
work/system-manual/full-screenshots/03-06-process.png
Normal file
|
After Width: | Height: | Size: 177 KiB |
BIN
work/system-manual/full-screenshots/03-07-process.png
Normal file
|
After Width: | Height: | Size: 212 KiB |
BIN
work/system-manual/full-screenshots/03-08-process.png
Normal file
|
After Width: | Height: | Size: 170 KiB |
BIN
work/system-manual/full-screenshots/03-09-process.png
Normal file
|
After Width: | Height: | Size: 186 KiB |
BIN
work/system-manual/full-screenshots/04-01-plan.png
Normal file
|
After Width: | Height: | Size: 296 KiB |
BIN
work/system-manual/full-screenshots/04-02-plan.png
Normal file
|
After Width: | Height: | Size: 218 KiB |
BIN
work/system-manual/full-screenshots/04-03-plan-edit-dialog.png
Normal file
|
After Width: | Height: | Size: 258 KiB |
BIN
work/system-manual/full-screenshots/04-03-plan.png
Normal file
|
After Width: | Height: | Size: 283 KiB |
BIN
work/system-manual/full-screenshots/04-04-plan.png
Normal file
|
After Width: | Height: | Size: 307 KiB |
BIN
work/system-manual/full-screenshots/04-05-plan.png
Normal file
|
After Width: | Height: | Size: 118 KiB |
BIN
work/system-manual/full-screenshots/04-06-plan.png
Normal file
|
After Width: | Height: | Size: 118 KiB |
BIN
work/system-manual/full-screenshots/04-07-plan.png
Normal file
|
After Width: | Height: | Size: 294 KiB |
BIN
work/system-manual/full-screenshots/04-08-plan.png
Normal file
|
After Width: | Height: | Size: 101 KiB |
BIN
work/system-manual/full-screenshots/04-09-plan.png
Normal file
|
After Width: | Height: | Size: 123 KiB |
BIN
work/system-manual/full-screenshots/04-10-plan.png
Normal file
|
After Width: | Height: | Size: 129 KiB |
BIN
work/system-manual/full-screenshots/04-11-plan.png
Normal file
|
After Width: | Height: | Size: 130 KiB |
BIN
work/system-manual/full-screenshots/04-12-plan.png
Normal file
|
After Width: | Height: | Size: 130 KiB |
BIN
work/system-manual/full-screenshots/04-13-plan.png
Normal file
|
After Width: | Height: | Size: 120 KiB |
BIN
work/system-manual/full-screenshots/05-01-production.png
Normal file
|
After Width: | Height: | Size: 115 KiB |
BIN
work/system-manual/full-screenshots/05-02-production.png
Normal file
|
After Width: | Height: | Size: 198 KiB |
BIN
work/system-manual/full-screenshots/05-03-production.png
Normal file
|
After Width: | Height: | Size: 112 KiB |
BIN
work/system-manual/full-screenshots/05-04-production.png
Normal file
|
After Width: | Height: | Size: 121 KiB |
BIN
work/system-manual/full-screenshots/05-05-production.png
Normal file
|
After Width: | Height: | Size: 274 KiB |
BIN
work/system-manual/full-screenshots/05-06-production.png
Normal file
|
After Width: | Height: | Size: 163 KiB |
BIN
work/system-manual/full-screenshots/05-07-production.png
Normal file
|
After Width: | Height: | Size: 282 KiB |
BIN
work/system-manual/full-screenshots/05-08-production.png
Normal file
|
After Width: | Height: | Size: 144 KiB |
BIN
work/system-manual/full-screenshots/05-09-production.png
Normal file
|
After Width: | Height: | Size: 120 KiB |
BIN
work/system-manual/full-screenshots/05-10-production.png
Normal file
|
After Width: | Height: | Size: 204 KiB |
BIN
work/system-manual/full-screenshots/05-11-production.png
Normal file
|
After Width: | Height: | Size: 204 KiB |
BIN
work/system-manual/full-screenshots/05-12-production.png
Normal file
|
After Width: | Height: | Size: 282 KiB |
BIN
work/system-manual/full-screenshots/05-13-production.png
Normal file
|
After Width: | Height: | Size: 112 KiB |
BIN
work/system-manual/full-screenshots/05-14-production.png
Normal file
|
After Width: | Height: | Size: 232 KiB |
BIN
work/system-manual/full-screenshots/05-15-production.png
Normal file
|
After Width: | Height: | Size: 238 KiB |
BIN
work/system-manual/full-screenshots/05-16-production.png
Normal file
|
After Width: | Height: | Size: 112 KiB |
BIN
work/system-manual/full-screenshots/05-17-production.png
Normal file
|
After Width: | Height: | Size: 287 KiB |
BIN
work/system-manual/full-screenshots/05-18-production.png
Normal file
|
After Width: | Height: | Size: 132 KiB |
BIN
work/system-manual/full-screenshots/05-19-production.png
Normal file
|
After Width: | Height: | Size: 326 KiB |
BIN
work/system-manual/full-screenshots/05-20-production.png
Normal file
|
After Width: | Height: | Size: 305 KiB |
BIN
work/system-manual/full-screenshots/05-21-production.png
Normal file
|
After Width: | Height: | Size: 117 KiB |
BIN
work/system-manual/full-screenshots/06-01-anomaly.png
Normal file
|
After Width: | Height: | Size: 142 KiB |
BIN
work/system-manual/full-screenshots/06-02-anomaly.png
Normal file
|
After Width: | Height: | Size: 231 KiB |
BIN
work/system-manual/full-screenshots/06-03-anomaly.png
Normal file
|
After Width: | Height: | Size: 259 KiB |
BIN
work/system-manual/full-screenshots/06-04-anomaly.png
Normal file
|
After Width: | Height: | Size: 320 KiB |
BIN
work/system-manual/full-screenshots/07-01-quality.png
Normal file
|
After Width: | Height: | Size: 214 KiB |