97dd5080ef3e397f4d25e4baf1fecfad9af7ed5d.svn-base 7.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. package xin.glue.ui.G.G08;
  2. import java.io.BufferedReader;
  3. import java.io.InputStreamReader;
  4. import java.io.UnsupportedEncodingException;
  5. import java.net.HttpURLConnection;
  6. import java.net.URL;
  7. import java.net.URLEncoder;
  8. import java.sql.CallableStatement;
  9. import java.util.ArrayList;
  10. import java.util.List;
  11. import java.util.Map;
  12. import org.apache.commons.lang.StringUtils;
  13. import com.alibaba.fastjson.JSONObject;
  14. import com.posdata.glue.biz.activity.PosActivity;
  15. import com.posdata.glue.biz.constants.PosBizControlConstants;
  16. import com.posdata.glue.context.PosContext;
  17. import com.posdata.glue.dao.PosGenericDao;
  18. public class Sendmove extends PosActivity {
  19. public String runActivity(PosContext context) {
  20. PosGenericDao dao = this.getDao("mesdao");
  21. String[] SLAB_NO = (String[])context.get("SLAB_NO");
  22. String[] chk = (String[])context.get("CHK");
  23. String[] SendNUMBER = (String[])context.get("NUMBER");
  24. String[] SendPLAN_ID = (String[])context.get("PLAN_ID");
  25. String[] SendPLT_TRS_WKGROUP = (String[])context.get("PLT_TRS_WKGROUP");
  26. String[] SendPLT_TRS_CAR_NO = (String[])context.get("PLT_TRS_CAR_NO");
  27. String[] SendPLT_TRS_WKSHIFT = (String[])context.get("PLT_TRS_WKSHIFT");
  28. String[] SendPLT_TRS_EMP_ID = (String[])context.get("PLT_TRS_EMP_ID");
  29. String A = new String();
  30. String B = new String();
  31. CallableStatement cstm = null;
  32. ArrayList al = new ArrayList();
  33. String msg = sendGet("http://10.90.0.166:8083/api/TqMes/IS_Leave_Factory?forecast_no=",SendPLAN_ID[0]);
  34. JSONObject jsonObj = JSONObject.parseObject(msg);
  35. if(msg.contains("异常")){
  36. context.put("MESSAGES",msg);
  37. return PosBizControlConstants.SUCCESS;
  38. }
  39. String condition = jsonObj.getString("condition");
  40. if("FALSE".equals(condition.toUpperCase()))
  41. {
  42. context.put("MESSAGES",SendPLAN_ID[0] + " 已出厂,不可再次进行发运操作! ");
  43. return PosBizControlConstants.SUCCESS;
  44. }
  45. String message = "";
  46. try {
  47. message = sendGet("http://10.90.0.166:9093/api/Hbch/IsHbch?cCp=1&cCh=",URLEncoder.encode(SendPLT_TRS_CAR_NO[0].replaceAll(" ",""),"UTF-8"));
  48. } catch (UnsupportedEncodingException e1) {
  49. // TODO Auto-generated catch block
  50. e1.printStackTrace();
  51. }
  52. JSONObject hm = JSONObject.parseObject(message);
  53. int status = hm.getIntValue("status");
  54. if(status == 0)
  55. {
  56. context.put("MESSAGES",SendPLT_TRS_CAR_NO[0] + "为非环保车辆,不允许出厂 ");
  57. return PosBizControlConstants.SUCCESS;
  58. }
  59. for(int i = 0 ; i < chk.length ; i++){
  60. if(chk[i].equals("")||chk[i] == null||chk[i].equals("N"))continue;
  61. // PosParameter param = new PosParameter();
  62. // param.setWhereClauseParameter(0, SLAB_NO[i]);
  63. // param.setWhereClauseParameter(1, SendPLAN_ID[0]);
  64. // param.setWhereClauseParameter(2, SendPLT_TRS_CAR_NO[0]);
  65. // param.setWhereClauseParameter(3, SendPLT_TRS_WKSHIFT[0]);
  66. // param.setWhereClauseParameter(4, SendPLT_TRS_WKGROUP[0]);
  67. // param.setWhereClauseParameter(5, SendPLT_TRS_EMP_ID[0]);
  68. // //param.setWhereClauseParameter(6, SendNUMBER[0]);
  69. // param.setWhereClauseParameter(6, A);
  70. // param.setWhereClauseParameter(7, B);
  71. // int updtCnt = getDao("mesdao").update("UIG080010_02.CAL", param);
  72. //////////////////////////////////////////////////
  73. cstm = dao.getCallableStatement("UIG080010_02.CAL");
  74. try
  75. {
  76. cstm.setString(1, SLAB_NO[i]);
  77. cstm.setString(2, SendPLAN_ID[0]);
  78. cstm.setString(3, SendPLT_TRS_CAR_NO[0]);
  79. cstm.setString(4, SendPLT_TRS_WKSHIFT[0]);
  80. cstm.setString(5, SendPLT_TRS_WKGROUP[0]);
  81. cstm.setString(6, SendPLT_TRS_EMP_ID[0]);
  82. cstm.registerOutParameter(7, java.sql.Types.VARCHAR);
  83. cstm.registerOutParameter(8, java.sql.Types.VARCHAR);
  84. cstm.execute();
  85. String err = cstm.getString(8);
  86. if(!err.contains("成功")){
  87. context.put("MESSAGES",err);
  88. return PosBizControlConstants.SUCCESS;
  89. }
  90. //财务数据上抛 移入存储过程MES_LG_KC.SENDLIST_BP
  91. /*cstm = this.getDao("mesdao").getCallableStatement("UPLOAD_DATA.CAL");
  92. cstm.setString(1, SLAB_NO[i]);
  93. cstm.setString(2, "69A");
  94. cstm.setString(3, "N");
  95. cstm.setString(4, "板坯外销");
  96. cstm.setString(5, SendPLT_TRS_EMP_ID[0]);
  97. cstm.registerOutParameter(6, java.sql.Types.VARCHAR);
  98. cstm.execute();
  99. String err = cstm.getString(6);*/
  100. }catch(Exception ex)
  101. {
  102. ex.printStackTrace();
  103. context.put("MESSAGES",SendPLAN_ID[0] + ex.getMessage());
  104. return PosBizControlConstants.SUCCESS;
  105. }
  106. finally
  107. {
  108. if(cstm != null)
  109. {
  110. try
  111. {
  112. al.add("<SLAB_NO>"+SLAB_NO[i]+"</SLAB_NO>"+"<TISHI>"+cstm.getString(8)+"</TISHI>");
  113. cstm.close();
  114. }catch(Exception e)
  115. {
  116. e.printStackTrace();
  117. }
  118. }
  119. }
  120. context.put("BK", al);
  121. System.out.println(al);
  122. }
  123. //发送电子出门证
  124. cstm = dao.getCallableStatement("UIG080010_04.CAL");
  125. try
  126. {
  127. cstm.setString(1, SendPLAN_ID[0]);
  128. cstm.registerOutParameter(2, java.sql.Types.VARCHAR);
  129. cstm.registerOutParameter(3, java.sql.Types.VARCHAR);
  130. cstm.execute();
  131. String err = cstm.getString(3);
  132. if(!StringUtils.isBlank(err)){
  133. context.put("MESSAGES",SendPLAN_ID[0] + err);
  134. return PosBizControlConstants.SUCCESS;
  135. }
  136. }catch(Exception ex)
  137. {
  138. ex.printStackTrace();
  139. }
  140. finally
  141. {
  142. if(cstm != null)
  143. {
  144. try
  145. {
  146. cstm.close();
  147. }catch(Exception e)
  148. {
  149. e.printStackTrace();
  150. }
  151. }
  152. }
  153. return PosBizControlConstants.SUCCESS;
  154. }
  155. /**
  156. * 向指定URL发送GET方法的请求
  157. *
  158. * @param url
  159. * 发送请求的URL
  160. * @param param
  161. * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
  162. * @return URL 所代表远程资源的响应结果
  163. */
  164. public String sendGet(String url, String param) {
  165. String result = "";
  166. BufferedReader in = null;
  167. try {
  168. String urlNameString = url + param;
  169. URL realUrl = new URL(urlNameString);
  170. // 打开和URL之间的连接
  171. HttpURLConnection connection = (HttpURLConnection)realUrl.openConnection();
  172. // 设置通用的请求属性
  173. connection.setRequestProperty("connection", "Keep-Alive");
  174. connection.setRequestProperty("user-agent",
  175. "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
  176. // 建立实际的连接
  177. connection.connect();
  178. // 获取所有响应头字段
  179. Map<String, List<String>> map = connection.getHeaderFields();
  180. // 遍历所有的响应头字段
  181. for (String key : map.keySet()) {
  182. System.out.println(key + "--->" + map.get(key));
  183. }
  184. // 定义 BufferedReader输入流来读取URL的响应
  185. in = new BufferedReader(new InputStreamReader(
  186. connection.getInputStream(),"UTF-8"));
  187. String line;
  188. while ((line = in.readLine()) != null) {
  189. result += line;
  190. }
  191. } catch (Exception e) {
  192. System.out.println("发送GET请求出现异常!" + e);
  193. e.printStackTrace();
  194. result = "发送GET请求出现异常!" + e.getMessage();
  195. }
  196. // 使用finally块来关闭输入流
  197. finally {
  198. try {
  199. if (in != null) {
  200. in.close();
  201. }
  202. } catch (Exception e2) {
  203. e2.printStackTrace();
  204. }
  205. }
  206. return result;
  207. }
  208. }