日期:2014-05-18  浏览次数:20691 次

本地测试没有问题,服务器上出现问题。具体请看代码。
方法代码如下,前端的一个收费操作。后台需要做的是更新数据库信息。以及和其他系统通信。在在本地测没有一点问题,能正常实现功能,但部署到正式环境的服务器上,就不行。前端一直处于等待状态。服务器环境:weblogic + linux 
public void updateChildOrder(Map map) throws Exception { // 收费操作
logger.info("进入 方法【OrderInfoServiceImpl updateChildOrder()......】");
UserBean user=(UserBean) SecurityUtils.getSubject().getPrincipal();
String status = map.get("sta").toString();
String primaryKey = CommonUtils.generatePrimaryKey().toString(); // 新增收费 流水号
if (status != null && status.equals("1")) { // 若有新增收费 则新增子订单记录
map.put("orderSerialNumber", primaryKey); // 子订单流水号
map.put("orderType", "100"); // 订单类型 6:新增费用
map.put("busiTypeName", "新增费用"); // 业务类型名称
map.put("status", "5"); // 订单状态 5:已收费 提交
orderInfoDao.addChildOrder(map);
}

String ids = map.get("idStr").toString();
String pricesr = map.get("priceStr").toString();
String types = map.get("orderTypes").toString();
String[] idStr = ids.split(",");
String[] priceStr = pricesr.split(",");
String[] orderTypes = types.split(",");
for (int i = 0; i < idStr.length; i++) {
Map maps = new HashMap();
maps.put("paid", priceStr[i]); // 订单实收金额
maps.put("orderId", idStr[i]); // 订单号

if (orderTypes[i].equals("3")) {
maps.put("status", 1); // 须开卡类业务 订单状态 1:已收费
} else {
maps.put("status", 5); // 其他无须开卡类型 订单状态 5:已提交
}
orderInfoDao.updateChildOrder(maps);
}

Map m = new HashMap();
m.put("orderInfoNumber", map.get("mainOrderNo"));
m.put("status", 5); // 子订单状态 5:已提交
if (isOrderStatus(m)) { // 判断所有子订单是否 都已提交
m = new HashMap();
m.put("orderId", map.get("mainOrderNo"));
m.put("status", 5); // 子订单已全部提交 主订单状态 5:已全部提交
orderInfoDao.updateMainOrder(m);
} else {
m = new HashMap();
m.put("orderId", map.get("mainOrderNo"));
m.put("status", 2); // 子订单未全部提交 主订单状态 2:已收费
orderInfoDao.updateMainOrder(m);

logger.info("创建订单更改接口对象【IOrderWSServiceClient】");
// 通过 webservice 及时将信息传回 助销系统侧 并获取结果 已收费
IOrderWSServiceClient client = new IOrderWSServiceClient();
IOrderWSServicePortType service = client.getIOrderWSServiceHttpPort();