| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- package xin.glue.ui.G.G04;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.PrintWriter;
- import java.net.HttpURLConnection;
- import java.net.URL;
- import org.apache.commons.lang.StringUtils;
- import com.alibaba.fastjson.JSONObject;
- import com.posdata.glue.biz.activity.PosActivity;
- import com.posdata.glue.biz.constants.PosBizControlConstants;
- import com.posdata.glue.context.PosContext;
- public class XINSaveAskStock extends PosActivity {
- public String runActivity(PosContext context) { //选择
- String[] AskStock = (String[]) context.get("AskStock"); //请求类型
- String[] ASK_STOCK_ADDR = (String[]) context.get("ASK_STOCK_ADDR"); //现在库位置
- String flag = "",YARD_NO = "";
-
- if((ASK_STOCK_ADDR == null || StringUtils.isBlank(ASK_STOCK_ADDR[0])) && AskStock[0].equals("E")){
- context.put("MESSAGES","请输入具体跺位");
- return PosBizControlConstants.SUCCESS;
- }
-
- if(AskStock == null || StringUtils.isBlank(AskStock[0])){
- context.put("MESSAGES","请选择请求同步的具体库位");
- return PosBizControlConstants.SUCCESS;
- }
-
- if(AskStock[0].equals("A")){
- flag = "A";
- YARD_NO = "0";
- }else if(AskStock[0].equals("B")){
- flag = "B";
- YARD_NO = "Z1";
- }else if(AskStock[0].equals("C")){
- flag = "B";
- YARD_NO = "Z2";
- }else if(AskStock[0].equals("D")){
- flag = "B";
- YARD_NO = "Z3";
- }else if(AskStock[0].equals("E")){
- flag = "S";
- YARD_NO = ASK_STOCK_ADDR[0];
- }
-
- JSONObject jo = new JSONObject();
- jo.put("FLAG", flag);
- jo.put("YARD_NO", YARD_NO);
- jo.put("SPARE", "999999");
- jo.put("MSG_NO", "MEWM05");
-
- JSONObject web = httpURLPOSTCase("http://172.16.70.180:20010/uacs/receiveMessage",jo.toString());
- int code = web.getIntValue("HttpCode");
- String HttpMsg = web.getString("HttpMsg");
- if(code != HttpURLConnection.HTTP_OK || !HttpMsg.equals(jo.toString())){
- context.put("MESSAGES", " 同步请求发送失败! ");
- return PosBizControlConstants.SUCCESS;
- }
-
- context.put("MESSAGES", " 同步请求发送成功! ");
- return PosBizControlConstants.SUCCESS;
- }
-
- /**
- * 发送Http Post请求*/
- public JSONObject httpURLPOSTCase(String methodUrl,String data) {
- HttpURLConnection connection = null;
- PrintWriter pw = null;
- BufferedReader reader = null;
- String line = "";
- StringBuilder result = new StringBuilder();
- int resultCode = 0;
- JSONObject rtjo = new JSONObject();
- try {
- URL url = new URL(methodUrl);
- connection = (HttpURLConnection)url.openConnection();// 根据URL生成HttpURLConnection
- connection.setDoOutput(true);// 设置是否向connection输出,因为这个是post请求,参数要放在http正文内,因此需要设为true,默认情况下是false
- connection.setDoInput(true); // 设置是否从connection读入,默认情况下是true;
- connection.setRequestMethod("POST");// 设置请求方式为post,默认GET请求
- connection.setUseCaches(false);// post请求不能使用缓存设为false
- connection.setConnectTimeout(10000);// 连接主机的超时时间
- connection.setReadTimeout(10000);// 从主机读取数据的超时时间
- connection.setInstanceFollowRedirects(true);// 设置该HttpURLConnection实例是否自动执行重定向
- connection.setRequestProperty("accept", "*/*");
- connection.setRequestProperty("connection", "Keep-Alive");// 连接复用
- connection.setRequestProperty("charset", "utf-8");
- connection.setRequestProperty("Content-Type", "application/json;charset:utf-8");
- connection.setRequestProperty("user-agent","Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
- connection.connect();// 建立TCP连接,getOutputStream会隐含的进行connect,所以此处可以不要
- pw = new PrintWriter(connection.getOutputStream());// 创建输入输出流,用于往连接里面输出携带的参数
- pw.write(data);//json数据
- pw.flush();
- pw.close();
- resultCode = connection.getResponseCode();
- if (resultCode == HttpURLConnection.HTTP_OK) {
- reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));// 发送http请求
- // 循环读取流
- while (null != (line = reader.readLine())) {
- result.append(line);
- }
- reader.close();
- }else
- result.append("");
- rtjo.put("HttpCode", resultCode);
- rtjo.put("HttpMsg", (StringUtils.isBlank(result.toString()))?"":result.toString());
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- connection.disconnect();
- }
- return rtjo;
- }
- }
|