Commit 2f4874be3a28f64bb830f8e434e00fedac244fa8

Authored by zichun
1 parent 3491ef6c

chore(scripts): add seed-dev-data.sh for realistic dev/test fixtures

Idempotent (INSERT IGNORE on unique keys) script that populates:
- tStaff: 20 print-industry employees with realistic Chinese names,
  staff numbers (S0001..S0020), and varied departments
- tUser: admin + 18 business users, all BCrypt(666666), linked to
  staff rows; mix of 超级管理员 / 普通用户, languages zh/en/zh-TW,
  with one bDeleted=1 to demo the 作废 column
- tPermissionCategory: 30 groups matching prototype's permission grid
- tUserPermission: department-correlated permission grants
  (e.g. 财务部 users get PERM_FINANCE + PERM_VIEW_ORDER_PRICE)
- tModule: 5 KPI flow trees (估价/订单/拼版/送货/采购) + 系统设置,
  ~30 nodes with proper parent/child relationships

Final SELECT prints row counts for verification.
Showing 1 changed file with 258 additions and 0 deletions
scripts/seed-dev-data.sh 0 → 100644
  1 +#!/usr/bin/env bash
  2 +# scripts/seed-dev-data.sh — Populate dev/test DB with realistic-looking
  3 +# print-industry data covering everything wired in the frontend.
  4 +#
  5 +# Idempotent: every INSERT uses IGNORE on a unique key so repeated runs
  6 +# won't duplicate rows. Safe to re-run after any code change.
  7 +#
  8 +# Prerequisites:
  9 +# 1. .env.local with DB_HOST/DB_PORT/DB_SCHEMA/DB_USER/DB_PASSWORD
  10 +# 2. Schema must exist — i.e. Spring Boot has started at least once so
  11 +# Flyway has applied V1 (creates tUser/tStaff/tPermissionCategory/
  12 +# tUserPermission/tModule).
  13 +#
  14 +# What it seeds:
  15 +# tStaff — 20 employees with name, dept, staff number
  16 +# tUser — admin + 18 users, BCrypt(666666), linked to staff
  17 +# tPermissionCategory — 30 permission groups matching prototype's grid
  18 +# tUserPermission — common permissions assigned to non-admin users
  19 +# tModule — 6 root flows + 24 leaf modules (KPI tree + 系统设置)
  20 +
  21 +set -euo pipefail
  22 +
  23 +for p in /opt/homebrew/opt/mysql-client/bin /usr/local/opt/mysql-client/bin; do
  24 + [ -d "$p" ] && case ":$PATH:" in *":$p:"*) ;; *) PATH="$p:$PATH" ;; esac
  25 +done
  26 +
  27 +ENV_FILE="$(dirname "$0")/../.env.local"
  28 +[ -f "$ENV_FILE" ] || { echo "[seed-dev-data] ⚠️ .env.local 不存在($ENV_FILE)" >&2; exit 1; }
  29 +
  30 +set -a; . "$ENV_FILE"; set +a
  31 +
  32 +# BCrypt(666666) cost 10. Spring's BCryptPasswordEncoder accepts $2a$/$2b$.
  33 +HASH='$2b$10$ZzbGP0yWo3QJkaiZqEgtAOQVrzrti911VqbY7FoethhGQFPV0/Oj6'
  34 +
  35 +echo "[seed-dev-data] target: ${DB_USER}@${DB_HOST}:${DB_PORT}/${DB_SCHEMA}"
  36 +
  37 +mysql -h"${DB_HOST}" -P"${DB_PORT}" -u"${DB_USER}" -p"${DB_PASSWORD}" "${DB_SCHEMA}" <<SQL
  38 +-- =====================================================================
  39 +-- tStaff — 20 印刷行业员工
  40 +-- =====================================================================
  41 +INSERT IGNORE INTO tStaff
  42 + (sBrandsId, sSubsidiaryId, tCreateDate, sStaffNo, sStaffName, sDepartment, sCreatedBy, bDeleted) VALUES
  43 +('XLY','XLY','2024-01-15 09:00:00','S0001','管广飞','工艺技术','admin',0),
  44 +('XLY','XLY','2024-01-15 09:00:00','S0002','李斌','印刷车间','admin',0),
  45 +('XLY','XLY','2024-01-16 10:00:00','S0003','朱财喜','机修','admin',0),
  46 +('XLY','XLY','2024-01-16 10:00:00','S0004','林杰华','机务部','admin',0),
  47 +('XLY','XLY','2024-01-17 11:00:00','S0005','汪鑫','财务部','admin',0),
  48 +('XLY','XLY','2024-01-17 11:00:00','S0006','钱昉','装订车间','admin',0),
  49 +('XLY','XLY','2024-01-18 09:30:00','S0007','张冠飞','总经办公室','admin',0),
  50 +('XLY','XLY','2024-01-18 09:30:00','S0008','孟威','总务部','admin',0),
  51 +('XLY','XLY','2024-01-19 10:30:00','S0009','杭仁萍','供应链','admin',0),
  52 +('XLY','XLY','2024-01-19 10:30:00','S0010','王月','质量管理部','admin',0),
  53 +('XLY','XLY','2024-01-20 11:30:00','S0011','王宽明','模切车间','admin',0),
  54 +('XLY','XLY','2024-01-20 11:30:00','S0012','潘强','计划组','admin',0),
  55 +('XLY','XLY','2024-01-21 09:00:00','S0013','耿广东','样品开发','admin',0),
  56 +('XLY','XLY','2024-01-21 09:00:00','S0014','余涛','设计部','admin',0),
  57 +('XLY','XLY','2024-01-22 10:00:00','S0015','梁赵军','仓库','admin',0),
  58 +('XLY','XLY','2024-01-22 10:00:00','S0016','曹佳怡','工艺技术','admin',0),
  59 +('XLY','XLY','2024-01-23 11:00:00','S0017','陈思琪','印刷车间','admin',0),
  60 +('XLY','XLY','2024-01-23 11:00:00','S0018','张红英','机修','admin',0),
  61 +('XLY','XLY','2024-01-24 09:30:00','S0019','吕欣彦','财务部','admin',0),
  62 +('XLY','XLY','2024-01-24 09:30:00','S0020','陈雪婷','装订车间','admin',0);
  63 +
  64 +-- =====================================================================
  65 +-- tUser — admin + 18 业务用户。所有密码默认 666666 (BCrypt).
  66 +-- bDeleted=1 on 梁赵军 to demonstrate the 作废 column.
  67 +-- =====================================================================
  68 +INSERT IGNORE INTO tUser
  69 + (sBrandsId, sSubsidiaryId, tCreateDate, sUserNo, sUserName, iStaffId, sUserType, sLanguage,
  70 + bCanModifyDocs, sPasswordHash, tLastLoginDate, sCreatedBy, bDeleted) VALUES
  71 +('XLY','XLY','2024-01-10 08:00:00','admin','admin', NULL,'超级管理员','zh',1,'$HASH','2026-04-30 09:55:00','system',0),
  72 +('XLY','XLY','2024-01-15 09:05:00','ggf','管广飞', (SELECT iIncrement FROM tStaff WHERE sStaffNo='S0001'),'超级管理员','zh',1,'$HASH','2026-04-29 16:32:11','admin',0),
  73 +('XLY','XLY','2024-01-15 09:06:00','lib','李斌', (SELECT iIncrement FROM tStaff WHERE sStaffNo='S0002'),'普通用户','zh',1,'$HASH','2026-04-29 14:20:08','admin',0),
  74 +('XLY','XLY','2024-01-16 10:05:00','zhucx','朱财喜',(SELECT iIncrement FROM tStaff WHERE sStaffNo='S0003'),'普通用户','zh',0,'$HASH','2026-04-28 09:11:42','admin',0),
  75 +('XLY','XLY','2024-01-16 10:06:00','ljh','林杰华',(SELECT iIncrement FROM tStaff WHERE sStaffNo='S0004'),'普通用户','zh',0,'$HASH','2026-04-29 11:55:30','admin',0),
  76 +('XLY','XLY','2024-01-17 11:05:00','wx','汪鑫',(SELECT iIncrement FROM tStaff WHERE sStaffNo='S0005'),'普通用户','zh',1,'$HASH','2026-04-30 08:42:15','admin',0),
  77 +('XLY','XLY','2024-01-17 11:06:00','qianb','钱昉',(SELECT iIncrement FROM tStaff WHERE sStaffNo='S0006'),'普通用户','zh',0,'$HASH','2026-04-25 13:22:00','admin',0),
  78 +('XLY','XLY','2024-01-18 09:35:00','zgf','张冠飞',(SELECT iIncrement FROM tStaff WHERE sStaffNo='S0007'),'超级管理员','zh',1,'$HASH','2026-04-30 09:18:55','admin',0),
  79 +('XLY','XLY','2024-01-18 09:36:00','mengw','孟威',(SELECT iIncrement FROM tStaff WHERE sStaffNo='S0008'),'普通用户','zh',0,'$HASH','2026-04-22 16:04:30','admin',0),
  80 +('XLY','XLY','2024-01-19 10:35:00','hangrp','杭仁萍',(SELECT iIncrement FROM tStaff WHERE sStaffNo='S0009'),'普通用户','zh',1,'$HASH','2026-04-29 17:33:12','admin',0),
  81 +('XLY','XLY','2024-01-19 10:36:00','wy','王月',(SELECT iIncrement FROM tStaff WHERE sStaffNo='S0010'),'普通用户','en',0,'$HASH','2026-04-28 10:15:00','admin',0),
  82 +('XLY','XLY','2024-01-20 11:35:00','wkm','王宽明',(SELECT iIncrement FROM tStaff WHERE sStaffNo='S0011'),'普通用户','zh',0,'$HASH','2026-04-30 07:55:40','admin',0),
  83 +('XLY','XLY','2024-01-20 11:36:00','pq','潘强',(SELECT iIncrement FROM tStaff WHERE sStaffNo='S0012'),'普通用户','zh',1,'$HASH','2026-04-29 15:48:20','admin',0),
  84 +('XLY','XLY','2024-01-21 09:05:00','ggd','耿广东',(SELECT iIncrement FROM tStaff WHERE sStaffNo='S0013'),'普通用户','zh',0,'$HASH','2026-04-26 11:11:11','admin',0),
  85 +('XLY','XLY','2024-01-21 09:06:00','yt','余涛',(SELECT iIncrement FROM tStaff WHERE sStaffNo='S0014'),'普通用户','zh',1,'$HASH','2026-04-30 08:30:25','admin',0),
  86 +('XLY','XLY','2024-01-22 10:05:00','lzj','梁赵军',(SELECT iIncrement FROM tStaff WHERE sStaffNo='S0015'),'普通用户','zh',0,'$HASH','2026-04-15 09:50:00','admin',1),
  87 +('XLY','XLY','2024-01-22 10:06:00','cjy','曹佳怡',(SELECT iIncrement FROM tStaff WHERE sStaffNo='S0016'),'普通用户','zh-TW',0,'$HASH','2026-04-29 13:45:00','admin',0),
  88 +('XLY','XLY','2024-01-23 11:05:00','csq','陈思琪',(SELECT iIncrement FROM tStaff WHERE sStaffNo='S0017'),'普通用户','zh',0,'$HASH','2026-04-28 14:12:00','admin',0),
  89 +('XLY','XLY','2024-01-23 11:06:00','zhy','张红英',(SELECT iIncrement FROM tStaff WHERE sStaffNo='S0018'),'普通用户','zh',0,'$HASH','2026-04-30 09:00:00','admin',0);
  90 +
  91 +-- =====================================================================
  92 +-- tPermissionCategory — 30 permission groups (matches prototype's
  93 +-- PERMISSION_GROUPS list shown in UserDetail's permission grid).
  94 +-- All flat (iParentId=NULL) for simplicity.
  95 +-- =====================================================================
  96 +INSERT IGNORE INTO tPermissionCategory
  97 + (sBrandsId, sSubsidiaryId, tCreateDate, sCategoryCode, sCategoryName, iParentId, iSortOrder, sCreatedBy, bDeleted) VALUES
  98 +('XLY','XLY','2024-01-10 08:00:00','PERM_DEFAULT_VISIBLE','默认显示(必选)',NULL,1,'system',0),
  99 +('XLY','XLY','2024-01-10 08:00:00','PERM_HIDE_PRICE','禁止查看价格',NULL,2,'system',0),
  100 +('XLY','XLY','2024-01-10 08:00:00','PERM_CS_FOLLOW','客服跟单',NULL,3,'system',0),
  101 +('XLY','XLY','2024-01-10 08:00:00','PERM_QUOTE_GROUP','报价组员工',NULL,4,'system',0),
  102 +('XLY','XLY','2024-01-10 08:00:00','PERM_MAT_CTRL','物控部员工',NULL,5,'system',0),
  103 +('XLY','XLY','2024-01-10 08:00:00','PERM_SUPPLY_PMC','供应链 PMC',NULL,6,'system',0),
  104 +('XLY','XLY','2024-01-10 08:00:00','PERM_VIEW_ORDER_PRICE','允许查看订单价格',NULL,7,'system',0),
  105 +('XLY','XLY','2024-01-10 08:00:00','PERM_STORAGE','储运部员工',NULL,8,'system',0),
  106 +('XLY','XLY','2024-01-10 08:00:00','PERM_EXT_SUPPLIER','外部供应商',NULL,9,'system',0),
  107 +('XLY','XLY','2024-01-10 08:00:00','PERM_QC_STAFF','品质部员工',NULL,10,'system',0),
  108 +('XLY','XLY','2024-01-10 08:00:00','PERM_TECH_CENTER','技术中心员工',NULL,11,'system',0),
  109 +('XLY','XLY','2024-01-10 08:00:00','PERM_MAINT_GROUP','机修组员工',NULL,12,'system',0),
  110 +('XLY','XLY','2024-01-10 08:00:00','PERM_PROD_PLANNING','生产部计划员工',NULL,13,'system',0),
  111 +('XLY','XLY','2024-01-10 08:00:00','PERM_OUTSOURCE','外发组员工',NULL,14,'system',0),
  112 +('XLY','XLY','2024-01-10 08:00:00','PERM_DIE_CUT','模烫车间',NULL,15,'system',0),
  113 +('XLY','XLY','2024-01-10 08:00:00','PERM_BINDING','装订车间',NULL,16,'system',0),
  114 +('XLY','XLY','2024-01-10 08:00:00','PERM_GLUE','粘接工车间',NULL,17,'system',0),
  115 +('XLY','XLY','2024-01-10 08:00:00','PERM_QC_MGMT','品质部管理',NULL,18,'system',0),
  116 +('XLY','XLY','2024-01-10 08:00:00','PERM_PREMIUM','精品车间',NULL,19,'system',0),
  117 +('XLY','XLY','2024-01-10 08:00:00','PERM_HR','人事组',NULL,20,'system',0),
  118 +('XLY','XLY','2024-01-10 08:00:00','PERM_STATS','统计组',NULL,21,'system',0),
  119 +('XLY','XLY','2024-01-10 08:00:00','PERM_MAINT_SUPER','机修主管',NULL,22,'system',0),
  120 +('XLY','XLY','2024-01-10 08:00:00','PERM_SAMPLE_DEV','样品开发部员工',NULL,23,'system',0),
  121 +('XLY','XLY','2024-01-10 08:00:00','PERM_DESIGN','设计开发',NULL,24,'system',0),
  122 +('XLY','XLY','2024-01-10 08:00:00','PERM_GM_OFFICE','总经办',NULL,25,'system',0),
  123 +('XLY','XLY','2024-01-10 08:00:00','PERM_FINANCE','财务部',NULL,26,'system',0),
  124 +('XLY','XLY','2024-01-10 08:00:00','PERM_SALES','销售员',NULL,27,'system',0),
  125 +('XLY','XLY','2024-01-10 08:00:00','PERM_PURCHASE','采购员',NULL,28,'system',0),
  126 +('XLY','XLY','2024-01-10 08:00:00','PERM_WAREHOUSE','仓库管理员',NULL,29,'system',0),
  127 +('XLY','XLY','2024-01-10 08:00:00','PERM_VOID','作废权限',NULL,30,'system',0);
  128 +
  129 +-- =====================================================================
  130 +-- tUserPermission — 默认显示给所有非超管用户;按部门派几条相关权限
  131 +-- =====================================================================
  132 +-- 默认显示(必选) → 所有 active 非超管用户
  133 +INSERT IGNORE INTO tUserPermission
  134 + (sBrandsId, sSubsidiaryId, tCreateDate, iUserId, iCategoryId, sCreatedBy)
  135 +SELECT 'XLY','XLY','2024-02-01 09:00:00', u.iIncrement, c.iIncrement, 'admin'
  136 + FROM tUser u, tPermissionCategory c
  137 + WHERE u.sUserType='普通用户' AND u.bDeleted=0
  138 + AND c.sCategoryCode='PERM_DEFAULT_VISIBLE';
  139 +
  140 +-- 财务部用户 → 财务 + 允许查看订单价格
  141 +INSERT IGNORE INTO tUserPermission
  142 + (sBrandsId, sSubsidiaryId, tCreateDate, iUserId, iCategoryId, sCreatedBy)
  143 +SELECT 'XLY','XLY','2024-02-01 09:00:00', u.iIncrement, c.iIncrement, 'admin'
  144 + FROM tUser u
  145 + JOIN tStaff s ON s.iIncrement = u.iStaffId AND s.sDepartment='财务部'
  146 + JOIN tPermissionCategory c ON c.sCategoryCode IN ('PERM_FINANCE','PERM_VIEW_ORDER_PRICE');
  147 +
  148 +-- 印刷车间 / 机修 → 物控部员工
  149 +INSERT IGNORE INTO tUserPermission
  150 + (sBrandsId, sSubsidiaryId, tCreateDate, iUserId, iCategoryId, sCreatedBy)
  151 +SELECT 'XLY','XLY','2024-02-01 09:00:00', u.iIncrement, c.iIncrement, 'admin'
  152 + FROM tUser u
  153 + JOIN tStaff s ON s.iIncrement = u.iStaffId AND s.sDepartment IN ('印刷车间','机修')
  154 + JOIN tPermissionCategory c ON c.sCategoryCode='PERM_MAT_CTRL';
  155 +
  156 +-- 装订车间 → 装订车间
  157 +INSERT IGNORE INTO tUserPermission
  158 + (sBrandsId, sSubsidiaryId, tCreateDate, iUserId, iCategoryId, sCreatedBy)
  159 +SELECT 'XLY','XLY','2024-02-01 09:00:00', u.iIncrement, c.iIncrement, 'admin'
  160 + FROM tUser u
  161 + JOIN tStaff s ON s.iIncrement = u.iStaffId AND s.sDepartment='装订车间'
  162 + JOIN tPermissionCategory c ON c.sCategoryCode='PERM_BINDING';
  163 +
  164 +-- 模切车间 → 模烫车间
  165 +INSERT IGNORE INTO tUserPermission
  166 + (sBrandsId, sSubsidiaryId, tCreateDate, iUserId, iCategoryId, sCreatedBy)
  167 +SELECT 'XLY','XLY','2024-02-01 09:00:00', u.iIncrement, c.iIncrement, 'admin'
  168 + FROM tUser u
  169 + JOIN tStaff s ON s.iIncrement = u.iStaffId AND s.sDepartment='模切车间'
  170 + JOIN tPermissionCategory c ON c.sCategoryCode='PERM_DIE_CUT';
  171 +
  172 +-- 质量管理部 → 品质部员工 + 品质部管理
  173 +INSERT IGNORE INTO tUserPermission
  174 + (sBrandsId, sSubsidiaryId, tCreateDate, iUserId, iCategoryId, sCreatedBy)
  175 +SELECT 'XLY','XLY','2024-02-01 09:00:00', u.iIncrement, c.iIncrement, 'admin'
  176 + FROM tUser u
  177 + JOIN tStaff s ON s.iIncrement = u.iStaffId AND s.sDepartment='质量管理部'
  178 + JOIN tPermissionCategory c ON c.sCategoryCode IN ('PERM_QC_STAFF','PERM_QC_MGMT');
  179 +
  180 +-- 设计部 / 样品开发 → 设计开发 / 样品开发部员工
  181 +INSERT IGNORE INTO tUserPermission
  182 + (sBrandsId, sSubsidiaryId, tCreateDate, iUserId, iCategoryId, sCreatedBy)
  183 +SELECT 'XLY','XLY','2024-02-01 09:00:00', u.iIncrement, c.iIncrement, 'admin'
  184 + FROM tUser u
  185 + JOIN tStaff s ON s.iIncrement = u.iStaffId
  186 + JOIN tPermissionCategory c ON
  187 + (s.sDepartment='设计部' AND c.sCategoryCode='PERM_DESIGN')
  188 + OR (s.sDepartment='样品开发' AND c.sCategoryCode='PERM_SAMPLE_DEV');
  189 +
  190 +-- =====================================================================
  191 +-- tModule — KPI 流程作业单 (5 主流程) + 系统设置
  192 +-- Use sProcedureName as natural key (it has uk_procedure_name).
  193 +-- Insert roots first, then children referencing parents via subquery.
  194 +-- =====================================================================
  195 +
  196 +-- 1. 估价管理流程
  197 +INSERT IGNORE INTO tModule
  198 + (sBrandsId, sSubsidiaryId, tCreateDate, sDisplayType, sProcedureName, sModuleType,
  199 + sManageDeptEn, bShowPermission, sModuleNameZh, iParentId, iSortOrder, sCreatedBy, bDeleted) VALUES
  200 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_QuoteFlow','KPI流程','Pricing',1,'估价管理流程',NULL,1,'admin',0);
  201 +INSERT IGNORE INTO tModule (sBrandsId,sSubsidiaryId,tCreateDate,sDisplayType,sProcedureName,sModuleType,sManageDeptEn,bShowPermission,sModuleNameZh,iParentId,iSortOrder,sCreatedBy,bDeleted) VALUES
  202 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_QuoteCreate','单据','Pricing',1,'01/04 【新增】新报价单', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_QuoteFlow') AS x),1,'admin',0),
  203 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_QuoteAudit','单据','Pricing',1,'02/04 审核报价单->客户确认', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_QuoteFlow') AS x),2,'admin',0),
  204 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_QuoteCustConfirm','单据','Pricing',1,'03/04 客户确认->二次确认', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_QuoteFlow') AS x),3,'admin',0),
  205 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_QuoteToOrder','单据','Pricing',1,'04/04 报价单->销售订单', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_QuoteFlow') AS x),4,'admin',0),
  206 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_QuoteToImpose','单据','Pricing',1,'04/04 报价单->转拼版单', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_QuoteFlow') AS x),5,'admin',0),
  207 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_QuoteSupervisorAudit','单据','Pricing',1,'04/07 主管审核报价单', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_QuoteFlow') AS x),6,'admin',0),
  208 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_QuoteSalesConfirm','单据','Pricing',1,'05/07 业务确认报价单', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_QuoteFlow') AS x),7,'admin',0);
  209 +
  210 +-- 2. 订单生产流程
  211 +INSERT IGNORE INTO tModule (sBrandsId,sSubsidiaryId,tCreateDate,sDisplayType,sProcedureName,sModuleType,sManageDeptEn,bShowPermission,sModuleNameZh,iParentId,iSortOrder,sCreatedBy,bDeleted) VALUES
  212 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_OrderFlow','KPI流程','Production',1,'订单生产流程',NULL,2,'admin',0);
  213 +INSERT IGNORE INTO tModule (sBrandsId,sSubsidiaryId,tCreateDate,sDisplayType,sProcedureName,sModuleType,sManageDeptEn,bShowPermission,sModuleNameZh,iParentId,iSortOrder,sCreatedBy,bDeleted) VALUES
  214 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_OrderCreate','单据','Production',1,'01/03 销售订单->生产任务单', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_OrderFlow') AS x),1,'admin',0),
  215 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_OrderDispatch','单据','Production',1,'02/03 任务单分派', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_OrderFlow') AS x),2,'admin',0),
  216 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_OrderComplete','单据','Production',1,'03/03 任务单完成', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_OrderFlow') AS x),3,'admin',0);
  217 +
  218 +-- 3. 自动拼版流程
  219 +INSERT IGNORE INTO tModule (sBrandsId,sSubsidiaryId,tCreateDate,sDisplayType,sProcedureName,sModuleType,sManageDeptEn,bShowPermission,sModuleNameZh,iParentId,iSortOrder,sCreatedBy,bDeleted) VALUES
  220 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_PanelFlow','KPI流程','Imposition',1,'自动拼版流程',NULL,3,'admin',0);
  221 +INSERT IGNORE INTO tModule (sBrandsId,sSubsidiaryId,tCreateDate,sDisplayType,sProcedureName,sModuleType,sManageDeptEn,bShowPermission,sModuleNameZh,iParentId,iSortOrder,sCreatedBy,bDeleted) VALUES
  222 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_PanelCreate','单据','Imposition',1,'01/02 拼版任务生成', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_PanelFlow') AS x),1,'admin',0),
  223 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_PanelAudit','单据','Imposition',1,'02/02 拼版审核', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_PanelFlow') AS x),2,'admin',0);
  224 +
  225 +-- 4. 销售送货流程
  226 +INSERT IGNORE INTO tModule (sBrandsId,sSubsidiaryId,tCreateDate,sDisplayType,sProcedureName,sModuleType,sManageDeptEn,bShowPermission,sModuleNameZh,iParentId,iSortOrder,sCreatedBy,bDeleted) VALUES
  227 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_ShipFlow','KPI流程','Logistics',1,'销售送货流程',NULL,4,'admin',0);
  228 +INSERT IGNORE INTO tModule (sBrandsId,sSubsidiaryId,tCreateDate,sDisplayType,sProcedureName,sModuleType,sManageDeptEn,bShowPermission,sModuleNameZh,iParentId,iSortOrder,sCreatedBy,bDeleted) VALUES
  229 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_ShipCreate','单据','Logistics',1,'01/02 发货单创建', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_ShipFlow') AS x),1,'admin',0),
  230 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_ShipConfirm','单据','Logistics',1,'02/02 签收确认', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_ShipFlow') AS x),2,'admin',0);
  231 +
  232 +-- 5. 物料采购流程
  233 +INSERT IGNORE INTO tModule (sBrandsId,sSubsidiaryId,tCreateDate,sDisplayType,sProcedureName,sModuleType,sManageDeptEn,bShowPermission,sModuleNameZh,iParentId,iSortOrder,sCreatedBy,bDeleted) VALUES
  234 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_PurchFlow','KPI流程','Purchasing',1,'物料采购流程',NULL,5,'admin',0);
  235 +INSERT IGNORE INTO tModule (sBrandsId,sSubsidiaryId,tCreateDate,sDisplayType,sProcedureName,sModuleType,sManageDeptEn,bShowPermission,sModuleNameZh,iParentId,iSortOrder,sCreatedBy,bDeleted) VALUES
  236 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_PurchRequest','单据','Purchasing',1,'01/03 采购申请', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_PurchFlow') AS x),1,'admin',0),
  237 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_PurchOrder','单据','Purchasing',1,'02/03 采购订单', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_PurchFlow') AS x),2,'admin',0),
  238 +('XLY','XLY','2024-01-10 08:00:00','前端业务','Sp_PurchReceive','单据','Purchasing',1,'03/03 入库确认', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_PurchFlow') AS x),3,'admin',0);
  239 +
  240 +-- 6. 系统设置
  241 +INSERT IGNORE INTO tModule (sBrandsId,sSubsidiaryId,tCreateDate,sDisplayType,sProcedureName,sModuleType,sManageDeptEn,bShowPermission,sModuleNameZh,iParentId,iSortOrder,sCreatedBy,bDeleted) VALUES
  242 +('XLY','XLY','2024-01-10 08:00:00','系统配置','Sp_SysFlow','系统','SysAdmin',0,'系统设置',NULL,99,'admin',0);
  243 +INSERT IGNORE INTO tModule (sBrandsId,sSubsidiaryId,tCreateDate,sDisplayType,sProcedureName,sModuleType,sManageDeptEn,bShowPermission,sModuleNameZh,iParentId,iSortOrder,sCreatedBy,bDeleted) VALUES
  244 +('XLY','XLY','2024-01-10 08:00:00','系统配置','Sp_SysUserList','单据','SysAdmin',0,'用户列表', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_SysFlow') AS x),1,'admin',0),
  245 +('XLY','XLY','2024-01-10 08:00:00','系统配置','Sp_SysModuleConfig','单据','SysAdmin',0,'系统模块配置', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_SysFlow') AS x),2,'admin',0),
  246 +('XLY','XLY','2024-01-10 08:00:00','系统配置','Sp_SysRole','单据','SysAdmin',0,'角色管理', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_SysFlow') AS x),3,'admin',0),
  247 +('XLY','XLY','2024-01-10 08:00:00','系统配置','Sp_SysMenu','单据','SysAdmin',0,'菜单配置', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_SysFlow') AS x),4,'admin',0),
  248 +('XLY','XLY','2024-01-10 08:00:00','系统配置','Sp_SysLog','单据','SysAdmin',0,'操作日志', (SELECT iIncrement FROM (SELECT iIncrement FROM tModule WHERE sProcedureName='Sp_SysFlow') AS x),5,'admin',0);
  249 +
  250 +SELECT
  251 + (SELECT COUNT(*) FROM tStaff) AS staff_rows,
  252 + (SELECT COUNT(*) FROM tUser) AS user_rows,
  253 + (SELECT COUNT(*) FROM tPermissionCategory) AS perm_cat_rows,
  254 + (SELECT COUNT(*) FROM tUserPermission) AS user_perm_rows,
  255 + (SELECT COUNT(*) FROM tModule) AS module_rows;
  256 +SQL
  257 +
  258 +echo "[seed-dev-data] OK"
... ...