现在的位置: 首页 > 综合 > 正文

20110829规管系统中的一个存盘过程

2013年08月28日 ⁄ 综合 ⁄ 共 4366字 ⁄ 字号 评论关闭

统计类型的操作菜单
1“标准统计”和“案卷统计”的菜单:添加统计类型/排序、统计表格编辑/存盘Menu_typtNomAndFil
2“固定统计”的菜单:排序/存盘
Menu_typtFxd
3“标准统计”下分支的菜单:添加统计条件、添加统计结果、选择业务类型、添加中间结果库、删除/排序/生成标准统计、统计表格编辑/存盘
Menu_typtNomChild
4“中间结果库”对应菜单:添加字段、删除/排序、统计表格编辑/存盘
Menu_midRes
5“固定统计”和“案卷统计”下分支的菜单:排序、统计表格编辑/存盘
Menu_typtFxiAndFilChild
==============================================================
菜单DATA项:meAddStat,meArrange,meStatTableEdit,meSaveData,meAddStatCond
            meAddStatRes,meSelStatOpTp,meAddMidRes,meDelete,meCreatModStat
            meAddFld
==============================================================
1定义记录操作历史的ARRAYCOLLECTION(用于存盘,新添加一个字段SAVETYPE:"insert","update","delete")
 要存盘的表  对应ARRAYCOLLECTION
=========================
 tbstattype  save_statType
--------STATTYPENUM,STATTYPENAME,STATTYPEPROPERTY,STATLEVEL
insert:(addStatType)instStatTypeNum,instStatTypeName,instStatLevel
update:(uptStatType)uptStatTypeNum,uptStatTypeName,uptStatTypeProperty,uptStatLevel
delete:(delStatType)delStatTypeNum
=========================
 tbStat_ResultType save_resType
--------STATTYPENUM,STATRESTYPENUM,STATRESTYPENAME,STATRESTYPEDATATYPE,STATRESTYPEDATATYPEWIDTH,STATRESBANDTYPE
insert:(addResType)instStatTypeNum,instStatResTypeNum,instStatResTypeName
update:(uptResType)uptStatTypeNum,uptStatResTypeNum,
  uptStatResTypeName,uptResTypeDataType,
  uptDataTypeWidth,uptResBandType
delete:(delResType)delStatTypeNum,delStatResTypeNum
=========================
 tbStatMiddleResult save_midRes
--------STATTYPENUM,STATMIDRESNUM,STATMIDRESNAME,
insert:(addStatMidResType)instStatTypeNum,instStatMidNum,instStatMidName
update:(uptStatMidResType)uptStatMidNum,uptStatMidName
delete:(delStatMidResType)delStatMidNum
=========================
 tbStatMiddleResultField save_midResFld
--------STATMIDRESNUM,STATMIDRESTYPECODE,STATMIDRESTYPENAME,STATMIDRESTYPEDATATYPE,STATMIDRESTYPEDTWIDTH
insert:(addMidResFld)instMidResNum,instMidResCode,instMidResName
update:(uptMidResFld)uptMidResNum,uptMidResCode
   uptMidResName,uptMidResDataType,uptMidResDtWidth
delete:(delMidResFld)delMidResNum,delMidResCode
==========================
 tbStat_condType  save_condType
--------STATTYPENUM,STATCONDTYPENUM,STATCONDTYPENAME,STATCONDTYPEDATATYPE,STATCONDDISPLAYTYPE,CONFIGTBNUM
insert:(addCondTp)instStatTypeNum,instCondNum,instCondName
update:(uptCondTp)uptStatTypeNum,uptCondNum,uptCondName,uptDataType,uptDispTp,uptCfigNum
delete:(delCondTp)delStatTypeNum,delCondNum
=========================
 tbStatType_OpType save_statOpTp(insert ,delete)
insert:(addOpTp)opStatNum,opTypeCode
delete:(delOpTp)opStatNum,opTypeCode===============================================================
菜单处理函数
1添加统计条件addstatcond:新建node(取NUM,取新NAME,加到stattypeArr)
    刷新TREE(调用现成的那套刷新函数)
   新建saveNode("save"+node,加到save_statType)
 select a.stattypenum,
       a.stattypename,
       a.stattypeproperty,
       a.statifdelete,
       a.statformtag,
       a.statlevel,
       a.statsqlscript
2排序
 
 构建一个整体的typearr,按STATLEVEL排序,弹出对话框,
 上下移动,修改newArrByLevel还有一个存储操作记录的levelActionArr
  (只两列stattypenum和statlevel)
 点击确定后修改stattypearr-(nom,fxd,fil)和savecolction
 目前一个问题是stattypearr-(nom,fxd,fil)跟着自动修改,解决:
  加一个恢复数组revertArr(TYPENUM,LEVEL,CHANGE:Y/N)。
3统计表格编辑!!未写,好像是调用外部的东西
4存盘!未写
5添加统计条件addCondType:
 tab标签切换到统计条件
 新建node(取num,name,数据类型,加到statcondtypechiarr)
 刷新statcondtypearr,更新dgrd_condTp,
 新建savenode("save"+node,加到save_condtype)
 select        
 a.stattypenum,a.statcondtypenum,
 a.statcondtypename,a.statcondtypedatatype,
 a.statconddisplaytype,a.configtbnum,
        b.tbflddatatypename
        from tbstat_condtype a,tbtbflddatatypedictionary b
6添加统计结果addstatres:
 tab标签切换到统计结果2
 新建node(num,name,数据类型,加到statRsltTypeArr)
 刷新,更新
 新建savenode
 select    d.stattypenum,d.statrestypenum,
 d.statrestypename,d.statrestypedatatype,
 d.statrestypedatatypewidth,d.statresbandtype,
        c.tbflddatatypename  
     from tbStat_ResultType d,tbtbflddatatypedictionary c
     where d.statrestypedatatype=c.tbflddatatypenum

7选择业务类型!!弹出 的是新的对话框。。。。
 tbOpTpArr传递到对话框显示数据
 tbStatType_OpType(STATTYPENUM,OPTYPECODE)要修改的表(存盘时修改)
 statOpTpArr要修改的数组(关闭窗口时修改)
 save_statOpTp记录(多statnum)(STATTYPENUM,OPTYPECODE)
 revertArr(OPTYPECODE,CHANGE:true/false)临时记录(当前statnum)

8添加中间结果库addmidres:
 切换state,tab页(state应该不用再切换了,树点击里边触发过了)
 新建node(STATTYPENUM,STATMIDRESNUM,STATMIDRESNAME)
 加到statmidresarr,并刷新chi
 新建savenode
 
9删除
10生成标准统计
11添加字段addmidresfld:
 切换tab页
 新建node(STATMIDRESNUM,STATMIDRESTYPECODE,STATMIDRESTYPENAME
  STATMIDRESTYPEDATATYPE,STATMIDRESTYPEDTWIDTH)
 加到statmidresfldarr,刷新CHI
 新建savenode
 

抱歉!评论已关闭.