| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486 |
- <?xml version="1.0" encoding="UTF-8"?>
- <?xml-stylesheet type="text/css" href="../../css/body_crane.css" ?>
- <xhtml:html xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/2002/01/xforms" xmlns:ev="http://www.w3.org/2001/xml-events">
- <xhtml:head>
- <xhtml:title>
- <![CDATA[炼钢作业 >> 板坯库管理 >> 板坯库行车命令执行(UIG040042)]]>
- </xhtml:title>
- <model id="model1">
- <instance id="instance1">
- <root xmlns="">
- <searchData>
- <search1>
- <cr_no/>
- <yardClf/>
- <ord_type/>
- <LOC_CR_NO/>
- </search1>
- <search2>
- <FROM_ADDR/>
- <TO_ADDR/>
- <SLAB_NO/>
- </search2>
- <search3>
- <SCH_SLAB_NO/>
- <CUR_LOC/>
- </search3>
- </searchData>
- <gridData>
- <grid1/>
- <grid2/>
- <grid3/>
- </gridData>
- <resData/>
- <AUTO/>
- </root>
- </instance>
- <script type="javascript" ev:event="xforms-ready">
- <![CDATA[
- combo4.value = document.readIniFile("session1" , "UIG040042_CRNO" , "" , "c:\\WINDOWS\\xgmes3.ini") ;
- //clockTimer = window.setInterval("find()", 10000);
- ]]>
- </script>
- </model>
- <script type="javascript" src="../../js/boaCommon.js"/>
- <script type="javascript">
- <![CDATA[
- var ADDR_POSTIONS = 16;
- // 保存将要移动的板坯的数组
- var SLAB_ARRAY = new Array();
- var FROM_SLAB_POSTION = new Array();
- var TO_SLAB_POSTION = new Array();
- // 板坯移动块数
- var SLAB_CNT = "";
- // 操作标记
- var RIGHT_MOVED_TAG = false;
- var LEFT_MOVED_TAG = false;
-
- var clockTimer;//设置刷新时间返回的值
-
- /*
- *查询函数
- */
- function find()
- {
- /*if(!model.getValue("/root/searchData/search1/yardClf").CheckEmpty()){
- alert("跨区分不能为空!");return;
- }*/
- commSendReq("/root/searchData/search1");
- if(model.getValue("/root/searchData/search1/ord_type") == "B"){
- commSubmit("UIG040042-service","find3","glueAction.do");
- }else{
- commSubmit("UIG040042-service","find","glueAction.do");
- }
-
- commAppendData("/root/gridData/grid1/CrCommand_VO","/root/resData/CrCommand_VO");
- datagrid1.refresh();
- commSelectRow("datagrid1",datagrid1.fixedRows,"CHK");
- yardAddrHanel("datagrid1",datagrid1.fixedRows);
- }
-
- function isNullOrEmpty()
- {
- if(this.length != 0){
- return true;
- }
- else{
- return false;
- }
- }
- function commSelectRow(datagrid,rows,colChk) {
- if( typeof datagrid == 'string' ) grid = document.controls(datagrid);
- if( typeof colChk == 'string' ) colvalue = colChk;
- grid.rebuild();
- grid.isSelected(rows)=true;
- grid.valueMatrix(rows,grid.colRef(colvalue)) = "Y";
- grid.rowStatus(rows) = 1;
- }
-
- function yardAddrHanel(datagrid,rows){
- if( typeof datagrid == 'string' ) grid = document.controls(datagrid);
- var curLoc = grid.valueMatrix(rows,grid.colRef("FROM_ADDR"));
- var desLoc = grid.valueMatrix(rows,grid.colRef("TO_ADDR"));
- if(curLoc.substr(0,1) == "A" || curLoc.substr(curLoc,0,1) == "C" ||desLoc.substr(0,1) == "A" || desLoc.substr(0,1) == "C"){
- button4.visible = true;
- button7.visible = true;
- caption5.visible = true;
- }else{
- button4.visible = false;
- button7.visible = false;
- caption5.visible = false;
- }
- }
-
- function exeOrder()
- {
- model1.removenode("/root/reqData");
- model1.makeNode("/root/reqData");
-
-
- var nodeSet1 = datagrid1.nodeset;
- var row = datagrid1.row;
- var chk = datagrid1.valueMatrix(row, datagrid1.colRef("CHK"));
-
-
-
- commMultiUpdate(datagrid1,"/root/reqData","A",true,"rowStatus");
- model.makeValue("/root/reqData/LOC_CR_NO",model.getValue("/root/searchData/search1/LOC_CR_NO"));
- commSubmit("UIG040042-service","save","glueAction.do");
-
- //commAppendData("/root/gridData/grid2/FromYardResult_VO","/root/resData/FromYardResult_VO");
- //commAppendData("/root/gridData/grid3/ToYardResult_VO","/root/resData/ToYardResult_VO");
- commAppendData("/root/gridData/grid1/CrCommand_VO","/root/resData/CrCommand_VO");
-
- var SchSlabNo = model1.getValue("/root/resData/MillSchExist_VO/MillSchExist_Row/SCH_SLAB_NO");
- var CurLoc = model1.getValue("/root/resData/MillSchExist_VO/MillSchExist_Row/CUR_LOC");
-
- if (SchSlabNo != "" ) {
- alert(" @@@ 加热炉入炉顺序错误 前一板坯还未装炉--> YARD:"+CurLoc+" , SLAB_NO:"+ SchSlabNo);
- }
-
- find();
- commSelectRow("datagrid1",datagrid1.fixedRows,"CHK");
-
-
- }
-
- function selectFromAddrSlabs()
- {
- // FROM_ADDR:根据选中的行车命令中移动板坯数确定原板坯堆放跺位中将要移动的板坯,从跺位最上第一块开始遍历,
- // 如果某个位置板坯号不为空,则标记为选中,移动板坯块数减一,直到移动板坯块数为0
- var tempCnt = SLAB_CNT;
-
- for(var i = 1; i <= ADDR_POSTIONS; i++)
- {
- var tempSlabNo = datagrid2.valueMatrix(i,datagrid2.colRef("SLAB_NO"));
- if(tempSlabNo != "")
- {
- if(tempCnt > 0)
- {
- // 对要移动板坯CHK标记
- datagrid2.valueMatrix(i,datagrid2.colRef("CHK")) = "Y";
- datagrid2.rowStyle(i, "data", "background-color") = "#FFF000";
- // 每标记一块板坯 要移动板坯数减一
- tempCnt -= 1;
- }
- }
- }
- }
-
- function selectToAddrSlabs()
- {
- // TO_ADDR:根据选中的行车命令中移动板坯数确定原板坯堆放跺位中将要移动的板坯,从跺位最下面一块开始遍历,
- // 如果某个位置板坯号为空,则标记为选中,移动板坯块数减一,直到移动板坯块数为0
- tempCnt = SLAB_CNT;
- for(var i = ADDR_POSTIONS; i > 0 ; i--)
- {
- var tempSlabNo = datagrid3.valueMatrix(i,datagrid3.colRef("SLAB_NO"));
- if(tempSlabNo == "")
- {
- if(tempCnt <= 0)return;
- // 对要移动板坯CHK标记
- datagrid3.valueMatrix(i,datagrid3.colRef("CHK")) = "Y";
- datagrid3.rowStyle(i, "data", "background-color") = "#FFF000";
- datagrid3.rowStatus(i) = 2;
- // 把每块板坯所在的位置 保存到全局变量数组中
- // TO_SLAB_POSTION[tempCnt - 1] = i;
- // 每标记一块板坯 要移动板坯数减一
- tempCnt -= 1;
- }
- }
- }
- function FlagFresh()
- {
- model1.removenode("/root/reqData");
- model1.makeNode("/root/reqData");
- var fromAddr = model1.getValue("/root/searchData/search2/FROM_ADDR");
- var toAddr = model1.getValue("/root/searchData/search2/TO_ADDR");
-
-
-
- if (((fromAddr.substr(0,1) == "A" || fromAddr.substr(0,1) == "C") && toAddr.substr(0,1) == "Z" ) || (fromAddr.substr(0,1) == "Z" && (toAddr.substr(0,1) == "A" || toAddr.substr(0,1) == "C"))) {
- if (fromAddr.substr(0,1) == "A" || fromAddr.substr(0,1) == "C" ) {
- model1.makeValue("/root/reqData/YARD_ADDR",model1.getValue("/root/searchData/search2/FROM_ADDR"));
- } else if ( toAddr.substr(0,1) == "A" || toAddr.substr(0,1) == "C") {
- model1.makeValue("/root/reqData/YARD_ADDR",model1.getValue("/root/searchData/search2/TO_ADDR"));
- }
- // alert(instance1.selectSingleNode("/root/reqData").xml);
- commSubmit("UIG040042-service","initFlag","glueAction.do");
-
- model.setValue("/root/resData/SearchLockFlagResult_VO/SearchLockFlagResult_Row/LOCK_YN","2");
- switch (model.getValue("/root/resData/SearchLockFlagResult_VO/SearchLockFlagResult_Row/LOCK_YN"))
- {
- case "1" :
- caption5.value = "锁定解除";
- return;
- case "2" :
- caption5.value = "锁定";
- return;
- case "0" :
- caption5.value = "请求锁定";
- return;
- case "" :
- caption5.value = "";
-
- }
- }
- }
- ]]>
- </script>
- </xhtml:head>
- <xhtml:body guideline="2,615;" style="font-family:宋体; ">
- <caption id="caption1" class="cell2" style="left:0px; top:5px; width:105px; height:35px; font-weight:bold; border-color:#000000; ">跨区分</caption>
- <datagrid id="datagrid1" nodeset="/root/gridData/grid1/CrCommand_VO/CrCommand_Row" class="datagrid" allowuserresize="true" backcoloralternate="#f7f9f9" caption="选择^原位置^到位置^块数^行车编号^板坯号^轧制序号^命令日期^caption1" colwidth="60, 90, 90, 60, 110, 175, 100, 121, 51, 100" defaultrows="30" mergecellsfixedrows="bycolrec" rowsep="|" colsep="^" style="left:0px; top:55px; width:975px; height:534px; border-color:#000000; ">
- <col ref="CHK" type="radio" checkvalue="Y,N"/>
- <col ref="FROM_ADDR" style="font-size:14pt; "/>
- <col ref="TO_ADDR"/>
- <col ref="SLAB_CNT"/>
- <col ref="CR_NO"/>
- <col ref="SLAB_NO"/>
- <col ref="ROLL_SEQ"/>
- <col ref="REG_DTIME" format="yyyy-mm-dd hh:nn:ss"/>
- <col ref="SEQ_NO" visibility="hidden"/>
- <col ref="ORD_TYPE" visibility="hidden"/>
- <script type="javascript" ev:event="xforms-select">
- <![CDATA[
- if(datagrid1.row != datagrid1.fixedRows){
- alert("不能执行该条行车命令");
- find();
- }
- ]]>
- </script>
- </datagrid>
- <select1 id="combo1" ref="/root/searchData/search1/yardClf" class="cell2" appearance="minimal" editmode="search" style="left:105px; top:5px; width:95px; height:35px; background-color:#ffff99; border-color:#000000; ">
- <choices>
- <item>
- <label>Z1</label>
- <value>Z1</value>
- </item>
- <item>
- <label>Z2</label>
- <value>Z2</value>
- </item>
- <item>
- <label>Z3</label>
- <value>Z3</value>
- </item>
- <item>
- <label>L</label>
- <value>L</value>
- </item>
- <item>
- <label>-全部-</label>
- <value/>
- </item>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- ]]>
- </script>
- </select1>
- <button id="button4" visibility="hidden" style="left:660px; top:7px; width:55px; height:30px; background-color:#00ccff; ">
- <caption>锁定请求</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
-
- // 如果目的位置步进梁为锁定则返回
- if(caption5.value == "2") {
- alert(" 已 锁定 ");
- return;
- } else{
- model1.removenode("/root/reqData");
- model1.makeNode("/root/reqData");
- model1.makeValue("/root/reqData/TC_ID","FML030");
- model1.makeValue("/root/reqData/LOCK_FLAG","1");
- model1.makeValue("/root/reqData/rowStatus","i");
-
- var fromAddr = model1.getValue("/root/searchData/search2/FROM_ADDR");
- var toAddr = model1.getValue("/root/searchData/search2/TO_ADDR");
-
- if (((fromAddr.substr(0,1) == "A" || fromAddr.substr(0,1) == "C") && toAddr.substr(0,1) == "Z" ) || (fromAddr.substr(0,1) == "Z" && (toAddr.substr(0,1) == "A" || toAddr.substr(0,1) == "C"))) {
- if (fromAddr.substr(0,1) == "A" || fromAddr.substr(0,1) == "C" ) {
- model1.makeValue("/root/reqData/LINE_POSITION",model1.getValue("/root/searchData/search2/FROM_ADDR"));
- } else if (toAddr.substr(0,1) == "A" || toAddr.substr(0,1) == "C") {
- model1.makeValue("/root/reqData/LINE_POSITION",model1.getValue("/root/searchData/search2/TO_ADDR"));
- }
-
- if(datagrid1.valueMatrix(datagrid1.row,datagrid1.colRef("CHK")) == "Y")
- {
-
- SlabNo = datagrid1.valueMatrix(datagrid1.row,datagrid1.colRef("SLAB_NO"));
- }
- model1.makeValue("/root/reqData/SLAB_NO",SlabNo);
- model1.makeValue("/root/reqData/FROM_ADDR",fromAddr);
- model1.makeValue("/root/reqData/TO_ADDR",toAddr);
-
- // alert(instance1.selectSingleNode("/root/reqData").xml);
-
- commSubmit("UIG040042-service","lock","glueAction.do");
-
-
- var SchSlabNo = model1.getValue("/root/resData/MillSchExist_VO/MillSchExist_Row/SCH_SLAB_NO");
- var CurLoc = model1.getValue("/root/resData/MillSchExist_VO/MillSchExist_Row/CUR_LOC");
-
- if (SchSlabNo != "" ) {
- alert(" @@@ 加热炉入炉顺序错误 前一板坯还未装炉--> YARD:"+CurLoc+" , SLAB_NO:"+ SchSlabNo+" @@@");
- } else {
- alert("@@@ 锁定请求 成功 @@@" );
- }
-
-
-
- }
- }
- FlagFresh();
- button5.visible = true;
- ]]>
- </script>
- </button>
- <button id="button5" class="cell2" style="left:875px; top:0px; width:100px; height:53px; background-color:#00ccff; ">
- <caption>执行完成</caption>
- <script type="javascript" ev:event="onclick">
- <![CDATA[
- var toAddrValue = model.getValue("/root/searchData/search2/TO_ADDR");
- var fromAddrValue = model.getValue("/root/searchData/search2/FROM_ADDR")
- // alert(toAddrValue.substr(0,1) + " to + from " + fromAddrValue.substr(0,1));
-
- // 选择行车命令时,就会给SLAB_ARRAY,FROM_SLAB_POSTION,TO_SLAB_POSTION,SLAB_CNT 赋值 ,
- // 执行命令完成后这些全局变量又会赋值为 null 防止一条命令被连续执行两次
- // if(SLAB_ARRAY == null && FROM_SLAB_POSTION == null && TO_SLAB_POSTION == null && SLAB_CNT == null){
- // alert("出错了! 板坯地址为空");
- // return;
- // }
-
- var SlabNo ;
- if(datagrid1.valueMatrix(datagrid1.row,datagrid1.colRef("CHK")) == "Y")
- {
- // 行车命令原堆放位置
- SlabNo = datagrid1.valueMatrix(datagrid1.row,datagrid1.colRef("SLAB_NO"));
- }
-
-
- if( (fromAddrValue.substr(0,1) == "A" && toAddrValue.substr(0,1) == "Z") ||
- (fromAddrValue.substr(0,1) == "Z" && toAddrValue.substr(0,1) == "A") ||
- (fromAddrValue.substr(0,1) == "C" && toAddrValue.substr(0,1) == "Z") ||
- (fromAddrValue.substr(0,1) == "Z" && toAddrValue.substr(0,1) == "C") )
- {
-
-
-
- // 判断步进梁是否锁定
- /*if(caption5.value != null && caption5.value != "锁定")
- {
- alert("步进梁锁定状态尚未就绪!");
- return;
- }*/
-
- // 如果是板坯上料,首先判断他是辊道,然后判断他不是炼钢板坯库的辊道 ,需确认此时辊道上的目地步进梁是否有板坯,有板坯则不能放
-
- if(toAddrValue.substr(0,1) == "A" && toAddrValue.substr(1,1) != "0" && datagrid3.valueMatrix(1,datagrid3.colRef("SLAB_NO")) != "")
- {
- alert("该位置已放置板坯");
- return;
- }
-
- }
-
- var temp1 = model.getValue("/root/searchData/search1/LOC_CR_NO");
- var temp2 = datagrid1.valueMatrix(1,datagrid1.colRef("FROM_ADDR")).substr(0,2);
- if(!(((temp1 == "1-1" || temp1 == "1-2")&&temp2 == "Z1")||((temp1 == "1-3" || temp1 == "1-4")&&temp2 == "Z2")||((temp1 == "1-5" || temp1 == "1-6")&&temp2 == "Z3"))
- ){
- alert("行车编号错误,不能执行!");
- return;
- }
- if(model.getValue("/root/searchData/search1/yardClf") != ""){
- alert("跨必须选择为全部!");
- return;
- }
- exeOrder();
- SLAB_ARRAY = null;
- FROM_SLAB_POSTION = null;
- TO_SLAB_POSTION = null;
- SLAB_CNT = null;
- ]]>
- </script>
- </button>
- <caption id="output" style="left:840px; top:7px; width:35px; height:30px; background-image:../../images/right.gif; "/>
- <caption id="caption5" visibility="hidden" style="left:782px; top:7px; width:55px; height:30px; font-size:9pt; text-align:center; background-color:#c0c0c0; "/>
- <button id="button7" visibility="hidden" style="left:720px; top:7px; width:60px; height:30px; background-color:#00ccff; ">
- <caption>刷新</caption>
- <script type="javascript" ev:event="DOMActivate">
- <![CDATA[
- FlagFresh();
- ]]>
- </script>
- </button>
- <line id="line2" style="x1:1px; y1:0px; x2:980px; y2:0px; "/>
- <line id="line3" style="x1:1px; y1:42px; x2:870px; y2:42px; "/>
- <caption id="caption4" class="cell2" style="left:415px; top:5px; width:129px; height:35px; font-weight:bold; border-color:#000000; ">本行车编号</caption>
- <select1 id="combo4" ref="/root/searchData/search1/LOC_CR_NO" class="cell2" appearance="minimal" editmode="search" style="left:544px; top:5px; width:100px; height:35px; background-color:#ffff99; border-color:#000000; ">
- <choices>
- <item>
- <label>1-1</label>
- <value>1-1</value>
- </item>
- <item>
- <label>1-2</label>
- <value>1-2</value>
- </item>
- <item>
- <label>1-3</label>
- <value>1-3</value>
- </item>
- <item>
- <label>1-4</label>
- <value>1-4</value>
- </item>
- <item>
- <label>1-5</label>
- <value>1-5</value>
- </item>
- <item>
- <label>1-6</label>
- <value>1-6</value>
- </item>
- <item>
- <label>A00</label>
- <value>A00</value>
- </item>
- <item>
- <label>-全部-</label>
- <value/>
- </item>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- document.writeIniFile("session1" , "UIG040042_CRNO" , combo4.value.Trim() , "c:\\WINDOWS\\xgmes3.ini");
- ]]>
- </script>
- </select1>
- <caption id="caption2" class="cell2" style="left:205px; top:5px; width:105px; height:35px; font-weight:bold; border-color:#000000; ">命令类型</caption>
- <select1 id="combo2" ref="/root/searchData/search1/ord_type" class="cell2" appearance="minimal" editmode="search" style="left:310px; top:5px; width:95px; height:35px; background-color:#ffff99; border-color:#000000; ">
- <choices>
- <item>
- <label>上料</label>
- <value>B</value>
- </item>
- <item>
- <label>下线</label>
- <value>A</value>
- </item>
- <item>
- <label>移垛</label>
- <value>C</value>
- </item>
- <item>
- <label>全部</label>
- <value/>
- </item>
- </choices>
- <script type="javascript" ev:event="xforms-value-changed">
- <![CDATA[
- ]]>
- </script>
- </select1>
- </xhtml:body>
- </xhtml:html>
|