d5d6c1d242bfdc99d50290dee3058cbe953f41b1.svn-base 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369
  1. package xin.glue.ui.G.G04;
  2. import com.posdata.glue.dao.PosGenericDao;
  3. import com.posdata.glue.dao.vo.PosParameter;
  4. import com.posdata.glue.dao.vo.PosRow;
  5. import com.posdata.glue.dao.vo.PosRowSet;
  6. public class YardHandle {
  7. private PosGenericDao dao;
  8. private PosParameter param;
  9. private PosRowSet rowSet;
  10. private PosRow row;
  11. public YardHandle(PosGenericDao dao){
  12. this.dao = dao;
  13. }
  14. //获得板坯层数
  15. public int getStorelay(String addr){
  16. param = new PosParameter();
  17. param.setWhereClauseParameter(0, addr);
  18. rowSet = dao.find("UIG04COMM_STORELAY_CHK.select", param);
  19. if(rowSet.hasNext()){
  20. row = rowSet.next();
  21. int storelay = Integer.parseInt((String)row.getAttribute("STORELAY"));
  22. return storelay;
  23. }
  24. else return 0;
  25. }
  26. //检查存放垛位是否满足最大16块
  27. public boolean chekStorelay(String add){
  28. int storelay = getStorelay(add);
  29. return (storelay > 0 && storelay <= 16)?true:false;
  30. }
  31. //清除原垛位的坯料
  32. public int clearFromAddr(String fromAddr,String fromStorelay){
  33. param = new PosParameter();
  34. param.setWhereClauseParameter(0, fromAddr);
  35. param.setWhereClauseParameter(1, fromStorelay);
  36. int updateCnt = dao.update("UIG04COMM_FROM_ADDR_CLEAR.update", param);
  37. return updateCnt;
  38. }
  39. public int clearFromAddrBySlabNo(String slabNo){
  40. param = new PosParameter();
  41. param.setWhereClauseParameter(0, slabNo);
  42. int updateCnt = dao.update("UIG04COMM_FROM_ADDR_CLEAR_BY_SLABN0.update", param);
  43. return updateCnt;
  44. }
  45. //更新目标垛位信息
  46. public int setToAddr(String slabNo
  47. ,String fromYardAddr
  48. ,String fromStorelay
  49. ,String toYardAddr
  50. ,String toStorelay
  51. ,String slabExtRegDtime
  52. ,String slabExtRegId){
  53. param = new PosParameter();
  54. param.setWhereClauseParameter(0, slabNo);//SLAB_NO
  55. param.setWhereClauseParameter(1, fromYardAddr + "" + fromStorelay);//BEF_STORE_LOC
  56. param.setWhereClauseParameter(2, "");//CR_NO
  57. param.setWhereClauseParameter(3, slabExtRegId);//REG_ID
  58. param.setWhereClauseParameter(4, "");//ORD_FLAG
  59. param.setWhereClauseParameter(5, toYardAddr);//YARD_ADDR
  60. param.setWhereClauseParameter(6, toStorelay);//STORELAY
  61. int updateCnt = dao.update("UIG04COMM_TO_ADDR_SET.update", param);
  62. return updateCnt;
  63. }
  64. //更新板坯公共表信息 eg:出库,入库时间
  65. public int setExtSlabComm( String slabNo
  66. ,String fromYardAddr
  67. ,String fromStorelay
  68. ,String toYardAddr
  69. ,String toStorelay){
  70. param = new PosParameter();
  71. param.setWhereClauseParameter(0, toYardAddr + "" + toStorelay);
  72. param.setWhereClauseParameter(1, slabNo);
  73. String sqlStr = null;
  74. if(fromYardAddr.substring(0, 1).equals("L")){
  75. sqlStr = "UIG04COMM_SLAB_G_COMM_TAKEOUT.update";
  76. }else if(fromYardAddr.substring(0, 1).equals("Z")){
  77. sqlStr = "UIG04COMM_SLAB_H_COMM_TAKEOUT.update";
  78. }
  79. int updateCnt = (sqlStr == null ?0:dao.update(sqlStr, param));
  80. return updateCnt;
  81. }
  82. public int setEntSlabComm( String slabNo
  83. ,String toYardAddr
  84. ,String toStorelay){
  85. param = new PosParameter();
  86. param.setWhereClauseParameter(0, toYardAddr + "" + toStorelay);
  87. param.setWhereClauseParameter(1, slabNo);
  88. String sqlStr = null;
  89. if(toYardAddr.substring(0, 1).equals("L")){
  90. sqlStr = "UIG04COMM_SLAB_G_COMM_TAKEIN.update";
  91. }else if(toYardAddr.substring(0, 1).equals("Z")){
  92. sqlStr = "UIG04COMM_SLAB_H_COMM_TAKEIN.update";
  93. }
  94. int updateCnt = (sqlStr == null ?0:dao.update(sqlStr, param));
  95. return updateCnt;
  96. }
  97. //修改公共表中 垛位,入库时间 ,入库时间类型
  98. public int setEntSlabComm( String slabNo
  99. ,String toYardAddr
  100. ,String toStorelay
  101. ,String slabStockType){
  102. param = new PosParameter();
  103. param.setWhereClauseParameter(0, toYardAddr + "" + toStorelay);
  104. param.setWhereClauseParameter(1, slabStockType);
  105. param.setWhereClauseParameter(2, slabNo);
  106. String sqlStr = null;
  107. if(toYardAddr.substring(0, 1).equals("L")){
  108. sqlStr = "UIG04COMM_SLAB_G_COMM_TAKEIN_02.update";
  109. }else if(toYardAddr.substring(0, 1).equals("Z")){
  110. sqlStr = "UIG04COMM_SLAB_H_COMM_TAKEIN_02.update";
  111. }
  112. int updateCnt = (sqlStr == null ?0:dao.update(sqlStr, param));
  113. return updateCnt;
  114. }
  115. //修改公共表中 垛位,入库时间 ,入库时间类型
  116. public int setEntSlabComm( String slabNo
  117. ,String toYardAddr
  118. ,String toStorelay
  119. ,String slabStockType
  120. ,String hcrClf){
  121. param = new PosParameter();
  122. param.setWhereClauseParameter(0, toYardAddr + "" + toStorelay);
  123. param.setWhereClauseParameter(1, slabStockType);
  124. param.setWhereClauseParameter(2, hcrClf);
  125. param.setWhereClauseParameter(3, slabNo);
  126. String sqlStr = null;
  127. if(toYardAddr.substring(0, 1).equals("L")){
  128. sqlStr = "UIG04COMM_SLAB_G_COMM_TAKEIN_03.update";
  129. }else if(toYardAddr.substring(0, 1).equals("Z")){
  130. sqlStr = "UIG04COMM_SLAB_H_COMM_TAKEIN_03.update";
  131. }
  132. int updateCnt = (sqlStr == null ?0:dao.update(sqlStr, param));
  133. return updateCnt;
  134. }
  135. //行车命令制定检查
  136. //检查坯料是否已经制定行车命令,是否在垛位没制定杭车命令坯料的最上层
  137. //return A 成功
  138. // B 已经制定行车命令
  139. // C 不在垛位最上层
  140. // D 板坯已经制定行车命令
  141. // E 数据异常
  142. public String creatCrNoChek(String slabNo,String yardAddr){
  143. param = new PosParameter();
  144. param.setWhereClauseParameter(0, slabNo);
  145. rowSet = dao.find("UIG04COMM_CRATE_CRNO_CHECK_03.select", param);
  146. if(rowSet.hasNext()){
  147. return "B";
  148. }
  149. param = new PosParameter();
  150. param.setWhereClauseParameter(0, slabNo);
  151. param.setWhereClauseParameter(1, yardAddr);
  152. param.setWhereClauseParameter(2, yardAddr);
  153. rowSet = dao.find("UIG04COMM_CRATE_CRNO_CHECK_01.select", param);
  154. if(rowSet.hasNext()){
  155. row = rowSet.next();
  156. //是否已经制定行车命令
  157. String Flag = (String)row.getAttribute("ORD_FLAG");
  158. if (Flag != null && Flag.equals("1")) {
  159. return "B";
  160. } else {
  161. return "A";
  162. }
  163. }else{
  164. param = new PosParameter();
  165. param.setWhereClauseParameter(0, yardAddr);
  166. param.setWhereClauseParameter(1, slabNo);
  167. param.setWhereClauseParameter(2, yardAddr);
  168. rowSet = dao.find("UIG04COMM_CRATE_CRNO_CHECK_02.select", param);
  169. if (rowSet.hasNext()) {
  170. return "C";
  171. } else {
  172. return "E";
  173. }
  174. }
  175. }
  176. //行车命令制定
  177. public void CrNoCreate(String crType,String slabNo,String fromAddr,String toAddr,String crNo){
  178. if(crType.equals("B")){//上料
  179. loadBlank(slabNo,fromAddr,toAddr,crNo);
  180. }
  181. }
  182. //上料行车命令制定
  183. public void loadBlank(String slabNo,String fromAddr,String toAddr,String crNo){
  184. String sqlCrL1 = "SELECT SLAB_CRANE_ORDER_SEQ.NEXTVAL SEQ_NO FROM DUAL ";
  185. PosRowSet CrSeqVo = dao.findByQueryStatement(sqlCrL1 );
  186. if (CrSeqVo.hasNext()) {
  187. param = new PosParameter();
  188. param.setValueParamter(0, fromAddr);
  189. param.setValueParamter(1, toAddr);
  190. param.setValueParamter(2, "1");
  191. param.setValueParamter(3, crNo);
  192. param.setValueParamter(4, slabNo);
  193. dao.insert("UIG040041_01.insert", param);
  194. }
  195. // 标记对应库位 ORD_FLAG = '1' 制定
  196. /*PosParameter param2 = new PosParameter();
  197. param2.setValueParamter(0, "2");
  198. param2.setValueParamter(1, slabNo);
  199. param2.setValueParamter(2, fromAddr);
  200. dao.insert("UIG040041_01.update", param2);*/
  201. //Crane Command set 'CRD' TO CUR_LOAD_LOC column of TBG02_SLAB_COMM
  202. param = new PosParameter();
  203. param.setValueParamter(0, "CRD");
  204. param.setValueParamter(1, slabNo);
  205. dao.insert("UIG040041_SLAB_COMM.update", param);
  206. }
  207. // public void (){
  208. //
  209. // }
  210. // 修改行车命令状态
  211. // 1:制定
  212. // 2:执行
  213. // 3:删除
  214. public void crOrdUpt(String seqNo,String ordStat){
  215. param = new PosParameter();
  216. param.setValueParamter(0,ordStat);
  217. param.setValueParamter(1,seqNo);
  218. dao.update("UIG04COMM_CR_ORD.update", param);
  219. }
  220. //加热炉一级发送上料信息
  221. public void RHFSendL1(String slabNo,String toAddr) {
  222. String sqlTIL1 = "SELECT TBH06_L2_SEND_SLAB_TAKEIN_SEQ.NEXTVAL SEQ_NO FROM DUAL ";
  223. rowSet = dao.findByQueryStatement(sqlTIL1);
  224. if (rowSet.hasNext()) {
  225. row = rowSet.next();
  226. Number SEQ_NO1 = (Number) row.getAttribute("SEQ_NO");
  227. param = new PosParameter();
  228. param.setValueParamter(0, "FML010");
  229. param.setValueParamter(1, slabNo);
  230. param.setValueParamter(2, toAddr);
  231. param.setValueParamter(3, "C");
  232. param.setValueParamter(4, "A7");
  233. param.setValueParamter(5, SEQ_NO1);
  234. dao.update("UIG04COMM_L1_TAKEIN.update", param);
  235. } else {
  236. param = new PosParameter();
  237. param.setValueParamter(0, "FML010");
  238. param.setValueParamter(1, slabNo);
  239. param.setValueParamter(2, toAddr);
  240. param.setValueParamter(3, "C");
  241. param.setValueParamter(4, "A7");
  242. dao.update("UIG04COMM_L1_TAKEIN.insert", param);
  243. }
  244. }
  245. //加热炉二级发送上料信息
  246. public void RHFSendL2(String slabNo, String toAddr) {
  247. param = new PosParameter();
  248. param.setWhereClauseParameter(0, slabNo);
  249. rowSet = dao.find("UIG040042_COIL_NO.select", param);
  250. if (rowSet.hasNext()) {
  251. row = rowSet.next();
  252. String CoilNo = (String) row.getAttribute("COIL_NO");
  253. String sqlTIL2 = "SELECT TBH06_L1_SEND_SLAB_TAKEIN_SEQ.NEXTVAL SEQ_NO FROM DUAL ";
  254. rowSet = dao.findByQueryStatement(sqlTIL2);
  255. if (rowSet.hasNext()) {
  256. row = rowSet.next();
  257. Number SEQ_NO2 = (Number) row.getAttribute("SEQ_NO");
  258. param = new PosParameter();
  259. param.setValueParamter(0, "HMFU30");
  260. param.setValueParamter(1, toAddr);
  261. param.setValueParamter(2, slabNo);
  262. param.setValueParamter(3, CoilNo);
  263. param.setValueParamter(4, SEQ_NO2);
  264. dao.update("UIG04COMM_L2_TAKEIN.update", param);
  265. } else {
  266. param = new PosParameter();
  267. param.setValueParamter(0, "HMFU30");
  268. param.setValueParamter(1, toAddr);
  269. param.setValueParamter(2, slabNo);
  270. param.setValueParamter(3, CoilNo);
  271. dao.update("UIG04COMM_L2_TAKEIN.insert", param);
  272. }
  273. }
  274. }
  275. //加热炉二级发送上料信息
  276. public void RHFSendL1(String slabNo,String fromAddr,String toAddr) {
  277. String sqlTO = "SELECT TBH06_L1_SEND_SLAB_TAKEOUT_SEQ SEQ_NO FROM DUAL ";
  278. rowSet = dao.findByQueryStatement(sqlTO);
  279. if (rowSet.hasNext()) {
  280. row = rowSet.next();
  281. Number SEQ_NO3 = (Number) row.getAttribute("SEQ_NO");
  282. param = new PosParameter();
  283. param.setValueParamter(0, "FML020");
  284. param.setValueParamter(1, slabNo);
  285. param.setValueParamter(2, fromAddr);
  286. param.setValueParamter(3, toAddr);
  287. param.setValueParamter(4, SEQ_NO3);
  288. dao.update("UIG040042_L1_TAKEOUT.update", param);
  289. } else {
  290. param = new PosParameter();
  291. param.setValueParamter(0, "FML020");
  292. param.setValueParamter(1, slabNo);
  293. param.setValueParamter(2, fromAddr);
  294. param.setValueParamter(3, toAddr);
  295. dao.update("UIG040042_L1_TAKEOUT.insert", param);
  296. }
  297. }
  298. /*
  299. *
  300. */
  301. public void CrLockUdt(String TCID,String msgFlag,String lockFlag,String linePosition) {
  302. String sqlLockL2 = "SELECT TBH06_L1_SEND_SLAB_LOCK_SEQ.NEXTVAL SEQ_NO FROM DUAL ";
  303. rowSet = dao.findByQueryStatement(sqlLockL2);
  304. row = rowSet.next();
  305. Number SEQ_NO = (Number) row.getAttribute("SEQ_NO");
  306. param = new PosParameter();
  307. param.setWhereClauseParameter(0, msgFlag);
  308. param.setWhereClauseParameter(1, TCID);
  309. param.setWhereClauseParameter(2, lockFlag);
  310. param.setWhereClauseParameter(3, linePosition);
  311. param.setWhereClauseParameter(4, SEQ_NO);
  312. int cnt = dao.update("UIGCOMM_L1_LOCK.update", param);
  313. if(cnt == 0){
  314. param = new PosParameter();
  315. param.setValueParamter(0, msgFlag);
  316. param.setValueParamter(1, TCID);
  317. param.setValueParamter(2, lockFlag);
  318. param.setValueParamter(3, linePosition);
  319. dao.insert("UIGCOMM_L1_LOCK.insert", param);
  320. }
  321. }
  322. }