| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- package xin.glue.ui.G.G08;
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.net.URL;
- import java.net.URLConnection;
- import java.sql.CallableStatement;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- 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;
- import com.posdata.glue.dao.PosGenericDao;
- import com.posdata.glue.dao.vo.PosParameter;
- import com.posdata.glue.dao.vo.PosRow;
- import com.posdata.glue.dao.vo.PosRowSet;
- public class SendBack extends PosActivity{
- //外销退回
- public String runActivity(PosContext context) {
- String[] SLAB_NO= (String[])context.get("SERIALNUMBER");
- String[] SEND_NO= (String[])context.get("PLANVEHICLEID"); //发运指示号
- String[] MEMO = (String[])context.get("MEMO");//退回备注
- String[] LISTNUMBER = (String[])context.get("LISTNUMBER");//明细编码
- String[] chk= (String[])context.get("CHK");
- String[] GBZL = (String[])context.get("GBZL");
- String[] PLT_TRS_EMP_ID = (String[])context.get("REG_NM");
- String err= new String();
- String mes= new String();
- PosGenericDao dao = this.getDao("mesdao");
- ArrayList al = new ArrayList();
-
-
- for(int i = 0 ; i < chk.length ; i++){
- if(chk[i].equals("")||chk[i] == null||chk[i].equals("N"))continue;
- // PosParameter param = new PosParameter();
- // param.setWhereClauseParameter(0, SLAB_NO[i]);
- // param.setWhereClauseParameter(1, err);
- // param.setWhereClauseParameter(2, mes);
- // int updtCnt = getDao("mesdao").update("UIG080010_03.CAL", param);
- try{
- PosParameter param1 = new PosParameter();
- param1.setWhereClauseParameter(0, SEND_NO[i]);
- param1.setWhereClauseParameter(1, SLAB_NO[i]);
- PosRowSet rs = this.getDao("mesdao").find("UIG080010_05.SELECT", param1);
- if(rs.hasNext())
- {
- PosRow rsRow = rs.next();
- String flag = (String) rsRow.getAttribute("AFFIRM_FLAG");
- if("0".equals(flag))
- {
- context.put("MESSAGES",SLAB_NO[i] + " 未进行审核,不可退回! ");
- return PosBizControlConstants.SUCCESS;
- }
- if("2".equals(flag))
- {
- context.put("MESSAGES",SLAB_NO[i] + " 审核不通过,不可退回! ");
- return PosBizControlConstants.SUCCESS;
- }
- }
- else
- {
- String msg = sendGet("http://10.90.0.166:8083/api/TqMes/IS_Leave_Factory?forecast_no=",SEND_NO[i]);
- JSONObject jsonObj = JSONObject.parseObject(msg);
- String condition = jsonObj.getString("condition");
- if("FALSE".equals(condition.toUpperCase()))
- {
- if(MEMO[i] == null || "".equals(MEMO[i]))
- {
- context.put("MESSAGES",SLAB_NO[i] + " 请输入退回原因!");
- return PosBizControlConstants.SUCCESS;
- }
- PosParameter param2 = new PosParameter();
- param2.setWhereClauseParameter(0, MEMO[i]);
- param2.setWhereClauseParameter(1, PLT_TRS_EMP_ID[0]);
- param2.setWhereClauseParameter(2, SLAB_NO[i]);
- param2.setWhereClauseParameter(3, SEND_NO[i]);
- this.getDao("mesdao").update("UIG080010_05.INSERT", param2);
- context.put("MESSAGES",SLAB_NO[i] + " 已出厂,如要删除明细需走审批流程,请去审批界面进行审核! ");
- return PosBizControlConstants.SUCCESS;
- }
- }
- }catch (Exception e)
- {
- context.put("MESSAGES",e.getMessage());
- return PosBizControlConstants.SUCCESS;
- }
-
-
-
- CallableStatement cstm = null;
- cstm = dao.getCallableStatement("UIG080010_03.CAL");
- try
- {
- cstm.setString(1, SLAB_NO[i]);
- cstm.setString(2, PLT_TRS_EMP_ID[0]);
- cstm.registerOutParameter(3, java.sql.Types.VARCHAR);
- cstm.registerOutParameter(4, java.sql.Types.VARCHAR);
- cstm.execute();
-
- //财务数据上抛 移入存储过程MES_LG_KC.BACKLIST_BP
- /*cstm = this.getDao("mesdao").getCallableStatement("UPLOAD_DATA.CAL");
- cstm.setString(1, SLAB_NO[i]);
- cstm.setString(2, "69A");
- cstm.setString(3, "D");
- cstm.setString(4, "板坯外销撤回");
- cstm.setString(5, PLT_TRS_EMP_ID[0]);
- cstm.registerOutParameter(6, java.sql.Types.VARCHAR);
- cstm.execute();
-
- String err1 = cstm.getString(6);*/
- }catch(Exception ex)
- {
- ex.printStackTrace();
- }
- finally
- {
- if(cstm != null)
- {
- try
- {
- al.add("<SLAB_NO>"+SLAB_NO[i]+"</SLAB_NO>"+"<TISHI>"+cstm.getString(4)+"</TISHI>");
- cstm.close();
- }catch(Exception e)
- {
- e.printStackTrace();
- }
- }
- }
- context.put("BK", al);System.out.println(al);
-
- }
- return PosBizControlConstants.SUCCESS;
- }
-
-
- /**
- * 向指定URL发送GET方法的请求
- *
- * @param url
- * 发送请求的URL
- * @param param
- * 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
- * @return URL 所代表远程资源的响应结果
- */
- public String sendGet(String url, String param) {
- String result = "";
- BufferedReader in = null;
- try {
- String urlNameString = url + param;
- URL realUrl = new URL(urlNameString);
- // 打开和URL之间的连接
- URLConnection connection = realUrl.openConnection();
- // 设置通用的请求属性
- connection.setRequestProperty("accept", "*/*");
- connection.setRequestProperty("connection", "Keep-Alive");
- connection.setRequestProperty("user-agent",
- "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
- // 建立实际的连接
- connection.connect();
- // 获取所有响应头字段
- Map<String, List<String>> map = connection.getHeaderFields();
- // 遍历所有的响应头字段
- for (String key : map.keySet()) {
- System.out.println(key + "--->" + map.get(key));
- }
- // 定义 BufferedReader输入流来读取URL的响应
- in = new BufferedReader(new InputStreamReader(
- connection.getInputStream(),"UTF-8"));
- String line;
- while ((line = in.readLine()) != null) {
- result += line;
- }
- } catch (Exception e) {
- System.out.println("发送GET请求出现异常!" + e);
- e.printStackTrace();
- }
- // 使用finally块来关闭输入流
- finally {
- try {
- if (in != null) {
- in.close();
- }
- } catch (Exception e2) {
- e2.printStackTrace();
- }
- }
- return result;
- }
- }
|