F8-Task 13-3
- 格式:pdf
- 大小:274.91 KB
- 文档页数:7
在使用Ansys13.0时,有时会碰到之前用的好好的软件忽然就打不开了。
出现如下窗口。
在license管理里边查看具体错误时会发现,1055端口被占用。
21:10:20 (lmgrd) TheTCPportnumber inthelicense, 1055,isalready in use.21:10:20 (lmgrd) Possible causes:21:10:20 (lmgrd) 1)Thelicenseservermanager (lmgrd) isalready running forthis license.21:10:20 (lmgrd) 2)TheOShasnot"cleared"thisportsincelmgrd died.21:10:20 (lmgrd) 3)Another process isusingthisportnumber (unlikely).21:10:20 (lmgrd) Solutions:21:10:20 (lmgrd) 1)Makesurelmgrdandallvendor daemons for this21:10:20 (lmgrd) license arenot running.21:10:20 (lmgrd) 2)YoumayhavetowaitfortheOStoclearthis port.21:10:20 (lmgrd) Retrying forabout5more minutes此时一般不是别的程序占用了1055的端口,还是license自己出了问题,这时完全没有必要重装软件,甚至重装系统,只需要再把license重新做一遍就可以了。
解决办法:1. 在控制面板>管理工具>服务中有启动并且保证在自动加载项中AnsysInc license manager服务为开启。
2. 重启。
如果不行,如下.1. 删除license.dat2. 重新生成并加载license文件(ansys12 的许可文件生成极为简单,单击ap120_calc输入y 即可)3. 重新安装license文件(在anslic-admin中操作)4. 可能还不行。
Hypermesh中常用快捷键———————————————★—————————————————F1 -- Hidden Line 隐藏线F2 -- Delete 删除(删除任何对象都用此命令)F3 -- Replace 合并两个节点F4 -- Distance 测量距离,角度等F5 -- Mask 隐藏F6 -- Element Edit 单元编辑(创建,合并,分割单元等)F7 -- Align Node 节点共线排列F8 -- Create Node 创建节点F9 -- Line Edit 线编辑(非边界编辑)F10 -- Check Elem 单元质量检查F11 -- collectorsF12 -- Automesh 自动网格划分———————————————★—————————————————Shift+F1-F12Ctrl+F1-F6Key Function key only plusSHIFT plus CTRL keyF1 hiddenline color pr int slideF2 delete (删除) tempnodes slide fileF3 replace edgesprint eps (Note: Works only on UNIX)F4 distance translateeps fileF5 mask findprint b/w epsF6 elementedit split JPEG fileF7 align node projectF8 create node node editF9 line edit surf editF10 check element normalsF11 collectors organize (move移动)F12 automesh smooth ————————————————★———————————————a arc 弧形b back返回以前视图c centerd display 进入显示面板f fill 以适当比例全图形窗口显示模型g global 进入Global参数设置面板h 打开在线帮助文件m 显示/关闭下面的工具面板o option 显示选项参数设置面板p plot 刷新显示r rotates slide 移动缩放,鼠标上下拖动时缩放t true view 设定视角显示v 进入user view dialogw windowsz zoom,按住鼠标在模型上画一个圈,松开鼠标后即显示圈内部分———————————————★—————————————————dangle 摇摆War page 翘曲, 扭曲, 热变形Aspect Ratio 纵横比屏幕高宽比Split v.劈开, (使)裂开, 分裂, 分离n.裂开, 裂口, 裂痕Tria Triangle trigon n.三角形, ellipsoid n.椭圆体project 投影计划实施normals 法线align node 对齐节点b 返回以前视图back z zoomp plot 刷新显示w windowsf fillr rotatec centert 设定视角显示a arc 弧形s slide 移动缩放surfaces and faces 曲面和表面duplicate adj.复制的n.复制品vt.复写, 复制reject 否定拒绝exponential 指数tol tolerance 公差mandatory 命令的, 强制的, 托管的retrieve v.重新得到n.找回centroid n. 质心trim adj. 整齐的, 整洁的vt. 整理, 修整, 装饰morph 变形Solid 体Connectors 焊点Loads (constraints, forces, pressures,etc.) 约束,集中力,面力等Equations (mathematical link between nodes) 约束方程Multibodies 多刚体equivalency n. 相等, 等价skew adj. 歪斜的abort 异常中断, 中途失败biasing 偏置, 偏压algorithm [数]运算法则curvature 弯曲, 曲率chordal 弦的似弦的Interior Angle 内角Aspect Ratio 长宽比Skew Angle 扭曲程度Warp Angle 翘曲度Chordal Deviation 弦差Jacobian 雅可比plate 面solid 体hexa hexahedral 六面体的TetraMesh 四面体网格划分detach 分开分离criteria 标准Drag 拉伸Spin 旋转Line Drag 沿线拉伸Element Offset 单元偏移Linear Solid 线性近似Solid Map 映射beamsectcols 保存梁截面信息的collectorbeamsects 梁截面non-rigid adj.非刚性的Moments of inertia 转动惯量arrow tip 箭头invoke 调用intersect vt. 横断vi. (直线)相交, 交叉conics n.圆锥曲线论, 锥线论NURBS (non-uniform rational B-spline) Used to represent lines that are not straight or elliptical.piecewise adv.[数]分段地planar 平面的tangent 切线permute 序列改变The permute panel allows you to permute node, element, point, line, surface, and component data. Use this function to exchange the axes of a coordinate system. reparam (reparameterize) 确定参数torus Used to represent a toroidal surface. 超环面cone 锥形物圆锥体nested 嵌套的pertaining to 属于关于附属menu buttongreen Functions or executable itemsyellow Collectorsred Return or abort (异常中断) cursor n. 指针rectangular adj. 矩形的, 成直角的tetrahedral adj. 有四面的, 四面体的specular adj. 镜子的weld vt.焊接 n.焊接, 焊缝thetaadjacent 邻近的, 接近的utility 效用有用如果一个面和超过一个面以上共同使用一条边界,就认为是连续的(“Hyper Mesh里称为:equivalenced”)pinhole n.针孔, 小孔toggle 一次合并一条边界(手工)–鼠标左键点击自由边可以变成共享边,点击共享边可以变成压缩边–鼠标右键点击共享边可以变成自由边,点击压缩边可以变成共享边filletbead 筋冲压beam 梁edge fillet 边缘倒圆过渡圆滑部分equivalence 一次可以合并很多边界(自动)–按给定的条件查找曲面上的一对自由边界,并合成成共享边;? toggle 一次合并一条边界(手工)–鼠标左键点击自由边可以变成共享边,点击共享边可以变成压缩边–鼠标右键点击共享边可以变成自由边,点击压缩边可以变成共享边? Replace 一条边替代另一条(也是合并成一条)–合并两条带有一定间隙的自由边成一条共享边;–可以控制哪条边界保留,哪条边界移动;defeature: 面板? duplicates: 重复面–查找并删除重复面quick edit : 面板? filler surf:填补曲面–在自由曲面边界上,选择一条线来自动修补丢失的面。
文件分配表FAT(File Allocation Table)文件分配表是用来表示磁盘文件的空间分配信息的,它不对引导区、文件目录表的信息进行表示,也不真正存储文件内容.文件占用磁盘空间时,基本单位不是字节而是簇。
簇的大小与磁盘的规格有关,一般情况下,软盘每簇是1个扇区,硬盘每簇的扇区数与硬盘的总容量大小有关,为2的n次方,可能是4、8、16、32、64……由于FAT对于文件管理的重要性,所以FAT有一个备份,即在原FAT的后面再建一个同样的FAT。
初形成的FAT中所有项都标明为"未占用",但如果磁盘有局部损坏,那幺格式化程序会检测出损坏的簇,在相应的项中标为"坏簇",以后存文件时就不会再使用这个簇了。
FAT的项数与硬盘上的总簇数相当,每一项占用的字节数也要与总簇数相适应,因为其中需要存放簇号。
FAT的格式有多种,最为常见和为读者所熟悉的是FAT16和FAT32,其中FAT16是指文件分配表使用16位数字,由于16位分配表最多能管理65536(即2的16次方)个簇,也就是所规定的一个硬盘分区。
由于每个簇的存储空间最大只有32KB,所以在使用FAT16管理硬盘时,每个分区的最大存储容量只有(65536×32 KB)即2048MB,也就是我们常说的2G。
现在的硬盘容量是越来越大,由于FAT16对硬盘分区的容量限制,所以当硬盘容量超过2G之后,用户只能将硬盘划分成多个2G的分区后才能正常使用,为此微软公司从Windows 95 OSR2版本开始使用FAT32标准,即使用32位的文件分配表来管理硬盘文件,这样系统就能为文件分配多达4294967296(即2的32次方)个簇,所以在簇同样为32KB时每个分区容量最大可达65G以上。
此外使用FAT32管理硬盘时,每个逻辑盘中的簇长度也比使用FAT16标准管理的同等容量逻辑盘小很多。
由于文件存储在硬盘上占用的磁盘空间以簇为最小单位,所以某一文件即使只有几十个字节也必须占用整个簇,因此逻辑盘的簇单位容量越小越能合理利用存储空间。
Advantest 指令應用◇Run Init (初始化)a3543:/export/home/asx>cd diaga3543:/export/home/asx/diag>testCONTROLLER READY=/CLRCAL/A(清除之前所存之數值)=/INIT= (按空白鍵開始跑INIT,直到等號再度出現才算跑完)◇Run diag (偵錯)a3543:/export/home/asx>cd diaga3543:/export/home/asx/diag>test (key test進入test mode)CONTROLLER READY=/DIAGT5335P DIAGNOSTICS MODE0.SA VE DATA & RETURN1.TEST MODE MAINTENANCE & PASS PRINT (5)2.JUDGE LIMIT 100.00% (不得任意修改)3.TEST RATE 32.00NS4.SCOPE LOOP DISABLE5.TEST PIN SELECT1-30,33-50,97-114<A1> 1-30<A3>1-30,33-50,97-114<B1> 1-30<B3>1-30,33-50,97-114<C1> 1-30<C3>1-30,33-50,97-114<D1> 1-30<D3>6.TEST UNIT SELECT DPU TH1 TH2 (先前所run 的unit)SELECT <0-6> ........................................> 6TEST UNIT SELECT : DPU TG ALPG FCSC FM MRA TH1 TH2(ALL)SELECT ...................> TG(此次所選定要run的unit)TEST UNIT SELECT : DPU TG ALPG FCSC FM MRA TH1 TH2 TEST PROGRAM NO. SELECT TG No. 1 - 39SELECTED PROGRAM NO. : 1-39SELECT ...................> 1-39 (可以全選或只選想跑的channel ex. 10-17)T5335P DIAGNOSTICS MODE0.SA VE DATA & RETURN1.TEST MODE MAINTENANCE & PASS PRINT (5)2.JUDGE LIMIT 100.00% (不得任意修改)3.TEST RATE 32.00NS4.SCOPE LOOP DISABLE5.TEST PIN SELECT1-30,33-50,97-114<A1> 1-30<A3>1-30,33-50,97-114<B1> 1-30<B3>1-30,33-50,97-114<C1> 1-30<C3>1-30,33-50,97-114<D1> 1-30<D3>6.TEST UNIT SELECT TG(1-39)SELECT <0-6> ........................................> 0(按0儲存離開)END SA VE= (於等號後按S鍵)OUTPUT DEVICE SELECTION !OUTP(1-3) LPT(4) OUTP+FILE(5) FILE(6) :DVN= 0 選5 SPECIFY LOG-FILE 021203A 021203B (鍵入檔名)= 於等號後按空白鍵,即開始跑diagnostic程式◇叫出之前INIT 初始化之數值CONTROLLER READY=/DASA VE 2TGU DASA VE DATE AT 2002/12/03 11:14:58 RECOVERY OK !! DPU DASA VE DATE AT 2002/12/03 11:14:59 RECOVERY OK !! VIO DASA VE DATE AT 2002/12/03 11:15:02 RECOVERY OK !! FTU DASA VE DATE AT 2002/12/03 11:15:04 RECOVERY OK !!SYSTEM DASA VE RECOVERY OK !!=◇點測步驟一:進入測試路徑a3544:/export/home/asx> testCONTROLLER READY=o (按o)CONTROL BOX SELECTION !STA TION NO.= 1 (選1)步驟二.鍵入程式名稱、開啟function與datalogPROGRAM NAME ... FUNCTION TEST ...TEST NO. ... 0 PARAMETRIC TEST ...REMARK ... SAMPLE NO. 0TEST STA TUS ... READYCATEGORY ...MODE 1 : PRO NAME ...MODE 2 : TEST MODE ... AUTOMODE 3 : FK ...MODE 4 : DA TA LOG ...MODE 5 : START TEST 0MODE 6 : STOP TEST 0MODE 7 : SAMPLE NO. 0MODE 8 : INIT ...SPECIFY MODE NUMBER THAT YOU WISH TO CHANGE.MODE= 1PREVIOUS PRO NAME =SPECIFY PRO NAME = DIAG(key 程式名稱ex. DIAG)CONTROL BOX SELECTION !STA TION NO.= 1PROGRAM NAME ... FUNCTION TEST ...TEST NO. ... 0 PARAMETRIC TEST ...REMARK ... SAMPLE NO. 0TEST STA TUS ... READYCATEGORY ...MODE 1 : PRO NAME ... DIAGMODE 2 : TEST MODE ... AUTOMODE 3 : FK ... 3 7 11 (開啟function key,若生產時必須將之disable) MODE 4 : DA TA LOG ... PASS-LOG FAIL-LOG FUNC-LOG PARA-LOG MODE 5 : START TEST ... 0 (開啟datalog,生產時則必須disable) MODE 6 : STOP TEST 0MODE 7 : SAMPLE NO. 0MODE 8 : INIT ...SPECIFY MODE NUMBER THAT YOU WISH TO CHANGE.MODE=步驟三.執行點測指令=/MPDEBX (key 點測指令)### MULTIPLE DUT MEASUREMENT DEBUG MODE ###SPECIFY DEBUGGING MODE0: EXIT1: DEBUGGING MODE DISABLE2: HANDLER TESTING MODE3: PROBER TESTING MODE4: MANUAL TESTING MODEMODE NO = 1 3 (選3)SPECIFY DEBUGGING MODE FOR PROBER TESTING0: CLEAR1: CHANGE THE SETTING DUT (ST1) : #FFFFFFFFCHANGE THE SETTING DUT (ST2) : #FFFFFFFF2: CHANGE THE FAILURE DUT : DISABLE3: CHANGE NO-REJCTION MODE : DISABLE4: CHANGE PROBER STA TUS : ST1 = NORMAL-STARTST2 = NORMAL-START MODE NO = 1SPECIFY THE SETTING DUT (ST1) = #FFFFFFFF FF (ST1 Enble) SPECIFY THE SETTING DUT (ST2) = #FFFFFFFF 0 (ST2 Disable)SPECIFY DEBUGGING MODE FOR PROBER TESTING0: CLEAR1: CHANGE THE SETTING DUT (ST1) : #000000FFCHANGE THE SETTING DUT (ST2) : #000000002: CHANGE THE FAILURE DUT : DISABLE3: CHANGE NO-REJCTION MODE : DISABLE4: CHANGE PROBER STA TUS : ST1 = NORMAL-STARTST2 = NORMAL-START MODE NO =BYE !!= (按空白鍵開始點測)◇GPIB測試改成TTL測試?=/PROBSEL 按enter 出現視窗一之訊息視窗一按enter 出現視窗二** WAFER PROBER PARAMETER SELECTION **. SELECTED PROBER ..... MODEL80. GP-IB ADDRESS OF STATION1 (1). GP-IB ADDRESS OF STATION2 (2). TIMEOUT FOR GP-IB COMM. ..... 10.00S. TIMEOUT FOR STATION START ..... 5.00S. OPTION SETUP視窗二選 1 後,按enter 出現視窗三** WAFER PROBER PARAMETER SELECTION **. SELECTED PROBER ..... MODEL80. GP-IB ADDRESS OF STATION1 (1). GP-IB ADDRESS OF STATION2 (2). TIMEOUT FOR GP-IB COMM. ..... 10.00S. TIMEOUT FOR STATION START ..... 5.00S. OPTION SETUP1 : PROBER CONTROLLED BY PROBER I/F (TTL link)2 : PROBER CONTROLLED BY GP-IB (SELECT PROBER)3 : PROBER CONTROLLED BY GP-IB SUBPROGRAMSPECIFY NUMBER WHICH YOU WISH TO USE. = 1視窗三在此視窗按F9儲存、離開** WAFER PROBER PARAMETER SELECTION **. SELECTED PROBER ..... USE PROBER I/F. GP-IB ADDRESS OF STATION1 ..... CANNOT BE SET. GP-IB ADDRESS OF STATION2 ..... CANNOT BE SET. TIMEOUT FOR GP-IB COMM. ..... CANNOT BE SET. TIMEOUT FOR STATION START ..... CANNOT BE SET. OPTION SETUPMOVE CURSOR AND HIT RETURN KEY TO CHANGE PARAMETERPF1 = EXIT UTILITYMOVE CURSOR AND HIT RETURN KEY TO CHANGE PARAMETERPF1 = EXIT UTILITY◇TTL測試更改成GPIB測試=/PROBSEL按enter 出現視窗一之訊息視窗一按enter 出現視窗二** WAFER PROBER PARAMETER SELECTION **. SELECTED PROBER ..... USE PROBER I/F. GP-IB ADDRESS OF STATION1 ..... CANNOT BE SET. GP-IB ADDRESS OF STATION2 ..... CANNOT BE SET. TIMEOUT FOR GP-IB COMM. ..... CANNOT BE SET. TIMEOUT FOR STATION START ..... CANNOT BE SET. OPTION SETUPMOVE CURSOR AND HIT RETURN KEY TO CHANGE PARAMETERPF1 = EXIT UTILITY視窗二選2 按enter 出現視窗三** WAFER PROBER PARAMETER SELECTION **. SELECTED PROBER ..... USE PROBER I/F. GP-IB ADDRESS OF STATION1 ..... CANNOT BE SET. GP-IB ADDRESS OF STATION2 ..... CANNOT BE SET. TIMEOUT FOR GP-IB COMM. ..... CANNOT BE SET. TIMEOUT FOR STATION START ..... CANNOT BE SET. OPTION SETUP1 : PROBER CONTROLLED BY PROBER I/F2 : PROBER CONTROLLED BY GP-IB (SELECT PROBER)3 : PROBER CONTROLLED BY GP-IB SUBPROGRAMSPECIFY NUMBER WHICH YOU WISH TO USE. =2視窗三選1 出現視窗四** WAFER PROBER PARAMETER SELECTION **. SELECTED PROBER ..... MODEL80. GP-IB ADDRESS OF STA TION1 (1). GP-IB ADDRESS OF STA TION2 (2). TIMEOUT FOR GP-IB COMM. ..... 10.00S. TIMEOUT FOR STA TION START ..... 5.00S. OPTION SETUP1 : MODEL80 SERIES FULL GP-IB CONTROL (GPIB Special)2 : A-PM-80/90 SERIES FULL GP-IB CONTROL (GPIB Standard)3 : EG4000X SERIES FULL GP-IB CONTROLSPECIFY NUMBER WHICH YOU WISH TO USE. = 1視窗四按F9儲存、離開** WAFER PROBER PARAMETER SELECTION **. SELECTED PROBER ..... MODEL80. GP-IB ADDRESS OF STA TION1 ..... 1 若station 1被disable掉則需按1開啟. GP-IB ADDRESS OF STA TION2 ..... 2若station 2被disable掉則需按2開啟. TIMEOUT FOR GP-IB COMM. ..... 10.00S. TIMEOUT FOR STA TION START ..... 5.00S. OPTION SETUPMOVE CURSOR AND HIT RETURN KEY TO CHANGE PARAMETERPF1 = EXIT UTILITY◇Check Tester與Prober是否有連線?a3543:/export/home/asx/diag>testCONTROLLER READY=/PRO/1 GPPTEST1:Station 1 GPPTEST:CPIB Link=/PRO/2 PTEST2:Station 2 PTEST:TTL Link◇其他=/ERR ???? (查看Error code涵義)=/LOG ON 檔名(開啟儲存功能)=/LOG OFF (關閉儲存功能)=/SHMOO(製作SHMOO,可驗證產品)=/OVERRIDE(忽略fail item直到程式所有item跑完)。
牛津译林7BUnit 3 Welcome to Sunshine Town!Warm up一、重点单词1. mine pron. 我的2. nothing pron. 没有什么3. fridge n. 冰箱4. supermarket n. 超市5. enough adj. 足够的6. maybe adv. 也许;可能;大概7. order v. 点(酒,菜等)二、重点词组1. an old friend of mine = one of my old friends我的一位老朋友2. wait a minute等一下;等一会儿3. of course = sure一定,当然4. exchange student交流学生三、重点句型1. An old friend of mine is coming to see me, Hobo.霍波,我的一个老朋友要来看我。
这里is coming 相当于i s going to come。
这里是现在进行时表将来的用法。
常用于该用法的动词有come、go、leave、arrive、start、die、fly 等。
2. Maybe we can order a pizza…也许我们可以点一份披萨…这里M aybe 是副词放句首Welcome to the unit一、重点单词1. film n. 电影2. football n. 足球3. shopping n. 购物4. cinema n. 电影院5. wonderful adj. 精彩的6. together adv. 一起;同时7. field n. 运动场8. invite v. 邀请9. try v. 尝试二、重点词组1. talk about sth.谈论某事2. take sb. to sp.带某人去某地3. invite ab. to do sth.邀请某人做某事4. I’d like to do = I want to do我想去做...三、重点句型1. We can watch some wonderful films together.我们可以一起去看一些精彩的电影。
Module 7Unit1Ⅰ.根据句意及首字母提示完成句子1.I have read the play Teahouse twice. I want to write a r for it.2.As is well known, Confucius was a w man.3.You are s to hand in your homework before 10 a.m. tomorrow.4.Plato(百拉图) was a great t. His ideas are still influencing us.5.We all know that Shakespeare’s plays still make a lot of s to people today.Ⅰ.用所给单词的适当形式填空6. People who learn (wise) and well will achieve their dreams more easily.7.Each of the students (ride) a bike to school every day.8.I’d like to describe Mr Li (much) as a father than a teacher.9.Our galaxy (call) the Milky Way.10.Why (not join) in our game?Ⅰ.根据汉语意思完成句子11.她不得不回她的家乡,因为她妈妈生病住院了。
She go back to her home town because her mother is ill in hospital.12.你放弃学习是不明智的。
It’s not you studying.13.如今很多人仍然读孔子的作品。
Confucius’s works by many people today.14.与其说她是位歌唱家,不如说她是位音乐家。
一、游戏界面1、INSTANT ACTION立即行动(1)、Ground Attack攻击地面目标(2)、Dogfight空战(3)、SEAD敌方防空(反雷达)(4)、RESUME返回(5)、BRIEFING简报(6)、MANUAL手册(7)、TAKE CONTROL控制键(8)、QUIT结束(9)、QUIT TO DESKTOP退出到桌面2、CREATE FAST MISSION编辑快速任务第一界面:(1)、AIRCRAFT:选择飞机(2)、COUNTRY:国家《1》、USA:美国(大平洋公约组织、格鲁吉亚)《2》、Israel:以色列(俄罗斯)(3)、START FROM:出生点《1》、Airborne:空中《2》、From runway:跑道《3》、From ramp:停机坪《4》、Random:随机《5》、Hangars:机堡(4)、DIFFI CULTY:难度《1》、Easy:容易《2》、Medium:普通《3》、Hard:困难(5)、THEATER OF W AR战斗区域:Caucasus高加索(6)、SEASON:季节《1》、Summer:夏天《2》、Winter:冬天《3》、Fall:秋天《4》、Spring:春天《5》、Random:随机(7)、WEATHER:天气《1》、Clear:睛空《2》、Clondy:多云《3》、Precipitation:降雨《4》、Stormy:暴雨《5》、Rondom:随机(8)、STARTTIME:开始时间《1》、RANDOM:随机《2》、TIME:定时《3》、ADV ANCED MODE:高级设置模式高级设置模式界面:(1)、AIRCRAFT:选择飞机(2)、COUNTRY:国家《1》、USA:美国《2》、Israel:以色列(3)、WINGMEN:僚机数量:1、2、3(4)、STARTFROM:出生点《1》、Airborne:空中《2》、From runway:从跑道《3》、From ramp:从停机坪《4》、Random:随机(5)、DIFFICULTY:难度《1》、Easy:容易《2》、Medium:普通《3》、Hard:困难(6)、THEATER OF W AR:战斗区域:Caucasus高加索(7)、SEASON:季节《1》、Summer:夏天《2》、Winter:冬天《3》、Fall:秋天《4》、Spring:春天《5》、Random:随机(8)、WEATHER:天气《1》、Clear:睛空《2》、Clondy:多云《3》、Precipitation:降雨《4》、Stormy:暴雨《5》、Rondom:随机(9)、STARTTIME:开始时间《1》、RANDOM:随机《2》、TIME:定时(10)、ATTACK PLANES:攻击飞机Red红方Blue蓝方《1》、NO :不选择《1》、NO:不选择《2》、Min:最小《2》、Min:最小《3》、Med:地中海(黑海)《3》、Med:地中海(黑海Black Sea)《4》、Max:最大《4》、Max:最大《5》、Random:随机《5》、Random:随机(11)、FIGHTER PLANES:选择战斗机Red 红方Blue蓝方《1》、NO :不选择《1》、NO:不选择《2》、Min:最小《2》、Min:最小《3》、Med:地中海(黑海)《3》、Med:地中海(黑海)《4》、Max:最大《4》、Max:最大《5》、Random:随机《5》、Random:随机(12)、HELICOPTERS:直升机Red红方Blue蓝方《1》、NO :不选择《1》、NO:不选择《2》、Min:最小《2》、Min:最小《3》、Med:地中海(黑海)《3》、Med:地中海(黑海)《4》、Max:最大《4》、Max:最大《5》、Random:随机《5》、Random:随机(13)、AAA:防空武器Red 红方Blue蓝方《1》、NO :不选择《1》、NO:不选择《2》、Min:最小《2》、Min:最小《3》、Med:地中海(黑海)《3》、Med:地中海(黑海)《4》、Max:最大《4》、Max:最大《5》、Random:随机《5》、Random:随机(14)、SAM:地对空萨姆导弹Red红方Blue蓝方《1》、NO :不选择《1》、NO:不选择《2》、Min:最小《2》、Min:最小《3》、Med:地中海(黑海)《3》、Med:地中海(黑海)《4》、Max:最大《4》、Max:最大《5》、Random:随机《5》、Random:随机(15)、VEHICLES:交通工具Red红方Blue蓝方《1》、NO :不选择《1》、NO:不选择《2》、Min:最小《2》、Min:最小《3》、Med:地中海(黑海)《3》、Med:地中海(黑海)《4》、Max:最大《4》、Max:最大《5》、Random:随机《5》、Random:随机(16)、BATTLE LOCATION: 战斗位置BRIEFING:战斗简报(17)、GENERATE MISSIOM: 生成的任务EDIT MISSIOM:编辑的任务3、TRAINING训练4、MISSION单机任务5、CAMPAIGN战役6、REPLAY重播7、MULTIPLAYER多人游戏8、MISSION EDITOR任务编辑器9、CAMPAIGN BUILDER战役生成器10、ENCYCLOPEDIA百科全书11、OPTIONS设置选项12、LOGBOOK航空日志二、OPTIONS设置选项(一)SYSTEM系统设置(Graphics:图像设置)1、TEXTURES:材质(高或中)2、SCENES:场景(低:有说开低可增加目视距离)3、CIV TRAFFIC:民用交通(高)4、W ATER:水面(低)5、VISIB RANGE:可视距离(高)6、HEAT BLUR:热尾流(关闭)7、SHADOWS:阴影(低)8、RESOLUTION:屏幕分辨率9、ASPECT RATIO:宽高比10、MONITORS:屏幕选择11、MSAA:A卡多重采样抗锯齿12、RES.OF COCRPIT DISPLAYS :座仓分辨率选择(512或1024逐行扫描)13、HDR:色调选择(1)、OFF(选择全部关闭)(2)、COLD COLORS:冷色色彩(不选择)(3)、NORMAL:正常或标准(不选择)(4)、W ARM COLORS:暖色色彩(不选择)标注:MEDIUM:中等或普通、Low低、High高,NORMAL:正常或标准。
activiti5学习笔记(二)伪审批汇总流程伪汇总审批,就是每一条流程都是独立的,这些独立的流程在走到某个节点的时候,这个节点的审批人可以一次性进行多个任务的审批。
开发环境JDK1.6Activiti5.13EclipseMYSQL5简单起见,这里没有做一个web的项目,只是一个Java程序。
业务场景预算填报员填写本单位的预算,预算提交到本单位的上级进行审批,上级审批后提交到总公司进行审批。
有多少个预算到了总公司审批人处,就可以对多少的预算同时进行审批,这些流程都是相对独立的。
业务数据存储在单独的报表系统中,节点可以配置打开报表的方式,表单ID,及节点是否汇总审批。
程序模拟为方便起见1)所有单位的预算员,审批人,汇总审批人都用三个人,kermit, fozzie,admin直接配在流程图中,实际上kermit和fozzie应会是不同的人,可以动态传入流程启动流程2)节点是否需要汇总,可以根据在节点的参数isSum来进行动态的判定,是否执行汇总审批,程序只是展示效果,具体没有实现动态的,实现起来并不困难。
3)为了直观,节点参数都使用了中文,实际开发中肯定是编码形式流程参数说明:流程实例级别的参数有两个,一个填报期间period一个填报单位fillAccount节点级别的配置参数有四个,三个固定的报表唯一编码sheetId,报表打开方式fillType和是否汇总isSum,一个在流程实例中动态生成的,当前节点的操作单位accountCode1. 绘制流程图总体配置汇总审批预算配置2. 测试程序[java]view plaincopy1.<span style="background-color:rgb(255,255,255)">import java.util.ArrayList;2.import java.util.HashMap;3.import java.util.List;4.import java.util.Map;5.import org.activiti.engine.FormService;6.import org.activiti.engine.ProcessEngine;7.import org.activiti.engine.RepositoryService;8.import org.activiti.engine.RuntimeService;9.import org.activiti.engine.TaskService;10.import org.activiti.engine.form.FormProperty;11.import org.activiti.engine.task.Task;12.import org.springframework.context.support.ClassPathXmlApplicationContext;13.public class TestFormData {14./**15. * @param args16. */17.public static void main(String[] args) {18.// 加载spring配置19. ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext(20."applicationContext.xml");21. RuntimeService runtimeService = (RuntimeService) ctx22. .getBean("runtimeService");23. ProcessEngine processEngine = (ProcessEngine) ctx24. .getBean("processEngine");25. FormService formService = (FormService) ctx.getBean("formService");26. TaskService taskService = (TaskService) ctx.getBean("taskService");27.// 发布流程28. RepositoryService repositoryService = processEngine29. .getRepositoryService();30. repositoryService.createDeployment()31. .addClasspathResource("diagrams/formDataTest.bpmn").deploy();32. fill(runtimeService, formService, taskService);33. singleCheck(formService, taskService);34. sum(taskService, formService);35. }36./**37. * 填报预算38. *39. * @param runtimeService40. * @param formService41. * @param taskService42. */43.private static void fill(RuntimeService runtimeService,44. FormService formService, TaskService taskService) {45.// 流程开始参数,设置填报期间46. Map<String, Object> p = new HashMap<String, Object>();47. p.put("period", "2013-07");48.// 生成3家单位填报49.for (int i = 0; i < 3; i++) {50.// 开始流程51. runtimeService.startProcessInstanceByKey("formDataTest", p);52. System.out53. .println("=====================kermit开始填报=======================");54.// query kermit's tasks;55. List<Task> tasks = taskService.createTaskQuery()56. .taskAssignee("kermit").list();57.for (Task task : tasks) {58.if ("fill".equals(task.getTaskDefinitionKey())) {59.// 设置填报人单位编码记录在节点60. taskService.setVariableLocal(task.getId(), "accoutCode",61."A110" + i);62.// 设置该流程实例的填报单位63. taskService.setVariable(task.getId(), "fillAccount", "A110"64. + i);65. Map<String, FormProperty> propMap = createMap(formService66. .getTaskFormData(task.getId()).getFormProperties());67.// 获取节点报表打开类型68. String fillType = (String) propMap.get("fillType")69. .getValue();70.// 获取节点报表表单ID71. String sheetId = (String) propMap.get("sheetId").getValue();72.// 获取节点是否需要汇总参数73. String isSum = (String) propMap.get("isSum").getValue();74.// 获取节点填报单位编码75. String accoutCode = (String) taskService.getVariableLocal(76. task.getId(), "accoutCode");77.// 获取流程填报单位编码78. String fillAccount = (String) taskService.getVariable(79. task.getId(), "fillAccount");80.// 获取流程填报期间81. String period = (String) taskService.getVariable(82. task.getId(), "period");83.// 打印填报信息84. System.out.println("\t打开报表类型:" + fillType);85. System.out.println("\t填报表单:" + sheetId);86. System.out.println("\t填报期间:" + period);87. System.out.println("\t是否汇总:" + isSum);88. System.out.println("\t当前节点账号:" + accoutCode);89. System.out.println("\t提交审批表单填报单位:" + fillAccount);90.// 节点任务结束91. plete(task.getId());92. System.out93. .println("=============kermit填写预算单任务已完成=====================");94. System.out.println();95. }96. }97. }98. }99./**100. * 单个审核101. *102. * @param formService103. * @param taskService104. */105.private static void singleCheck(FormService formService,106. TaskService taskService) {107. System.out108. .println("=====================fozzie开始单个审核=======================");109.// query fozzie's tasks;110. List<Task> tasks2 = taskService.createTaskQuery()111. .taskAssignee("fozzie")112. .processVariableValueEquals("period", "2013-07")113. .processDefinitionKey("formDataTest").list();114.int count = 1;115.for (Task task : tasks2) {116.if ("check".equals(task.getTaskDefinitionKey())) {117. System.out.println("\t审核第" + count + "个");118.// 设置节点审批人单位编码119. taskService.setVariableLocal(task.getId(), "accoutCode", 120."A1199");121. Map<String, FormProperty> propMap = createMap(formService 122. .getTaskFormData(task.getId()).getFormProperties()) ;123.// 获取节点报表打开类型124. String fillType = (String) propMap.get("fillType").getValue ();125.// 获取节点报表表单ID126. String sheetId = (String) propMap.get("sheetId").getValue() ;127.// 获取节点是否需要汇总参数128. String isSum = (String) propMap.get("isSum").getValue(); 129.// 获取节点填报单位编码130. String accoutCode = (String) taskService.getVariableLocal(131. task.getId(), "accoutCode");132.// 获取流程填报单位编码133. String fillAccount = (String) taskService.getVariable( 134. task.getId(), "fillAccount");135.// 获取流程填报期间136. String period = (String) taskService.getVariable(task.getId (),137."period");138.// 打印填报信息139. System.out.println("\t报表打开类型:" + fillType);140. System.out.println("\t填报表单:" + sheetId);141. System.out.println("\t填报期间:" + period);142. System.out.println("\t是否汇总:" + isSum);143. System.out.println("\t当前节点账号:" + accoutCode); 144. System.out.println("\t提交审批表单填报单位:" + fillAccount);145.// 节点任务结束146. plete(task.getId());147. System.out.println("\t审核第" + count + "个完成");148. System.out.println();149. count++;150. }151. }152. System.out153. .println("===================fozzie审批预算单任务已完成===================");154. System.out.println();155. }156./**157. * 汇总审核158. *159. * @param taskService160. * @param formService161. */162.private static void sum(TaskService taskService, FormService formService) {163. System.out164. .println("=======================admin开始汇总审核=====================");165. List<Task> tasks3 = taskService.createTaskQuery()166. .taskAssignee("admin")167. .processVariableValueEquals("period", "2013-07")168. .processDefinitionKey("formDataTest").list();169.// 批量审批列表170. List<String> completeTaskIdList = new ArrayList<String>();171.// 获取节点报表打开类型172. String fillType = "";173.// 获取节点报表表单ID174. String sheetId = "";175.// 获取节点是否需要汇总参数176. String isSum = "";177.// 获取流程填报期间178. String period = "";179.for (Task task : tasks3) {180.if ("sum".equals(task.getTaskDefinitionKey())) {181.// 设置节点审批人单位编码182. taskService.setVariableLocal(task.getId(), "accoutCode", 183."A1199");184.// 获取流程填报单位编码185. String fillAccount = (String) taskService.getVariable( 186. task.getId(), "fillAccount");187. Map<String, FormProperty> propMap = createMap(formService 188. .getTaskFormData(task.getId()).getFormProperties()) ;189.// 获取节点报表打开类型190. fillType = (String) propMap.get("fillType").getValue(); 191.// 获取节点报表表单ID192. sheetId = (String) propMap.get("sheetId").getValue(); 193.// 获取节点是否需要汇总参数194. isSum = (String) propMap.get("isSum").getValue();195.// 获取流程填报期间196. period = (String) taskService.getVariable(task.getId(), 197."period");198.// 打印填报信息199. System.out.println("\t提交汇总审批表单填报单位:" + fillAccount);200.// 加入批量审批列表201. completeTaskIdList.add(task.getId());202. }203. }204. System.out.println("\t报表打开类型:" + fillType);205. System.out.println("\t填报表单:" + sheetId);206. System.out.println("\t填报期间:" + period);207. System.out.println("\t是否汇总:" + isSum);208. System.out.println("\t全部审批通过");209.for (String t : completeTaskIdList) {210. plete(t);211. }212. System.out.println("=========admin汇总预算单任务已完成,汇总审批"213. + completeTaskIdList.size() + "个单位=======");214. }215.private static Map<String, FormProperty> createMap(List<FormProperty> p rops) {216. Map<String, FormProperty> re = new HashMap<String, FormProperty>();217.for (FormProperty p : props) {218. re.put(p.getId(), p);219. }220.return re;221. }222.}</span>3. 运行结果=====================kermit开始填报=======================打开报表类型:普通填报填报表单:1填报期间:2013-07是否汇总:不汇总当前节点账号:A1100提交审批表单填报单位:A1100=============kermit填写预算单任务已完成==========================================kermit开始填报=======================打开报表类型:普通填报填报表单:1填报期间:2013-07是否汇总:不汇总当前节点账号:A1101提交审批表单填报单位:A1101=============kermit填写预算单任务已完成==========================================kermit开始填报=======================打开报表类型:普通填报填报表单:1填报期间:2013-07是否汇总:不汇总当前节点账号:A1102提交审批表单填报单位:A1102=============kermit填写预算单任务已完成==========================================fozzie开始单个审核=======================审核第1个报表打开类型:普通打开填报表单:2填报期间:2013-07是否汇总:不汇总当前节点账号:A1199提交审批表单填报单位:A1100审核第1个完成审核第2个报表打开类型:普通打开填报表单:2填报期间:2013-07是否汇总:不汇总当前节点账号:A1199提交审批表单填报单位:A1101审核第2个完成审核第3个报表打开类型:普通打开填报表单:2填报期间:2013-07是否汇总:不汇总当前节点账号:A1199提交审批表单填报单位:A1102审核第3个完成===================fozzie审批预算单任务已完成==========================================admin开始汇总审核=====================提交汇总审批表单填报单位:A1100提交汇总审批表单填报单位:A1101提交汇总审批表单填报单位:A1102报表打开类型:汇总到一张表打开填报表单:3填报期间:2013-07是否汇总:汇总全部审批通过=========admin汇总预算单任务已完成,汇总审批3个单位=======附applicationContext.xml,数据库使用MYSQL5[html]view plaincopy1.<span style="background-color:rgb(255,255,255)"><?xml version="1.0"encoding="UTF-8"?>2.<beans xmlns="/schema/beans"3.xmlns:xsi="/2001/XMLSchema-instance"xmlns:context="http:///schema/context"4.xsi:schemaLocation="/schema/beans5. /schema/beans/spring-beans-3.1.xsd">6.<bean id="dataSource"7.class="org.springframework.jdbc.datasource.SimpleDriverDataSource">8.<property name="driverClass"value="com.mysql.jdbc.Driver"/>9.<property name="url"value="jdbc:mysql://127.0.0.1:3306/test_activiti"/>10.<property name="username"value="root"/>11.<property name="password"value="root"/>12.</bean>13.<bean id="transactionManager"14.class="org.springframework.jdbc.datasource.DataSourceTransactionManager">15.<property name="dataSource"ref="dataSource"/>16.</bean>17.<!-- Activiti begin -->18.<bean id="processEngineConfiguration"class="org.activiti.spring.SpringProcessEngineConfiguration">19.<property name="dataSource"ref="dataSource"/>20.<property name="transactionManager"ref="transactionManager"/>21.<property name="databaseSchemaUpdate"value="true"/>22.<property name="jobExecutorActivate"value="false"/>23.<property name="history"value="full"/>24.<property name="processDefinitionCacheLimit"value="10"/>25.</bean>26.<bean id="processEngine"class="org.activiti.spring.ProcessEngineFactoryBean">27.<property name="processEngineConfiguration"ref="processEngineConfiguration"/>28.</bean>29.<bean id="repositoryService"factory-bean="processEngine"30.factory-method="getRepositoryService"/>31.<bean id="runtimeService"factory-bean="processEngine"32.factory-method="getRuntimeService"/>33.<bean id="formService"factory-bean="processEngine"34.factory-method="getFormService"/>35.<bean id="identityService"factory-bean="processEngine"36.factory-method="getIdentityService"/>37.<bean id="taskService"factory-bean="processEngine"38.factory-method="getTaskService"/>39.<bean id="historyService"factory-bean="processEngine"40.factory-method="getHistoryService"/>41.<bean id="managementService"factory-bean="processEngine"42.factory-method="getManagementService"/>43.<!-- Activiti end -->44.45.</beans></span>项目引用jar包就是activiti-explorer里用的所有jar包+mysql的驱动END。
c) Cut-off 2
Included in?—Purchases —Payables —Inventories
P u r c h a s e
P u r c h a s e
Included in?—Purchases —Payables —Inventories
GRN
GRN
Year end
Before After ✓✓✓
X X X
c) Cut-off 3
Sales cut-off
•Sales for which the goods have left the warehouse should be included within the sales and trade receivables at the year end, but not in closing inventories.
•Sales made after the year end must not be included in the financial statements but should be included in closing inventories.
c) Cut-off 4
Included in?—Sales
—Receivables —Inventories
s a l e s
s a l e s
Included in?—Sales
—Receivables —Inventories
GDN
GDN
Year end
Before After
✓✓X
X X ✓
b) Intangible non-current assets 3
Audit tests (continued)
—Review budgeted costs and revenues for reasonableness —Review cash flow forecasts to ensure that adequate resources exist to complete the project.
—Obtain representations from management of their intention to complete and use the asset.
Summary
1Inventory counting
❑Procedures to verify the quantity of inventory will depend on whether the client uses a year-end inventory count or a continuous inventory .
❑The auditor will attend the inventory count to:
—Perform tests of controls (observation)
—Obtain substantive evidence of quantity (test counts, cut-off details)
—Obtain preliminary evidence of valuation (note damaged or obsolete inventories)
2Perpetual inventory
❑Procedures to verify the quantity of inventory will depend on whether the client uses a year-end stock count or a continuous inventory.
❑The auditor will attend the inventory count to:
—Perform tests of controls (observation)
—Obtain substantive evidence of quantity (test counts, cut-off details)
—Obtain preliminary evidence of valuation (note damaged or obsolete inventories)
Summary
3Cut-off
❑Cut-off tests are used to ensure that transactions have been recorded in the correct accounting period.
4Inventory valuation
❑Procedures to audit the valuation of inventory must cover both cost and net realisable value.
You’re a Champion! Thanks for staying with us. You have finished this task.。