| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- package xin.glue.ui.G.G04;
- import java.util.HashMap;
- import java.util.Map;
- import com.posdata.glue.biz.activity.PosActivity;
- import com.posdata.glue.biz.constants.PosBizControlConstants;
- import com.posdata.glue.context.PosContext;
- import com.posdata.glue.dao.vo.PosParameter;
- import com.posdata.glue.dao.vo.PosRow;
- import com.posdata.glue.dao.vo.PosRowSet;
- /*
- * desc:
- * author:王小炎
- * date:2008-9-20
- */
- public class XinSaveCraneOrder extends PosActivity
- {
- public String runActivity(PosContext context)
- {
- // 从页面获取参数数据,供更新页面使用
- // 制定行车命令所需: 原位置;目的位置;移动块数,行车编号
- String[] fromAddress = (String[])context.get("FROM_ADDR");
- String[] slabCnt = (String[])context.get("SLAB_CNT");
- String[] craneNo = (String[])context.get("CRANE_NO");
- String[] toAddress = (String[])context.get("TO_ADDR");
-
- //String ordStat = "1";
- //BigDecimal ordSeq = null;
-
- Map map = new HashMap(2);
-
- // 记录要移动的板坯的数组
- String[] ArrSlabNo = new String[4];
- // 记录要移动的板坯的数组
- String[] ArrStorlay = new String[4];
- // 行车命令选定移动的板坯块数
- int intCnt = Integer.parseInt(slabCnt[0]);
- int i = 0;
- int j = 0;
- String OrdFlag ="0";
-
- PosParameter param1 = new PosParameter();
- param1.setWhereClauseParameter(0, fromAddress[0]);
- PosRowSet YardVO = getDao("mesdao").find("UIG040043_03.select", param1);
-
- // 获得要移动的板坯,一个跺位从上到下获取 intCnt 块板坯数
- while(YardVO.hasNext()) {
- PosRow YardROW = YardVO.next();
- ArrSlabNo[i] = (String)YardROW.getAttribute("SLAB_NO");
- i++;
- if ( i == intCnt ) break;
- }
-
-
- param1 = new PosParameter();
- param1.setWhereClauseParameter(0, toAddress[0]);
- YardVO = getDao("mesdao").find("UIG040043_toAddr_UPDATE.select", param1);
- //获得要放置板坯的层,一个跺位从下往上获取 inCnt 个层位置
- while(YardVO.hasNext()) {
- PosRow YardROW = YardVO.next();
- ArrStorlay[j] = (String)YardROW.getAttribute("STORELAY");
- j++;
- if ( j == intCnt ) break;
- }
-
- for (int ii = 0; ii < intCnt; ii++) {
- PosParameter param0 = new PosParameter();
- param0.setWhereClauseParameter(0, ArrSlabNo[ii]);
- param0.setWhereClauseParameter(1, fromAddress[0]);
-
- // 查询板坯库 fromAddress 位置 ArrSlabNo 板坯 行车命令状态为 ‘1’ 的记录是否存在,存在则不能编制记录
- PosRowSet ChkOrdVO = getDao("mesdao").find("UIG040043_04.select", param0);
- if (ChkOrdVO.hasNext() ) {
- map.put("MSG_CON", "1");
- OrdFlag = "1";
- break;
- }
- }
-
- if (OrdFlag.equals("0")) {
-
- // 增加一条行车命令记录,则其序号加一,下面这段代码就是获得当前行车命令记录的最大序号
- /*
- String sql2 = " select max(SEQ_NO) SEQ_NO from tbg04_slab_crane_order ";
- PosParameter param2 = new PosParameter();
- PosRowSet rowset1 = getDao("mesdao").findByQueryStatement(sql2,param2);
- if(rowset1.hasNext())
- {
- PosRow row0 = (PosRow)rowset1.next();
- ordSeq = (BigDecimal)row0.getAttribute("SEQ_NO");
- }else
- {
- ordSeq = new BigDecimal(0);
- }
-
- // 行车命令记录序号加一
- int ordSeq2 = (ordSeq.intValue() + 1);
-
- BigDecimal ordSeq3 = new BigDecimal(ordSeq2);
- */
-
- // 插入一条新命令
- // param1.setValueParamter(0,ordSeq3);
- param1.setValueParamter(0,craneNo[0]);
- param1.setValueParamter(1,fromAddress[0]);
- param1.setValueParamter(2,toAddress[0]);
- param1.setValueParamter(3,slabCnt[0]);
- param1.setValueParamter(4,ArrSlabNo[0]);
- param1.setValueParamter(5,ArrSlabNo[1]);
- param1.setValueParamter(6,ArrSlabNo[2]);
- param1.setValueParamter(7,ArrSlabNo[3]);
-
- getDao("mesdao").insert("UIG040043_01.insert",param1);
-
- // 到上面为止,一条行车命令已经制定完成,下面对制定命令涉及到的 板坯原位置,目的位置 进行控制 制定行车命令,则状态为1
- for ( int jj = 0; jj < intCnt ; jj++) {
-
- PosParameter param3 = new PosParameter();
- param3.setValueParamter(0, "1");
- param3.setValueParamter(1, ArrSlabNo[jj]);
- param3.setValueParamter(2, fromAddress[0]);
- getDao("mesdao").update("UIG040041_01.update", param3);
-
- param3 = new PosParameter();
- param3.setValueParamter(0, "4");
- param3.setValueParamter(1, ArrStorlay[jj]);
- param3.setValueParamter(2, toAddress[0]);
- getDao("mesdao").update("UIG040041_02.update", param3);
- }
- }
- context.put("ConfMsg",map);
- return PosBizControlConstants.SUCCESS;
- }
- }
|