dfb19b09360f396653508419fde4249942a946d4.svn-base 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372
  1. package xin.glue.ui.H.H05;
  2. import xin.glue.ui.common.PosGridSave;
  3. //import xin.glue.ui.common.component.PosSiteConfig;
  4. import xin.glue.ui.common.component.PosSiteLog;
  5. import java.math.BigDecimal;
  6. import com.posdata.glue.biz.activity.PosActivity;
  7. import com.posdata.glue.biz.constants.PosBizControlConstants;
  8. import com.posdata.glue.context.PosContext;
  9. import com.posdata.glue.dao.vo.PosParameter;
  10. import com.posdata.glue.dao.vo.PosRow;
  11. import com.posdata.glue.dao.vo.PosRowSet;
  12. public class PosCreateWBCommand extends PosActivity{
  13. private String[] sSelYard = new String[10];
  14. private int iIdx = 0;
  15. public String runActivity(PosContext context)
  16. {
  17. logger.logInfo("PosCreateWBCommand START " );
  18. String[] rowStatus = (String[]) context.get("rowStatus");
  19. String[] WK_BEAM = (String[]) context.get("WK_BEAM");
  20. String[] COIL_NO = (String[]) context.get("COIL_NO");
  21. String[] ORD_SEQ = (String[]) context.get("ORD_SEQ");
  22. logger.logInfo("PosCreateWBCommand---> rowStatus LEN["+rowStatus.length+"]" );
  23. for(int i=0;i<rowStatus.length;i++){
  24. logger.logInfo("PosCreateWBCommand---> WK_BEAM["+WK_BEAM[i]+"],COIL_NO["+COIL_NO[i] );
  25. for ( int j = 0; j < 10 ; j++) {
  26. sSelYard[j] = "";
  27. }
  28. String RtnCrCmd = null;
  29. PosParameter param1 = new PosParameter();
  30. param1.setWhereClauseParameter(0, COIL_NO[i]);
  31. PosRowSet CoilComVO = this.getDao("mesdao").find("NIH050010_COIL.select", param1);
  32. if (CoilComVO.hasNext()) {
  33. PosRow CoilComROW = CoilComVO.next();
  34. String R_SPM_YN = (String)CoilComROW.getAttribute("SPM_YN");
  35. String R_STL_GRD = (String)CoilComROW.getAttribute("STL_GRD");
  36. Number R_COIL_WTH = (Number)CoilComROW.getAttribute("COIL_WTH");
  37. Number R_COIL_OUT_DIA = (Number)CoilComROW.getAttribute("COIL_OUTDIA");
  38. String R_PRODNM_CD = (String)CoilComROW.getAttribute("PRODNM_CD");
  39. String R_ORD_FL = (String)CoilComROW.getAttribute("ORD_FL");
  40. String R_SCRAP_CAUSE_CD = (String)CoilComROW.getAttribute("SCRAP_CAUSE_CD");
  41. String R_RTN_CAU_CD = (String)CoilComROW.getAttribute("RTN_CAU_CD");
  42. if (R_SPM_YN != null && R_SPM_YN.equals("1") ) {
  43. sSelYard = YardSearch(WK_BEAM[i],"D",R_STL_GRD);
  44. } else if (R_SPM_YN != null && R_SPM_YN.equals("2")) {
  45. sSelYard = YardSearch(WK_BEAM[i],"E",R_STL_GRD);
  46. } else if (R_PRODNM_CD.substring(0,1).equals("C")){
  47. sSelYard = YardSearch(WK_BEAM[i],"C",R_STL_GRD);
  48. } else if (R_RTN_CAU_CD != null && !R_RTN_CAU_CD.equals("") ){
  49. sSelYard = YardSearch(WK_BEAM[i],"B",R_STL_GRD);
  50. } else if (R_SCRAP_CAUSE_CD != null && !R_SCRAP_CAUSE_CD.equals("") ){
  51. sSelYard = YardSearch(WK_BEAM[i],"A",R_STL_GRD);
  52. } else if (R_ORD_FL != null && R_ORD_FL.equals("2") ){
  53. sSelYard = YardSearch(WK_BEAM[i],"F",R_STL_GRD);
  54. } else {
  55. sSelYard = YardSearch(WK_BEAM[i],"G",R_STL_GRD);
  56. }
  57. String LoadAddress = null;
  58. String RtnChk = null;
  59. for ( int sel = 0; sel < iIdx;sel++ ) {
  60. logger.logInfo("PosCreateWBCommand---> sSelYard["+sel+"]:"+sSelYard[sel] );
  61. PosParameter param0 = new PosParameter();
  62. param0.setWhereClauseParameter(0, sSelYard[sel]);
  63. PosRowSet LoadYardVo = getDao("mesdao").find("NIH050010_LOAD_YARD.select", param0);
  64. while(LoadYardVo.hasNext()) {
  65. PosRow LoadYardROW = LoadYardVo.next();
  66. LoadAddress = (String)LoadYardROW.getAttribute("YARD_ADDR");
  67. logger.logInfo("PosCreateWBCommand---> LoadAddress:"+LoadAddress );
  68. String StoreLay = LoadAddress.substring(7,8);
  69. String StoreSeq = LoadAddress.substring(8,9);
  70. if (StoreLay.equals("2")) {
  71. RtnChk = chkLoadCom(LoadAddress,R_COIL_WTH );
  72. } else {
  73. RtnChk = "1";
  74. }
  75. logger.logInfo("PosCreateWBCommand---> RtnChk:"+RtnChk );
  76. if (RtnChk.equals("1")) {
  77. RtnCrCmd = CreCrComand(ORD_SEQ[i],WK_BEAM[i],LoadAddress,COIL_NO[i]);
  78. break;
  79. }
  80. }
  81. if (RtnChk.equals("1") ) {
  82. break;
  83. }
  84. }
  85. }
  86. }
  87. return PosBizControlConstants.SUCCESS;
  88. }
  89. public String[] YardSearch(String WkBeam,String AreaKind,String R_STL_GRD )
  90. {
  91. logger.logInfo("PosCreateWBCommand compSlab start " );
  92. String sYardAddr = null;
  93. String sFromStlGrd = null;
  94. String sToStlGrd = null;
  95. String sStlGrd1 = null;
  96. String sStlGrd2 = null;
  97. String sStlGrd3 = null;
  98. String sStlGrd4 = null;
  99. String sStlGrd5 = null;
  100. String sStlGrd6 = null;
  101. String sStlGrd7 = null;
  102. String[] SelAddr_G = new String[10];
  103. String ToPos = null;
  104. if (WkBeam.substring(0,3).equals("B04") || WkBeam.substring(0,3).equals("B05")) {
  105. ToPos = "C3";
  106. } else if (WkBeam.substring(0,3).equals("B06") || WkBeam.substring(0,3).equals("B07")) {
  107. ToPos = "C2";
  108. } else {
  109. ToPos = "C1";
  110. }
  111. iIdx = 0;
  112. for (int j=0;j < 10;j++) {
  113. SelAddr_G[j]= "";
  114. }
  115. PosParameter param0 = new PosParameter();
  116. // param0.setWhereClauseParameter(0, ToPos);
  117. param0.setWhereClauseParameter(0, ToPos);
  118. PosRowSet StdYardVo = getDao("mesdao").find("UIH050050_STD_YARD.select", param0);
  119. while(StdYardVo.hasNext()){
  120. PosRow StdYardROW = StdYardVo.next();
  121. sYardAddr = (String)StdYardROW.getAttribute("YARD_ADDR");
  122. sFromStlGrd = (String)StdYardROW.getAttribute("FROM_STL_GRD");
  123. sToStlGrd = (String)StdYardROW.getAttribute("TO_STL_GRD");
  124. sStlGrd1 = (String)StdYardROW.getAttribute("STL_GRD1");
  125. sStlGrd2 = (String)StdYardROW.getAttribute("STL_GRD2");
  126. sStlGrd3 = (String)StdYardROW.getAttribute("STL_GRD3");
  127. sStlGrd4 = (String)StdYardROW.getAttribute("STL_GRD4");
  128. sStlGrd5 = (String)StdYardROW.getAttribute("STL_GRD5");
  129. sStlGrd6 = (String)StdYardROW.getAttribute("STL_GRD6");
  130. sStlGrd7 = (String)StdYardROW.getAttribute("STL_GRD7");
  131. logger.logInfo("PosCreateWBCommand R_STL_GRD:"+R_STL_GRD );
  132. logger.logInfo("PosCreateWBCommand sFromStlGrd:("+sFromStlGrd+"),sToStlGrd:("+sToStlGrd+")" );
  133. if (sFromStlGrd != null && !sFromStlGrd.equals("") ) {
  134. if (sFromStlGrd.compareTo(R_STL_GRD) <= 0 && sToStlGrd.compareTo(R_STL_GRD) >= 0 ) {
  135. SelAddr_G[iIdx] = sYardAddr;
  136. iIdx++;
  137. }
  138. } else if (sStlGrd1 != null && sStlGrd1.equals(R_STL_GRD)) {
  139. logger.logInfo("PosCreateWBCommand sStlGrd1:("+sStlGrd1+")" );
  140. SelAddr_G[iIdx] = sYardAddr;
  141. iIdx++;
  142. } else if (sStlGrd2 != null && sStlGrd2.equals(R_STL_GRD)) {
  143. logger.logInfo("PosCreateWBCommand sStlGrd2:("+sStlGrd2+")" );
  144. SelAddr_G[iIdx] = sYardAddr;
  145. iIdx++;
  146. } else if (sStlGrd3 != null && sStlGrd3.equals(R_STL_GRD)) {
  147. logger.logInfo("PosCreateWBCommand sStlGrd3:("+sStlGrd3+")" );
  148. SelAddr_G[iIdx] = sYardAddr;
  149. iIdx++;
  150. } else if (sStlGrd4 != null && sStlGrd4.equals(R_STL_GRD)) {
  151. logger.logInfo("PosCreateWBCommand sStlGrd4:("+sStlGrd4+")" );
  152. SelAddr_G[iIdx] = sYardAddr;
  153. iIdx++;
  154. } else if (sStlGrd5 != null && sStlGrd5.equals(R_STL_GRD)) {
  155. logger.logInfo("PosCreateWBCommand sStlGrd5:("+sStlGrd5+")" );
  156. SelAddr_G[iIdx] = sYardAddr;
  157. iIdx++;
  158. } else if (sStlGrd6 != null && sStlGrd6.equals(R_STL_GRD)) {
  159. logger.logInfo("PosCreateWBCommand sStlGrd6:("+sStlGrd6+")" );
  160. SelAddr_G[iIdx] = sYardAddr;
  161. iIdx++;
  162. } else if (sStlGrd7 != null && sStlGrd7.equals(R_STL_GRD)) {
  163. logger.logInfo("PosCreateWBCommand sStlGrd7:("+sStlGrd7+")" );
  164. SelAddr_G[iIdx] = sYardAddr;
  165. iIdx++;
  166. }
  167. }
  168. return SelAddr_G;
  169. }
  170. public String chkLoadCom(String LoadAddress,Number R_COIL_WTH )
  171. {
  172. String StoreSeq = LoadAddress.substring(8,9);
  173. logger.logInfo("PosCreateWBCommand chkLoadCom StoreSeq:"+StoreSeq );
  174. String ComAddr = null;
  175. String StepClf = null;
  176. String NewStepClf = null;
  177. String NewAddress = null;
  178. StepClf = LoadAddress.substring(5,7);
  179. logger.logInfo("PosCreateWBCommand chkLoadCom StepClf:"+StepClf );
  180. if (StoreSeq.equals("2") ) {
  181. int intStep = Integer.parseInt(StepClf);
  182. intStep++;
  183. if (intStep < 10) {
  184. NewStepClf = "0"+String.valueOf(intStep);
  185. } else {
  186. NewStepClf = String.valueOf(intStep);
  187. }
  188. NewAddress = LoadAddress.substring(0,5)+NewStepClf+"1"+"1";
  189. logger.logInfo(" 2 NewAddress "+NewAddress );
  190. } else {
  191. NewAddress = LoadAddress.substring(0,7)+"1"+"2";;
  192. logger.logInfo(" 1 NewAddress "+NewAddress );
  193. }
  194. PosParameter param0 = new PosParameter();
  195. param0.setWhereClauseParameter(0, NewAddress);
  196. PosRowSet NewYardVo = getDao("mesdao").find("NIH050010_NEW_ADDR.select", param0);
  197. if (NewYardVo.hasNext()) {
  198. return "1";
  199. } else {
  200. return "2";
  201. }
  202. }
  203. public String CreCrComand(String ORD_SEQ, String FromAddr,String ToAddr,String CoilNo)
  204. {
  205. logger.logInfo("PosCreateWBCommand--->CreCrComand: ORD_SEQ:"+ORD_SEQ );
  206. String YardArea = ToAddr.substring(0,4);
  207. logger.logInfo("PosCreateWBCommand--->YardArea:"+YardArea );
  208. String CrNo = CranNoSel(YardArea);
  209. logger.logInfo("PosCreateWBCommand--->CrNo:"+CrNo );
  210. PosParameter param0 = new PosParameter();
  211. param0.setWhereClauseParameter(0, ORD_SEQ);
  212. PosRowSet OrdSeqVo = getDao("mesdao").find("UIH050050_CR_ORD.select", param0);
  213. PosParameter param2 = new PosParameter();
  214. PosParameter param3 = new PosParameter();
  215. PosParameter param4 = new PosParameter();
  216. if ( OrdSeqVo.hasNext() ) {
  217. param2.setValueParamter(0, CrNo);
  218. param2.setValueParamter(1, CoilNo);
  219. param2.setValueParamter(2, FromAddr);
  220. param2.setValueParamter(3, ToAddr);
  221. param2.setValueParamter(4, "PosCreateWBCommand");
  222. param2.setValueParamter(5, "1");
  223. param2.setValueParamter(6, ORD_SEQ);
  224. getDao("mesdao").update("UIH050050_CR_ORD.update",param2);
  225. } else {
  226. param2.setValueParamter(0, CrNo);
  227. param2.setValueParamter(1, CoilNo);
  228. param2.setValueParamter(2, FromAddr);
  229. param2.setValueParamter(3, ToAddr);
  230. param2.setValueParamter(4, "1");
  231. param2.setValueParamter(5, ToAddr.substring(0,2));
  232. param2.setValueParamter(6, "PosCreateWBCommand");
  233. getDao("mesdao").update("UIH050050_CR_ORD.insert",param2);
  234. param3.setValueParamter(0, "1");
  235. param3.setValueParamter(1, ToAddr);
  236. getDao("mesdao").update("NIH050010_RES_YARD.update",param3);
  237. param4.setValueParamter(0, "1");
  238. param4.setValueParamter(1, "UIH050050");
  239. param4.setValueParamter(2, FromAddr);
  240. getDao("mesdao").update("UIH050050_WKBEAM_RESV.update",param4);
  241. }
  242. return "1";
  243. }
  244. public String CranNoSel( String YardAddr)
  245. {
  246. String Addr = null;
  247. Addr = YardAddr.substring(0,3);
  248. logger.logInfo("PosCreateWBCommand--->CranNoSel: Addr:"+Addr );
  249. String CrNo = null;
  250. if ( Addr.equals("C31") ) {
  251. CrNo = "3-1";
  252. } else if(Addr.equals("C32") || Addr.equals("C33")) {
  253. CrNo = "3-2";
  254. } else if(Addr.equals("C34")) {
  255. CrNo = "3-3";
  256. } else if(Addr.equals("C21") || Addr.equals("C22") ) {
  257. CrNo = "3-4";
  258. } else if(Addr.equals("C23") || Addr.equals("C24") ) {
  259. CrNo = "3-5";
  260. } else if(Addr.equals("C25") || Addr.equals("C26") ) {
  261. CrNo = "3-6";
  262. } else if(Addr.equals("C11") || Addr.equals("C12") ) {
  263. CrNo = "3-7";
  264. } else if(Addr.equals("C13") || Addr.equals("C14") ) {
  265. CrNo = "3-8";
  266. } else if(Addr.equals("C15") || Addr.equals("C16") ) {
  267. CrNo = "3-9";
  268. }
  269. return CrNo;
  270. }
  271. }