# xckijun 表 ## Description - 物理表名:xckijun - 業務名称:[コントロール]給与計算基準項目定義 - 业务语义:給与計算基準項目(xkkijun 系列 200 槽位五花)の**項目定義**を保持する control 表 - xkkijun 系列的"动态列名 + 数据槽"模式(ccode01..ccode200 / cname01..cname200 ...)的元信息 - 1 项目 = 1 行(項目種別 1:区分 / 2:名称 / 3:数値 / 4:日付 / 5:フラグ) - 項目 No. 1~40(本部用 40 项,扩展槽位从 xkkijun 200 槽里挑) - 所属项目:UPDS-V7 給与システム - 所在库:updsv7_opho_ci(192.168.1.72:5432,CI 环境) - 设计書:D:\\25.テーブル一覧\\10.テーブル定義\\30.給与\xckijun.xlsx(2026-08-19 user 提供) ## Key Facts (实测 2026-08-19 information_schema) - 物理列数:23 - 主键 UNIQUE 索引:xckijun_idx(ccompkb, cqtaikeikb, nqshoyokb, dstart, nkomokukb, nkomokuno) - 唯一索引:xckijun_rowid_key UNIQUE(rowid) - 业务角色:control / 項目メタデータ(不是业务数据本身) - 与 xkkijun 关系:控制表 → 数据表(定义 xkkijun 动态列的语义) - 与 xkkijunctl 区别:xkkijunctl = 連携停止控制(15 列扁平);xckijun = 項目定义控制(23 列含动态列语义) ## 列结构(实测已确认) (A) 头部业务标识 5 列,全部 NOT NULL: 1. ccompkb varchar(2) -- 会社区分 2. cqtaikeikb varchar(2) -- 給与体系区分(00 固定) 3. nqshoyokb numeric(1,0) -- 給与賞与区分 4. dstart date -- 適用開始年月(YYYY/MM/01) 5. dend date -- 適用終了年月(YYYY/MM/末日) (C) 业务控制列(7 列): 10. nkomokukb numeric(1,0) NOT NULL -- 項目種別(1:区分,2:名称,3:数値,4:日付,5:フラグ) 11. nkomokuno numeric(3,0) NOT NULL -- 項目 No.(1~40) 12. ckomokunm varchar(30) -- 項目名称 13. ccolumnid varchar(20) -- 項目カラム ID(xkkijun 200 槽位对应列名如 ccode05) 14. nseisuu numeric(3,0) -- 最大桁数)整数部 15. nshosuu numeric(3,0) -- 最大桁数)小数部 16. cmtableid varchar(20) -- マスタ参照)テーブル ID(◆ 未使用 ◆) 17. cmtblwhere varchar(999) -- マスタ参照)テーブル表示条件(◆ 未使用 ◆) (D) 预留标志列(5 列): 18-22. nflag01..nflag05 numeric(1,0) -- ◆ 未使用 ◆ (B) 日志 4 列: 6. cmnclient varchar(10) -- 更新ユーザ)端末ID 7. cmncomp varchar(2) -- 更新ユーザ)会社区分 8. cmnuser varchar(10) -- 更新ユーザ)ユーザID 9. dmndate timestamp(0) without timezone -- 更新日時 (E) 代理键: 23. rowid bigint NOT NULL DEFAULT nextval('rowid_seq'::regclass) ## DB vs xlsx 差异点 (7 处) 1. **PK UNIQUE 索引列顺序** — xlsx 序号 1~6 = `ccompkb, cqtaikeikb, dstart, nkomokukb, nkomokuno, nqshoyokb`;DB 实际 UNIQUE = `ccompkb, cqtaikeikb, nqshoyokb, dstart, nkomokukb, nkomokuno`。第 3 / 6 位 `dstart` 与 `nqshoyokb` 顺序颠倒。UNIQUE 索引不受顺序影响,但 WHERE 优化走索引时列顺序敏感。 3. **dmndate 精度** — xlsx 写 `timestamp`,DB 实际 `timestamp(0) without time zone`。PostgreSQL 默认 `timestamp` 就是 without time zone,所以 DB 类型准确,xlsx 缺精度标注。 4. **rowid 默认值** — xlsx 只写 `int8 N`,DB 实际有 `DEFAULT nextval('rowid_seq'::regclass)` 序列。 5. **cmtblwhere 长度 999** — xlsx 写 999,DB `varchar(999)`(PG 的 varchar(n) 长度限制语义:超长报错而非截断,与别的 DB 不同)。 6. **xckijun_rowid_key UNIQUE(rowid) 索引** — xlsx 完全没标,DB 存在。 7. **索引序号 vs DB ordinal_position** — xlsx 索引 #6 = `nqshoyokb`(注意 xlsx 把 `nqshoyokb` 标 6),DB ordinal_position 也是 3(因为 DB 列顺序是 `ccompkb, cqtaikeikb, nqshoyokb, dstart, dend, cmnclient, ...`)。xlsx 索引序号只是业务约定,不一定对应物理列位。 ## Relations - 上位系统:UPDS-V7 給与システム - **控制 → 数据**:xckijun(項目定义)→ xkkijun(实际数据,200 槽位) — xckijun.ccolumnid = xkkijun 列名(如 `ccolumnid='ccode05'` 对应 `xkkijun.ccode05`) - 同型头部 PK:与 xkkijun / xkkijunctl / xkkihon 头部 6 列同型(本表 5 列头部 + nkomokukb/nkomokuno 业务键) - 同领域:qkijun / xkkijunctl / qinp1020 等同 給与基準 系列 ## 同名易混(2026-08-19 实证) - **xckijun** vs **xkkijun** 字形相近但**不同表**: - xckijun:23 列 control / 項目定义(本表) - xkkijun:1011 列 データ / 实际业务值(本日 resource 已独立存在) - 关键区分点:xckijun 有 `nkomokukb` / `nkomokuno` / `ccolumnid` 三列,xkkijun 没有 - 反之,xkkijun 有 `ccode01..200` / `cname01..200` / `nnumber01..200` / `ddate01..200` / `nflag01..200` 1000 列,xckijun 没有 ## 设计書元信息 - シート:改訂履歴(Ver 7.0.0,作成日 45203(=2023-10-01),作成者 NSC) - シート:xckijun(No.1~23) - 业务方备注:項目種別 1:区分,2:名称,3:数値,4:日付,5:フラグ(对应 xkkijun 五花)