no message

master
rengp 2 years ago
parent 454eb7ff69
commit 49d2c02427

@ -19,7 +19,9 @@ public class Client {
// String str = "00000604<?xml version=\"1.0\" encoding=\"gbk\"?><Service><Service_Header><service_sn>1010157060000081243</service_sn><system_id>0258</system_id><requester_id>0157</requester_id><branch_id>010231100</branch_id><channel_id>01</channel_id><service_time>20230905104426</service_time><need_request>true</need_request><SvcCd>500130004</SvcCd><SvcScn>13</SvcScn><BnkSrlNo>015720230905060000081243</BnkSrlNo><FileFlg>0</FileFlg></Service_Header><Service_Body><request><path>todo</path><method>getCount</method><args><entry><key>userNum</key><value>10913026任广鹏是个大刷币</value></entry></args></request></Service_Body></Service>";
// String str = "00000666<?xml version=\"1.0\" encoding=\"UTF-8\"?><Service><Service_Header><service_sn>1010157060000081243</service_sn><system_id>0258</system_id><requester_id>0170</requester_id><branch_id>010231100</branch_id><channel_id>01</channel_id><service_time>20230905104426</service_time><need_request>true</need_request><SvcCd>500130004</SvcCd><SvcScn>13</SvcScn><BnkSrlNo>015720230905060000081243</BnkSrlNo><FileFlg>0</FileFlg></Service_Header><Service_Body><request><oaTrvlBnsExpnsAcctNo>BTSQD-202309200005</oaTrvlBnsExpnsAcctNo><apprvrNo>10110567</apprvrNo><apprvrName>10110567</apprvrName><flowStatus>2</flowStatus><sgntrOpn>测试退回签字意见?</sgntrOpn></request></Service_Body></Service>";
// String str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Service><Service_Header><service_sn>1010157060000081243</service_sn><system_id>0258</system_id><requester_id>0157</requester_id><branch_id>010231100</branch_id><channel_id>01</channel_id><service_time>20230905104426</service_time><need_request>true</need_request><SvcCd>500130004</SvcCd><SvcScn>13</SvcScn><BnkSrlNo>015720230905060000081243</BnkSrlNo><FileFlg>0</FileFlg></Service_Header><Service_Body><request><path>todo</path><method>getCount</method><args><entry><key>userNum</key><value>10913026任广鹏是个大刷币</value></entry></args></request></Service_Body></Service>";
String str = "00000669<?xml version=\"1.0\" encoding=\"UTF-8\"?><Service><Service_Header><service_sn>000000000004</service_sn><system_id>0258</system_id><requester_id>0170</requester_id><branch_id>951101</branch_id><channel_id>0170</channel_id><service_time>20230920195236</service_time><need_request>true</need_request><SvcCd>500120043</SvcCd><SvcScn>01</SvcScn><BnkSrlNo>017020230920000000000004</BnkSrlNo><FileFlg>0</FileFlg></Service_Header><Service_Body><request><oaTrvlBnsExpnsAcctNo>BTSQD-202309210011</oaTrvlBnsExpnsAcctNo><apprvrNo>10110001</apprvrNo><apprvrName>测试审批人</apprvrName><flowStatus>2</flowStatus><sgntrOpn>驳回测试2</sgntrOpn></request></Service_Body></Service>";
// String str = "00000669<?xml version=\"1.0\" encoding=\"UTF-8\"?><Service><Service_Header><service_sn>000000000004</service_sn><system_id>0258</system_id><requester_id>0170</requester_id><branch_id>951101</branch_id><channel_id>0170</channel_id><service_time>20230920195236</service_time><need_request>true</need_request><SvcCd>500120043</SvcCd><SvcScn>01</SvcScn><BnkSrlNo>017020230920000000000004</BnkSrlNo><FileFlg>0</FileFlg></Service_Header><Service_Body><request><oaTrvlBnsExpnsAcctNo>BTSQD-202309210011</oaTrvlBnsExpnsAcctNo><apprvrNo>10110001</apprvrNo><apprvrName>测试审批人</apprvrName><flowStatus>2</flowStatus><sgntrOpn>驳回测试2</sgntrOpn></request></Service_Body></Service>";
// String str = "00000597<?xml version=\"1.0\" encoding=\"UTF-8\"?><Service><Service_Header><service_sn>1010157000000001757</service_sn><system_id>0258</system_id><requester_id>0157</requester_id><branch_id>010231100</branch_id><channel_id>01</channel_id><service_time>20231018135840</service_time><need_request>true</need_request><SvcCd>500130004</SvcCd><SvcScn>13</SvcScn><BnkSrlNo>015720231018000000001757</BnkSrlNo><FileFlg>0</FileFlg></Service_Header><Service_Body><request><path>todo</path><method>getCount2</method><args><entry><key>userNum</key><value>10110567</value></entry></args></request></Service_Body></Service>";
String str = "00000596<?xml version=\"1.0\" encoding=\"UTF-8\"?><Service><Service_Header><service_sn>1010157000000001757</service_sn><system_id>0258</system_id><requester_id>0157</requester_id><branch_id>010231100</branch_id><channel_id>01</channel_id><service_time>20231018135840</service_time><need_request>true</need_request><SvcCd>500130004</SvcCd><SvcScn>13</SvcScn><BnkSrlNo>015720231018000000001757</BnkSrlNo><FileFlg>0</FileFlg></Service_Header><Service_Body><request><path>todo</path><method>getCount</method><args><entry><key>userNum</key><value>10110567</value></entry></args></request></Service_Body></Service>";
// ;
// System.out.println(XMLUtils.parseXMLToMap(str));
// Map<String, String> stringStringMap = XMLUtils.parseXMLToMap(str);

@ -0,0 +1,15 @@
package com.api.tjbk;
import com.engine.web.sl.SLController;
import javax.ws.rs.Path;
@Path("/tjyh/sl")
public class TJBKSLWeb extends SLController
{
}

@ -36,8 +36,8 @@ public class EsbRequestHeader {
channel_id = baseBean.getPropValue("ESB_Header","channel_id");
service_time = timestamp;
need_request = "";
SvcCd = baseBean.getPropValue("ESB_Header","SvcCd");;
SvcScn = baseBean.getPropValue("ESB_Header","SvcScn");;
SvcCd = baseBean.getPropValue("ESB_Header","SvcCd");
SvcScn = baseBean.getPropValue("ESB_Header","SvcScn");
BnkSrlNo = requester_id + timestamp + idStr ;
FileFlg ="0";
}

@ -148,7 +148,7 @@ public class TravelToEsbBean {
}
public static String convertObjectToXml(Object object , String RootName) {
;
StringBuilder xmlBuilder = new StringBuilder("<" + (StringUtil.isEmpty(RootName)?object.getClass().getSimpleName():RootName )+ ">");
Field[] fields = object.getClass().getDeclaredFields();

@ -25,7 +25,8 @@ import static weaver.security.util.SecurityMethodUtil.clearKeywordFromConditon;
public class TJBKWorkFlowServiceImpl implements TJBKWorkFlowService {
private static final String getIdByWorkCodesql = "SELECT id FROM HRMRESOURCE WHERE workcode = ? ";
private static final String getToReadwfidsql = "SELECT b.* from hpsetting_wfcenter a , workflowcentersettingdetail b where a.eid = b.eid and a.tabid = b.tabid and a.tabtitle = '我的待阅' and b.TYPE ='flowid'";
private static final String getToReadwfidsql = "SELECT distinct b.CONTENT content from hpsetting_wfcenter a , workflowcentersettingdetail b where a.eid = b.eid and a.tabid = b.tabid and a.tabtitle = '我的待阅' and b.TYPE ='flowid'";
private static final String getToDowfidsql = "SELECT distinct b.CONTENT content from hpsetting_wfcenter a , workflowcentersettingdetail b where a.eid = b.eid and a.tabid = b.tabid and a.tabtitle = '我的待办' and b.TYPE ='flowid'";
// private static final String getToReadwfidsql = "SELECT b.* from hpsetting_wfcenter a , workflowcentersettingdetail b where a.eid = b.eid and a.tabid = b.tabid";
private WorkflowServiceImpl workflowService = new WorkflowServiceImpl();
private RecordSet rs = new RecordSet();
@ -131,7 +132,7 @@ public class TJBKWorkFlowServiceImpl implements TJBKWorkFlowService {
private String getToDoWfidCondition() {
RecordSet rs = new RecordSet();
boolean b = rs.executeQuery(getToReadwfidsql);
boolean b = rs.executeQuery(getToDowfidsql);
String[] arr = new String[rs.getCounts()];
StringBuilder sqlwhere = new StringBuilder();
int i = 0;

@ -1,11 +1,5 @@
package com.engine.tjyh.xc.cmd;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import weaver.general.TimeUtil;
import weaver.general.Util;
/**
* TODO
*
@ -16,744 +10,24 @@ import weaver.general.Util;
public class Test {
public static void main(String[] args) {
String in = "{\n" +
" \"ItineraryList\": [\n" +
" {\n" +
" \"JourneyNO\": null,\n" +
" \"FlightOrderInfoList\": [\n" +
" {\n" +
" \"BasicInfo\": {\n" +
" \"OrderID\": \"26307778053\",\n" +
" \"TripID\": \"0\",\n" +
" \"OrderStatus\": \"全部退票\",\n" +
" \"OrderStatusCode\": \"R\",\n" +
" \"UID\": \"2188872790\",\n" +
" \"PreEmployName\": \"朱琴\",\n" +
" \"EmployeeID\": \"10110551\",\n" +
" \"AccountID\": 989019,\n" +
" \"SubAccountID\": 1098980,\n" +
" \"CorpPayType\": \"因公\",\n" +
" \"CreateTime\": \"2023-08-11 12:47:55\",\n" +
" \"FinishDate\": \"2023-08-11 12:50:41\",\n" +
" \"PrintTicketTime\": \"2023-08-11 12:50:41\",\n" +
" \"FlightClass\": \"N\",\n" +
" \"FlightWay\": \"单程\",\n" +
" \"Remarks\": \"\",\n" +
" \"PreBookDays\": 36,\n" +
" \"ServiceDetailInfo\": {\n" +
" \"BaseServiceFee\": 0,\n" +
" \"BindServiceFee\": 0,\n" +
" \"SpecialServiceFee\": 0,\n" +
" \"UnWorkTimeServiceFee\": 0,\n" +
" \"VIPServiceFee\": 0,\n" +
" \"ItineraryFeeForRMB\": 0,\n" +
" \"ItineraryFeeForForeign\": 0,\n" +
" \"TechnicalServiceFee\": 0,\n" +
" \"PresentInsuranceServiceFee\": 0\n" +
" },\n" +
" \"NBillingType\": \"D\",\n" +
" \"TicketStatus\": \"A\",\n" +
" \"RebookOrderID\": \"\",\n" +
" \"ServerFrom\": \"App\",\n" +
" \"IsOfficialCard\": \"\",\n" +
" \"BookingChannel\": \"App\",\n" +
" \"PlatformOrderID\": \"\",\n" +
" \"PayExchangeRate\": 1,\n" +
" \"OperationCode\": 3,\n" +
" \"Amount\": 2300,\n" +
" \"TravelMoney\": 0,\n" +
" \"ChangeAmount\": 0,\n" +
" \"RefundAmount\": 0,\n" +
" \"CCardPayFee\": 0,\n" +
" \"SendTicketFee\": 0,\n" +
" \"InsuranceFee\": 0,\n" +
" \"PrepayType\": \"MAPAY\",\n" +
" \"TotalServiceFee\": 0,\n" +
" \"Currency\": \"CNY\",\n" +
" \"ForeignAmount\": 2300,\n" +
" \"Refundable\": false,\n" +
" \"Rebookable\": false,\n" +
" \"JourneyID\": \"334388-1\",\n" +
" \"CostCenter\": \"信息技术部\",\n" +
" \"CostCenter2\": \"朱琴\",\n" +
" \"CostCenter3\": \"信息技术部\",\n" +
" \"CostCenter4\": \"\",\n" +
" \"CostCenter5\": \"\",\n" +
" \"CostCenter6\": \"\",\n" +
" \"DefineFlag\": \"2023-09-06 12:00\",\n" +
" \"DefineFlag2\": \"2023-09-07 12:00\",\n" +
" \"JourneyReason\": \"测试飞机退改签。\",\n" +
" \"Project\": \"CLSQDHZ-202308110025\",\n" +
" \"AuditStatus\": \"授权通过\",\n" +
" \"ConfirmPerson\": \"AUTOPASS_APPROVER\",\n" +
" \"ConfirmPerson2\": \"\",\n" +
" \"ConfirmPersonCC\": null,\n" +
" \"ConfirmPersonCC2\": null,\n" +
" \"ConfirmType\": \"A1;C0\",\n" +
" \"ConfirmType2\": \"\",\n" +
" \"PayMixed\": false,\n" +
" \"PaymentItemList\": [\n" +
" {\n" +
" \"PayType\": \"PERSONAL\",\n" +
" \"PayAmount\": 2300,\n" +
" \"ItemDetailList\": [\n" +
" {\n" +
" \"Sequence\": 1,\n" +
" \"PassengerId\": 194517689288163360,\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"FeeCode\": \"FlightPackage-Refund\",\n" +
" \"FeeAmount\": 10\n" +
" },\n" +
" {\n" +
" \"Sequence\": 1,\n" +
" \"PassengerId\": 194517689288163360,\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"FeeCode\": \"FlightPackage-AirportTransfer\",\n" +
" \"FeeAmount\": 10\n" +
" },\n" +
" {\n" +
" \"Sequence\": 1,\n" +
" \"PassengerId\": 194517689288163360,\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"FeeCode\": \"TicketFee\",\n" +
" \"FeeAmount\": 2150\n" +
" },\n" +
" {\n" +
" \"Sequence\": 1,\n" +
" \"PassengerId\": 194517689288163360,\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"FeeCode\": \"FlightPackage-Delay\",\n" +
" \"FeeAmount\": 20\n" +
" },\n" +
" {\n" +
" \"Sequence\": 1,\n" +
" \"PassengerId\": 194517689288163360,\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"FeeCode\": \"FlightTax\",\n" +
" \"FeeAmount\": 50\n" +
" },\n" +
" {\n" +
" \"Sequence\": 1,\n" +
" \"PassengerId\": 194517689288163360,\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"FeeCode\": \"FlightOilFee\",\n" +
" \"FeeAmount\": 60\n" +
" }\n" +
" ]\n" +
" }\n" +
" ],\n" +
" \"IsOnline\": \"T\",\n" +
" \"CorporationId\": \"TIANJINBANK\",\n" +
" \"DockingVendorPlatform\": 0,\n" +
" \"DockingVendorPlatformAccount\": null,\n" +
" \"CorpDockingInfoList\": null,\n" +
" \"airlineCountryIdEqualAccount\": null,\n" +
" \"PreEmployNamePinYin\": \"ZhuQin\",\n" +
" \"CancelAble\": false,\n" +
" \"NewTotalServiceFee\": 0\n" +
" },\n" +
" \"DeliveryInfo\": {\n" +
" \"DeliveryInfo\": \"无需报销凭证\",\n" +
" \"ContactPhone\": \"17612200533\",\n" +
" \"ContactMobile\": \"17612200533\",\n" +
" \"ContactName\": \"商旅客户\",\n" +
" \"DeliveryAddress\": \"\",\n" +
" \"ContactEmail\": \"\"\n" +
" },\n" +
" \"FlightInfo\": [\n" +
" {\n" +
" \"Sequence\": \"1\",\n" +
" \"Flight\": \"CA1507\",\n" +
" \"AirLineCode\": \"CA\",\n" +
" \"AirLineName\": \"中国国航\",\n" +
" \"Remark\": \"\",\n" +
" \"TakeoffTime\": \"2023-09-16 07:30:00\",\n" +
" \"ArrivalTime\": \"2023-09-16 10:00:00\",\n" +
" \"DCityName\": \"北京\",\n" +
" \"DCityName_EN\": \"Beijing\",\n" +
" \"DCityCode\": \"BJS\",\n" +
" \"DPortName\": \"首都国际机场\",\n" +
" \"DPortCode\": \"PEK\",\n" +
" \"Agreement\": \"非协议\",\n" +
" \"Amount\": 2260,\n" +
" \"Price\": 2150,\n" +
" \"PrintPrice\": 2150,\n" +
" \"PriceRate\": 1,\n" +
" \"StandardPrice\": 2150,\n" +
" \"HasMeal\": true,\n" +
" \"OilFee\": 60,\n" +
" \"Tax\": 50,\n" +
" \"Bindtype\": \"U\",\n" +
" \"BindNum\": 1,\n" +
" \"BindAmount\": 40,\n" +
" \"ServerFee\": 0,\n" +
" \"Subsidy\": 0,\n" +
" \"AgeType\": \"ADU\",\n" +
" \"Class\": \"Y\",\n" +
" \"ClassName\": \"经济舱\",\n" +
" \"ClassNameNew\": \"经济舱\",\n" +
" \"SubClass\": \"Y\",\n" +
" \"OfficeNo\": \"PEK841\",\n" +
" \"NonRer\": \"有条件改期\",\n" +
" \"RerNotes\": \"航班起飞前336小时以外同等舱位免费更改起飞前336小时不含内至航班起飞前48小时收取票价5%的更改费起飞前48小时不含内至起飞前4小时收取票面价5%的更改费起飞前4小时不含内及起飞后需收取票面价10%的更改费。改期费与升舱费同时发生时,需同时收取。(婴儿免收变更费)\",\n" +
" \"NonRef\": \"有条件退票\",\n" +
" \"RefNotes\": \"航班起飞前336小时外免收退票费起飞前336小时不含内至航班起飞前48小时需收取票面价5的退票费起飞前48小时不含内至起飞前4小时收取票面价10%的退票费起飞前4小时不含内及起飞后需收取票面价15%的退票费。(婴儿免收退票费)\",\n" +
" \"NonEnd\": \"有条件签转\",\n" +
" \"EndNotes\": \"允许签转,如变更后承运人适用票价高于国航票价,需补齐票价差额后进行变更,同时收取变更手续费;如变更后承运人适用票价低于国航票价,可按自愿退票办理.如按照自愿变更办理,差额不退,同时收取变更手续费.\",\n" +
" \"Adtk\": \"\",\n" +
" \"FuelMileage\": 1178,\n" +
" \"EClassStandardPrice\": 2150,\n" +
" \"SpeicalClassTypeName\": \"\",\n" +
" \"SpeicalClassTypeDescription\": \"\",\n" +
" \"CraftType\": \"747\",\n" +
" \"DAirport\": {\n" +
" \"Name\": \"首都国际机场3号航站楼\",\n" +
" \"Name_en\": \"首都国际机场3号航站楼\",\n" +
" \"Shortname\": \"T3航站楼\",\n" +
" \"Shortname_en\": \"T3航站楼\"\n" +
" },\n" +
" \"ACityName\": \"上海\",\n" +
" \"ACityName_EN\": \"Shanghai\",\n" +
" \"ACityCode\": \"SHA\",\n" +
" \"APortName\": \"虹桥国际机场\",\n" +
" \"APortCode\": \"SHA\",\n" +
" \"AAirport\": {\n" +
" \"Name\": \"虹桥国际机场2号航站楼\",\n" +
" \"Name_en\": \"虹桥国际机场2号航站楼\",\n" +
" \"Shortname\": \"T2航站楼\",\n" +
" \"Shortname_en\": \"T2航站楼\"\n" +
" },\n" +
" \"IsOpenTran\": \"F\",\n" +
" \"IsSurface\": \"F\",\n" +
" \"Reason\": \"\",\n" +
" \"ReasonDesc\": \"您已选择预订时可订到的最低折扣航班\",\n" +
" \"PreBookReason\": \"\",\n" +
" \"PreBookReasonDesc\": \"\",\n" +
" \"LowFlight\": \"\",\n" +
" \"LowClass\": \"\",\n" +
" \"LowestPrice\": 0,\n" +
" \"LowRate\": 0,\n" +
" \"LowDTime\": \"\",\n" +
" \"Tpm\": 1087,\n" +
" \"ClassReason\": \"\",\n" +
" \"ClassReasonDesc\": \"\",\n" +
" \"AgreementReason\": \"\",\n" +
" \"AgreementReasonDesc\": \"\",\n" +
" \"DistanceReason\": \"\",\n" +
" \"DistanceReasonDesc\": \"\",\n" +
" \"FlightTime\": 150,\n" +
" \"AirlineRecordNo\": \"NDYHST\",\n" +
" \"FlightStopInfoList\": null,\n" +
" \"SaleType\": \"NORMAL\",\n" +
" \"PNR\": \"JP8PSH\",\n" +
" \"SegmentNo\": 1,\n" +
" \"ItineraryFee\": 0,\n" +
" \"ItineraryPassengers\": null,\n" +
" \"AgreementCode\": \"NA\",\n" +
" \"DepartureCountryCode\": \"CN\",\n" +
" \"ArrivalCountryCode\": \"CN\",\n" +
" \"TakeOffTimeUTC\": \"2023-09-15T23:30:00Z\",\n" +
" \"ArrivalTimeUTC\": \"2023-09-16T02:00:00Z\",\n" +
" \"Alliance\": \"星空联盟\",\n" +
" \"SectorType\": null,\n" +
" \"DepartureDistrictCode\": \"110000\",\n" +
" \"ArrivalDistrictCode\": \"310000\",\n" +
" \"SettlementAccntAmount\": 0,\n" +
" \"SettlementAccntPrice\": 0,\n" +
" \"SettlementAccntOilFee\": 0,\n" +
" \"SettlementAccntTax\": 0,\n" +
" \"SettlementIndividualAmount\": 2260,\n" +
" \"SettlementIndividualPrice\": 2150,\n" +
" \"SettlementIndividualOilFee\": 60,\n" +
" \"SettlementIndividualTax\": 50,\n" +
" \"ShareFlightNo\": null,\n" +
" \"ReasonCodeInfoList\": null\n" +
" }\n" +
" ],\n" +
" \"PassengerInfo\": [\n" +
" {\n" +
" \"PassengerBasic\": {\n" +
" \"CorpEid\": \"10110551\",\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"PassengerNamePY\": \"ZhuQin\",\n" +
" \"NationalityCode\": \"CN\",\n" +
" \"NationalityName\": \"中国\",\n" +
" \"CardTypeName\": \"身份证\",\n" +
" \"CardTypeNumber\": \"513701199709053029\",\n" +
" \"Gender\": \"F\",\n" +
" \"Birthday\": \"1997-09-05 00:00:00\",\n" +
" \"CostCenter\": \"信息技术部\",\n" +
" \"CostCenter2\": \"朱琴\",\n" +
" \"CostCenter3\": \"信息技术部\",\n" +
" \"CostCenter4\": \"\",\n" +
" \"CostCenter5\": \"\",\n" +
" \"CostCenter6\": \"\",\n" +
" \"Dept1\": \"信息技术部\",\n" +
" \"Dept2\": \"\",\n" +
" \"Dept3\": \"\",\n" +
" \"Dept4\": \"\",\n" +
" \"Dept5\": \"\",\n" +
" \"Dept6\": \"\",\n" +
" \"Dept7\": \"\",\n" +
" \"Dept8\": \"\",\n" +
" \"Dept9\": \"\",\n" +
" \"Dept10\": \"\",\n" +
" \"CardValid\": \"\"\n" +
" },\n" +
" \"SequenceInfo\": [\n" +
" {\n" +
" \"Sequence\": 1,\n" +
" \"TicketInfo\": [\n" +
" {\n" +
" \"AirLineCode\": \"999\",\n" +
" \"TicketNo\": \"2327199524\",\n" +
" \"TicketNoSignCode\": \"999-2327199524\",\n" +
" \"Status\": \"6\",\n" +
" \"StatusDesc\": \"已退票\"\n" +
" },\n" +
" {\n" +
" \"AirLineCode\": \"999\",\n" +
" \"TicketNo\": \"2327200094\",\n" +
" \"TicketNoSignCode\": \"999-2327200094\",\n" +
" \"Status\": \"6\",\n" +
" \"StatusDesc\": \"已退票\"\n" +
" }\n" +
" ],\n" +
" \"InsuranceInfo\": null,\n" +
" \"ChangeInfo\": [\n" +
" {\n" +
" \"Sequence\": 1,\n" +
" \"RebookId\": 66966439,\n" +
" \"CPrepayType\": \"MAPAY\",\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"CStatus\": \"改签成功\",\n" +
" \"CFee\": 0,\n" +
" \"RebookServiceFee\": 0,\n" +
" \"RebookingTime\": \"2023-08-11 12:55:30\",\n" +
" \"RebookedTime\": \"2023-08-11 12:57:00\",\n" +
" \"OriTicketNO\": \"2327199524\",\n" +
" \"PreTicketNO\": \"2327199524\",\n" +
" \"CTicketNO\": \"2327200094\",\n" +
" \"CTicketNoSignCode\": \"999-2327200094\",\n" +
" \"CAirline\": \"CA\",\n" +
" \"CAirlineName\": \"中国国航\",\n" +
" \"CAirType\": \"747\",\n" +
" \"CFlight\": \"CA1507\",\n" +
" \"CPrintPrice\": 2150,\n" +
" \"OilFee\": 60,\n" +
" \"Tax\": 50,\n" +
" \"Subsidy\": 0,\n" +
" \"SubClass\": \"Y\",\n" +
" \"CClass\": \"Y\",\n" +
" \"CClassName\": \"经济舱\",\n" +
" \"CTakeOffTime\": \"2023-09-15 07:30:00\",\n" +
" \"CArrivalTime\": \"2023-09-15 10:00:00\",\n" +
" \"CDCityName\": \"北京\",\n" +
" \"CDPortName\": \"首都国际机场\",\n" +
" \"CDTerminal\": \"T3\",\n" +
" \"CACityName\": \"上海\",\n" +
" \"CAPortName\": \"虹桥国际机场\",\n" +
" \"CATerminal\": \"T2\",\n" +
" \"RebookStatus\": \"S\",\n" +
" \"PriceDifferential\": 0,\n" +
" \"DateChangeFee\": 0,\n" +
" \"SendTicketFee\": 0,\n" +
" \"OriAirLineCode\": \"999\",\n" +
" \"CAirLineCode\": \"999\",\n" +
" \"RebookResonDesc\": \"测试飞机改签。\",\n" +
" \"FlightTime\": \"150\",\n" +
" \"FlightStopInfoList\": null,\n" +
" \"OilFeeDifferential\": 0,\n" +
" \"SpecialClassName\": \"\",\n" +
" \"SpecialClassDesc\": \"\",\n" +
" \"JounaryNo\": \"\",\n" +
" \"AuthorizeStatus\": \"A\",\n" +
" \"CDPortCode\": \"PEK\",\n" +
" \"CAPortCode\": \"SHA\",\n" +
" \"RebookReasonDesc\": \"测试飞机改签。\",\n" +
" \"RebookType\": \"0\",\n" +
" \"CACityCode\": \"SHA\",\n" +
" \"CDCityCode\": \"BJS\",\n" +
" \"TaxDifferential\": 0,\n" +
" \"TakeOffTimeUTC\": \"2023-09-14T23:30:00Z\",\n" +
" \"ArrivalTimeUTC\": \"2023-09-15T02:00:00Z\",\n" +
" \"PriceRate\": 1,\n" +
" \"DepartureCountryCode\": \"CN\",\n" +
" \"ArrivalCountryCode\": \"CN\",\n" +
" \"FlightWay\": \"\",\n" +
" \"DepartureDistrictCode\": \"110000\",\n" +
" \"ArrivalDistrictCode\": \"310000\",\n" +
" \"CheckTicketPrice\": 0,\n" +
" \"ShareFlightNo\": \"\",\n" +
" \"OriginalTicketNoSignCode\": \"999-2327199524\",\n" +
" \"PreTicketNoSignCode\": \"999-2327199524\"\n" +
" }\n" +
" ]\n" +
" }\n" +
" ]\n" +
" }\n" +
" ],\n" +
" \"RefundInfo\": [\n" +
" {\n" +
" \"TokenNO\": \"\",\n" +
" \"Audited\": \"F\",\n" +
" \"PayCustomerAmount\": 2260,\n" +
" \"PayCustomerTravelMoney\": 0,\n" +
" \"RefundAplyTime\": \"2023-08-11 13:02:30\",\n" +
" \"RefundAuditedTime\": \"\",\n" +
" \"RefundTime\": \"2023-08-11 13:04:08\",\n" +
" \"RefundDesc\": \"行程单未打印;航段1 自愿 朱琴,退/改金额0.00,费率0.00。 航段1 自愿 朱琴,退/改金额0.00,费率0.00。\",\n" +
" \"RefundOrderID\": 183992901,\n" +
" \"RefundStatus\": \"S\",\n" +
" \"RefundStatusDesc\": \"已退款\",\n" +
" \"RefundResonDesc\": \"测试退票。\",\n" +
" \"PrepareApprovalNo\": null,\n" +
" \"RefundEmergency\": false,\n" +
" \"RefundDetail\": [\n" +
" {\n" +
" \"Sequence\": 1,\n" +
" \"AirLineCode\": \"999\",\n" +
" \"TicketNo\": \"2327200094\",\n" +
" \"TicketNoSignCode\": \"999-2327200094\",\n" +
" \"Flight\": \"CA1507\",\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"RefundFee\": 0,\n" +
" \"RefundRate\": 0,\n" +
" \"RefundServiceFee\": 0,\n" +
" \"Subsidy\": 0,\n" +
" \"RebookingListID\": 66966439,\n" +
" \"RebookingID\": 66966439,\n" +
" \"UsedAmount\": 0,\n" +
" \"UsedTax\": 0,\n" +
" \"UnusedRefundServiceFeeType\": 0,\n" +
" \"UnusedRefundServiceFee\": 0,\n" +
" \"RefundItineraryFee\": 0,\n" +
" \"RefundInsuranceDetail\": null,\n" +
" \"TotalEmdAmount\": 0,\n" +
" \"ShareFlightNo\": \"\"\n" +
" },\n" +
" {\n" +
" \"Sequence\": 1,\n" +
" \"AirLineCode\": \"999\",\n" +
" \"TicketNo\": \"2327199524\",\n" +
" \"TicketNoSignCode\": \"999-2327199524\",\n" +
" \"Flight\": \"CA1507\",\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"RefundFee\": 0,\n" +
" \"RefundRate\": 0,\n" +
" \"RefundServiceFee\": 0,\n" +
" \"Subsidy\": 0,\n" +
" \"RebookingListID\": 0,\n" +
" \"RebookingID\": 0,\n" +
" \"UsedAmount\": 0,\n" +
" \"UsedTax\": 0,\n" +
" \"UnusedRefundServiceFeeType\": 0,\n" +
" \"UnusedRefundServiceFee\": 0,\n" +
" \"RefundItineraryFee\": 0,\n" +
" \"RefundInsuranceDetail\": null,\n" +
" \"TotalEmdAmount\": 0,\n" +
" \"ShareFlightNo\": null\n" +
" }\n" +
" ],\n" +
" \"RefundProcessList\": [\n" +
" {\n" +
" \"ProcessName\": \"A\",\n" +
" \"ProcessStatus\": 2\n" +
" },\n" +
" {\n" +
" \"ProcessName\": \"O\",\n" +
" \"ProcessStatus\": 2\n" +
" },\n" +
" {\n" +
" \"ProcessName\": \"F\",\n" +
" \"ProcessStatus\": 2\n" +
" },\n" +
" {\n" +
" \"ProcessName\": \"V\",\n" +
" \"ProcessStatus\": 2\n" +
" },\n" +
" {\n" +
" \"ProcessName\": \"C\",\n" +
" \"ProcessStatus\": 2\n" +
" },\n" +
" {\n" +
" \"ProcessName\": \"R\",\n" +
" \"ProcessStatus\": 2\n" +
" },\n" +
" {\n" +
" \"ProcessName\": \"Q\",\n" +
" \"ProcessStatus\": -1\n" +
" }\n" +
" ]\n" +
" }\n" +
" ],\n" +
" \"FlightChangeInfo\": null,\n" +
" \"RelatedOrderList\": null,\n" +
" \"FlightTicketPrintInfo\": {\n" +
" \"SegmentPrintInfoList\": null,\n" +
" \"RegularExpressInfoList\": null\n" +
" },\n" +
" \"PackageList\": [\n" +
" {\n" +
" \"PackageID\": 26309456058,\n" +
" \"PackageName\": \"商旅超能增值包\",\n" +
" \"PackageDescription\": \"1.机票发生退票后,航班延误服务不再适用于退票后重新预定的航班。<br>2.本产品不支持婴儿购买。\",\n" +
" \"RefundBookNotice\": \"航班起飞前,服务包中服务均未使用、未过期,服务包可与机票一起退订(不支持服务包子产品单退),航班起飞后服务包不可退订。\",\n" +
" \"PaymentAmount\": 40,\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"ProductList\": [\n" +
" {\n" +
" \"ProductName\": \"24小时退票立减\",\n" +
" \"ProductDescription\": \"出票后24小时内所下单机票起飞前发生退票乘机人可获得1次退票费立减服务可享抵扣退票费的40%。&lt;br&gt;使用说明1. 退票费抵用券所下单机票出票后24小时内可使用仅限原航班起飞前使用。2. 机票发生退票后航班延误补偿服务不再适用于退票后重新预定的航班。3. 成人可购买不支持儿童婴儿购买。4. 本服务一经发放,不可退改。\",\n" +
" \"EffectTime\": \"\",\n" +
" \"ExpireTime\": \"2023-09-16 07:30:00\"\n" +
" },\n" +
" {\n" +
" \"ProductName\": \"延误补偿\",\n" +
" \"ProductDescription\": \"乘机人乘坐本航班且抵达目的地时间延误2小时以上即可享受接送机券补偿。航班取消备降返航以及改签后的航班不可享受该服务。抵达目的地时间延误超过2小时且 不超过4小时补偿5张20元接送机券抵达目的地时间延误超过4小时以上补偿10张20元接送机券接送机券自发放之日起30天内使用有效且限对应乘机人使用。&lt;br&gt;使用说明1. 仅适用于携程商旅Online和APP国内接送机服务因公因私都可用。2. 购买携程商旅指定增值服务包赠送每张价值20元。每张国内接送机订单只能使用一张优惠券限预订账户使用。3. 订单支付成功后获得优惠券获券之日起30天内有效。4. 本券一经发放不可退改。\",\n" +
" \"EffectTime\": \"\",\n" +
" \"ExpireTime\": \"2023-10-16 07:30:00\"\n" +
" },\n" +
" {\n" +
" \"ProductName\": \"商旅40元接送机券\",\n" +
" \"ProductDescription\": \"接送机券服务介绍40元接送机券服务仅限携程商旅国内接送机使用抵扣40元每张国内接送机订单只能使用一张优惠券30天内可使用。优惠券使用方法1、仅适用于携程商旅Online和APP国内接送机服务因公因私都可用。 2、购买携程商旅指定增值服务包赠送每张价值40元。每张国内接送机订单只能使用一张优惠券限预订账户使用。 3、订单支付成功后获得优惠券获券之日起30天内有效。退定须知航班起飞前服务包中服务均未使用未过期服务包可与机票一起退定不支持服务包子产品单退航班起飞后服务包不可退订\",\n" +
" \"EffectTime\": \"\",\n" +
" \"ExpireTime\": \"\"\n" +
" }\n" +
" ]\n" +
" }\n" +
" ],\n" +
" \"XProductDetailList\": null,\n" +
" \"FlightOrderFeeDetailList\": [\n" +
" {\n" +
" \"TransactionType\": \"D\",\n" +
" \"PayType\": \"PERSONAL\",\n" +
" \"TransactionAmount\": 2260,\n" +
" \"PayCurrency\": \"CNY\",\n" +
" \"TransactionId\": 1326002175015649300,\n" +
" \"PassengerId\": 96759836,\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"Sequence\": 1,\n" +
" \"EmployeeID\": \"10110551\",\n" +
" \"TransactionTime\": \"2023-08-11 12:49:37\"\n" +
" },\n" +
" {\n" +
" \"TransactionType\": \"R\",\n" +
" \"PayType\": \"PERSONAL\",\n" +
" \"TransactionAmount\": -2260,\n" +
" \"PayCurrency\": \"CNY\",\n" +
" \"TransactionId\": 1326009575083933700,\n" +
" \"PassengerId\": 96759836,\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"Sequence\": 1,\n" +
" \"EmployeeID\": \"10110551\",\n" +
" \"TransactionTime\": \"2023-08-11 13:04:21\"\n" +
" },\n" +
" {\n" +
" \"TransactionType\": \"D\",\n" +
" \"PayType\": \"PERSONAL\",\n" +
" \"TransactionAmount\": 10,\n" +
" \"PayCurrency\": \"CNY\",\n" +
" \"TransactionId\": 1326002156393005000,\n" +
" \"PassengerId\": 96759836,\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"Sequence\": 1,\n" +
" \"EmployeeID\": \"10110551\",\n" +
" \"TransactionTime\": \"2023-08-11 12:49:37\"\n" +
" },\n" +
" {\n" +
" \"TransactionType\": \"D\",\n" +
" \"PayType\": \"PERSONAL\",\n" +
" \"TransactionAmount\": 20,\n" +
" \"PayCurrency\": \"CNY\",\n" +
" \"TransactionId\": 1326002156393005000,\n" +
" \"PassengerId\": 96759836,\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"Sequence\": 1,\n" +
" \"EmployeeID\": \"10110551\",\n" +
" \"TransactionTime\": \"2023-08-11 12:49:37\"\n" +
" },\n" +
" {\n" +
" \"TransactionType\": \"D\",\n" +
" \"PayType\": \"PERSONAL\",\n" +
" \"TransactionAmount\": 10,\n" +
" \"PayCurrency\": \"CNY\",\n" +
" \"TransactionId\": 1326002156393005000,\n" +
" \"PassengerId\": 96759836,\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"Sequence\": 1,\n" +
" \"EmployeeID\": \"10110551\",\n" +
" \"TransactionTime\": \"2023-08-11 12:49:37\"\n" +
" },\n" +
" {\n" +
" \"TransactionType\": \"R\",\n" +
" \"PayType\": \"PERSONAL\",\n" +
" \"TransactionAmount\": -10,\n" +
" \"PayCurrency\": \"CNY\",\n" +
" \"TransactionId\": 1326008687367815200,\n" +
" \"PassengerId\": 96759836,\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"Sequence\": 1,\n" +
" \"EmployeeID\": \"10110551\",\n" +
" \"TransactionTime\": \"2023-08-11 13:02:35\"\n" +
" },\n" +
" {\n" +
" \"TransactionType\": \"R\",\n" +
" \"PayType\": \"PERSONAL\",\n" +
" \"TransactionAmount\": -10,\n" +
" \"PayCurrency\": \"CNY\",\n" +
" \"TransactionId\": 1326008576513540000,\n" +
" \"PassengerId\": 96759836,\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"Sequence\": 1,\n" +
" \"EmployeeID\": \"10110551\",\n" +
" \"TransactionTime\": \"2023-08-11 13:02:34\"\n" +
" },\n" +
" {\n" +
" \"TransactionType\": \"R\",\n" +
" \"PayType\": \"PERSONAL\",\n" +
" \"TransactionAmount\": -20,\n" +
" \"PayCurrency\": \"CNY\",\n" +
" \"TransactionId\": 1326008633413402600,\n" +
" \"PassengerId\": 96759836,\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"Sequence\": 1,\n" +
" \"EmployeeID\": \"10110551\",\n" +
" \"TransactionTime\": \"2023-08-11 13:02:34\"\n" +
" }\n" +
" ],\n" +
" \"TripRecordInfoList\": [\n" +
" {\n" +
" \"TripId\": 49790311,\n" +
" \"Sequence\": 1,\n" +
" \"PassengerName\": \"朱琴\",\n" +
" \"RecordStatus\": \"R\",\n" +
" \"ValidFlag\": true,\n" +
" \"FlightClass\": \"N\",\n" +
" \"Flight\": \"CA1507\",\n" +
" \"ClassGrade\": \"Y\",\n" +
" \"SubClass\": \"Y\",\n" +
" \"TakeOffTime\": \"2023-09-15 07:30:00.000\",\n" +
" \"ArrivalTime\": \"2023-09-15 10:00:00.000\",\n" +
" \"DCity\": 1,\n" +
" \"DPort\": \"PEK\",\n" +
" \"DPortBuilding\": \"T3\",\n" +
" \"DPortBuildingId\": 3,\n" +
" \"ACity\": 2,\n" +
" \"APort\": \"SHA\",\n" +
" \"APortBuilding\": \"T2\",\n" +
" \"APortBuildingId\": 35,\n" +
" \"OpenTranFlag\": false,\n" +
" \"PrintPrice\": 2150,\n" +
" \"Oil\": 60,\n" +
" \"Tax\": 50,\n" +
" \"RecordNo\": \"JP8PSH\",\n" +
" \"AirlineRecordNo\": \"MFTPDS\",\n" +
" \"SharedFlag\": false,\n" +
" \"SharedFlight\": \"\",\n" +
" \"SurfaceFlag\": false,\n" +
" \"AirLineCode\": \"999\",\n" +
" \"TicketNo\": \"2327200094\",\n" +
" \"TicketNoStatus\": 1,\n" +
" \"DepartureCityName\": \"北京\",\n" +
" \"DepartureAirPortName\": \"首都国际机场\",\n" +
" \"ArrivalCityName\": \"上海\",\n" +
" \"ArrivalAirportName\": \"虹桥国际机场\",\n" +
" \"DepartureDistrictCode\": \"110000\",\n" +
" \"ArrivalDistrictCode\": \"310000\",\n" +
" \"ClassTypeName\": \"经济舱\",\n" +
" \"AirLineName\": \"中国国际航空股份有限公司\"\n" +
" }\n" +
" ]\n" +
" }\n" +
" ],\n" +
" \"HotelOrderInfoList\": null,\n" +
" \"TrainOrderInfoList\": null,\n" +
" \"HotelSupplementOrderInfoList\": null,\n" +
" \"TrainSupplementOrderInfoList\": null,\n" +
" \"CarOrderInfoList\": null,\n" +
" \"CarQuickOrderInfoList\": null,\n" +
" \"DomPickUpOrderInfoList\": null,\n" +
" \"DomCharterCarOrderInfoList\": null,\n" +
" \"IntlTrainOrderInfoList\": null\n" +
" }\n" +
" ],\n" +
" \"Status\": {\n" +
" \"Success\": true,\n" +
" \"Message\": \"调用成功。\",\n" +
" \"ErrorCode\": 0\n" +
" }\n" +
"}";
System.out.println(in);
JSONObject orderObj = JSONObject.parseObject(in);
JSONArray array = orderObj.getJSONArray("ItineraryList");
JSONArray flightOrderInfoList = null;
for (int i = 0; i < array.size(); i++) {
JSONObject detailObj = array.getJSONObject(i);
flightOrderInfoList = detailObj.getJSONArray("FlightOrderInfoList");
}
JSONObject obj = flightOrderInfoList.getJSONObject(0);
// JSONObject baseInfo = obj.getJSONObject("BasicInfo");
// String employeeID = baseInfo.getString("EmployeeID");
// }
JSONArray PassengerInfoList = obj.getJSONArray("PassengerInfo");
JSONArray ticketInfoList = obj.getJSONArray("TicketInfoList");
JSONObject passengerInfoObj = PassengerInfoList.getJSONObject(0);
String employeeID = passengerInfoObj.getJSONObject("PassengerBasic").getString("CorpEid"); //FlightOrderInfoEntity—PassengerInfoEntity—PassengerBasic
JSONObject basicInfo = obj.getJSONObject("BasicInfo");
String jouneryID = basicInfo.getString("JourneyID"); //—FlightOrderInfoEntity—BasicInfo
System.out.println(Ts("85.0"));
System.out.println(Ts("85.00"));
System.out.println(Ts("0"));
System.out.println(Ts(""));
System.out.println(Ts("26.0000"));
}
JSONObject FlightInfo= obj.getJSONArray("FlightInfo").getJSONObject(0);
System.out.println(FlightInfo.getString("Flight"));//航班号
System.out.println(FlightInfo.getString("TakeoffTime"));//开始时间
System.out.println(FlightInfo.getString("ArrivalTime"));//到达时间
System.out.println(FlightInfo.getString("DCityName"));
System.out.println(FlightInfo.getString("DCityCode"));
System.out.println(FlightInfo.getString("Amount"));
public static String Ts(String input) {
JSONArray RefundInfoEntityList = obj.getJSONArray("RefundInfo");
String tgqyy = "";
JSONObject RefundInfoEntity = null;
if(RefundInfoEntityList!=null) {
RefundInfoEntity = RefundInfoEntityList.getJSONObject(0);
// 退票ItineraryEntity—FlightOrderInfoEntity—RefundInfoEntity
// 改签:
// ItineraryEntity—FlightOrderInfoEntity—PassengerInfoEntity—SequenceInfoEntity—ChangeInfoEntity
tgqyy = RefundInfoEntity.getString("RefundResonDesc");//TrainOrderInfoEntity—PassengerInfo—OrderTicketInfo
if (input.contains(".")) {
String ff = input.substring(input.indexOf("."),input.length());
if(ff.length()>2){
input = input.substring(0,input.indexOf(".")+3);
}
}
JSONArray SequenceInfoEntityList = passengerInfoObj.getJSONArray("SequenceInfo");
JSONObject SequenceInfoEntity = SequenceInfoEntityList.getJSONObject(0);
JSONArray ChangeInfoEntityList = SequenceInfoEntity.getJSONArray("ChangeInfo");
JSONObject ChangeInfoEntity = ChangeInfoEntityList.getJSONObject(0);
JSONArray TripRecordInfoList = obj.getJSONArray("TripRecordInfoList");
JSONObject TripRecordInfoEntity = TripRecordInfoList.getJSONObject(0);
tgqyy = RefundInfoEntity.getString("RefundResonDesc");
System.out.println( tgqyy);
// System.out.println(ChangeInfoEntity.getString("CTicketNO"));//航班号
// System.out.println(ChangeInfoEntity.getString("CTakeOffTime"));//开始时间
// System.out.println(ChangeInfoEntity.getString("CArrivalTime"));//结束时间
// System.out.println(ChangeInfoEntity.getString("CDCityName"));//cfd
// System.out.println(ChangeInfoEntity.getString("CACityName"));//到达地
// System.out.println(ChangeInfoEntity.getString("CPrintPrice"));//改签后机票金额
return input;
}
}

@ -11,7 +11,6 @@ import com.engine.tjyh.xc.util.HttpRequestUtil;
import com.engine.tjyh.xc.util.WorkflowCreateHandler;
import okhttp3.*;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.TimeUtil;
@ -21,6 +20,7 @@ import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.math.BigDecimal;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.*;
@ -87,9 +87,11 @@ public class XcCmd extends AbstractCommonCommand<Map<String, Object>> {
}
if("HotelContract".equals(productType)||"HotelMember".equals(productType)){
// 取消
writeLog("HotelContract------->productType="+productType);
if("Cancelled".equals(orderStatus)){
tgq="2";
}
writeLog("HotelContract------->productType---------->orderStatus="+orderStatus);
}
if("Train".equals(productType)){
//已改签
@ -237,20 +239,24 @@ public class XcCmd extends AbstractCommonCommand<Map<String, Object>> {
zwcj = getZw(ccr);
writeLog("doHotailOrder----------zwcj="+zwcj);
sqrq = TimeUtil.getCurrentDateString();
String jouneryID = obj.getString("JourneyNo"); //—HotelOrderInfoEntity
tgqyy = obj.getString("CancelReasonCode");//HotelOrderInfoEntity
writeLog("doHotailOrder----------jouneryID="+jouneryID);
String StartTime = obj.getString("StartTime");//开始时间
String EndTime = obj.getString("EndTime");//结束时间
String CityName = obj.getString("CityName");//入住城市
String AmountRMB = Util.null2String(obj.getString("AmountRMB"));//原酒店金额
JSONObject RefundAmountInfoEnty = obj.getJSONObject("RefundTotalAmount");
String RefundTotalAmount = RefundAmountInfoEnty.getString("TicketPrice");//退回金额
writeLog("doHotailOrder----------AmountRMB="+AmountRMB);
JSONObject RefundAmountInfoEnty = obj.getJSONObject("RefundAmountInfo");
String RefundTotalAmount = RefundAmountInfoEnty.getString("RefundTotalAmount");//退回金额
String SubcriptionFee =Util.null2String(RefundAmountInfoEnty.getString("SubcriptionFee"));//退/改签费
writeLog("doHotailOrder----------SubcriptionFee="+SubcriptionFee);
writeLog("doHotailOrder----------RefundTotalAmount="+RefundTotalAmount);
writeLog("tgqyy="+tgqyy);
Map map = new HashMap();
@ -273,8 +279,11 @@ public class XcCmd extends AbstractCommonCommand<Map<String, Object>> {
SubcriptionFee="0";
}
map.put("jdypj",AmountRMB);
map.put("jdtpcsfy",SubcriptionFee);
writeLog("AmountRMB"+AmountRMB);
writeLog("SubcriptionFee="+SubcriptionFee);
map.put("jdypj",Ts(AmountRMB));
map.put("jdtpcsfy",Ts(SubcriptionFee));
if(jouneryID.contains("-")){
@ -369,6 +378,9 @@ public class XcCmd extends AbstractCommonCommand<Map<String, Object>> {
JSONObject passengerInfoObj = PassengerInfoList.getJSONObject(0);
// JSONArray OrderTicketList = passengerInfoObj.getJSONArray("OrderTicket");
String employeeID = passengerInfoObj.getString("EmployeeID"); //TrainOrderInfoEntity—PassengerInfo
writeLog("employeeID="+employeeID);
ccr = getUserId(employeeID)+"";
@ -421,6 +433,11 @@ public class XcCmd extends AbstractCommonCommand<Map<String, Object>> {
}
double jg = 0;
for(int i=0;i<ticketInfoList.size();i++) {
ticketInfo_z = ticketInfoList.getJSONObject(i);
@ -433,12 +450,57 @@ public class XcCmd extends AbstractCommonCommand<Map<String, Object>> {
ticketPrice = "0";
}
jg = jg + Util.getDoubleValue(ticketPrice);
}
map.put("hcypj",jg);
map.put("hctpcsfy",refundTicketFee);
map.put("hcgqj",dealTicketPrice);
if("1".equals(tgq)) { //1是改签
if("C".equals(TrainTicketType)) {
map.put("hcgqj",Ts(dealTicketPrice));
}else if("D".equals(TrainTicketType)) {
map.put("hcypj",Ts(ticketPrice+""));
for(int j=0;j<PassengerInfoList.size();j++){
JSONObject PassengerInfo = PassengerInfoList.getJSONObject(j);
JSONArray OrderTicketlist = PassengerInfo.getJSONArray("OrderTicket");
for(int k=0;k<OrderTicketlist.size();k++){
JSONObject OrderTicket_mx = OrderTicketList.getJSONObject(k);
String TicketType = OrderTicket_mx.getString("TicketType");
String RebRefEstimateAmount = OrderTicket_mx.getString("RebRefEstimateAmount");
if("D".equals(TicketType)){
map.put("hctpcsfy",Ts(RebRefEstimateAmount));
}
}
}
}
}else if("2".equals(tgq)) { // 2退单
String TicketInfoID = "";
for(int j=0;j<PassengerInfoList.size();j++){
JSONObject PassengerInfo = PassengerInfoList.getJSONObject(j);
JSONArray OrderTicketlist = PassengerInfo.getJSONArray("OrderTicket");
for(int k=0;k<OrderTicketlist.size();k++){
JSONObject OrderTicket_mx = OrderTicketList.getJSONObject(k);
String TicketType = OrderTicket_mx.getString("TicketType");
String RefundTicketStatus = OrderTicket_mx.getString("RefundTicketStatus");
if("S".equals(RefundTicketStatus)){
TicketInfoID = OrderTicket_mx.getString("TicketInfoID");
}
String RebRefEstimateAmount = OrderTicket_mx.getString("RebRefEstimateAmount");
if("D".equals(TicketType)){
map.put("hctpcsfy",Ts(RebRefEstimateAmount));
}
}
}
if(TicketInfoID_th.equals(TicketInfoID)) {
map.put("hcypj",Ts(ticketPrice+""));
}
}
}
writeLog("--------bug----");
writeLog(jg);
writeLog(refundTicketFee);
writeLog(dealTicketPrice);
writeLog("------bug------");
if(jouneryID.contains("-")){
@ -487,7 +549,7 @@ public class XcCmd extends AbstractCommonCommand<Map<String, Object>> {
Set set = new HashSet();
List list = new ArrayList();
if("1".equals(tgq)){
if("1".equals(tgq)){ //1是改签 2退单
if("C".equals(TrainTicketType)) {
detailTableName = tablename + "_dt4";
Map mapmx = new HashMap();
@ -504,7 +566,7 @@ public class XcCmd extends AbstractCommonCommand<Map<String, Object>> {
set.add("cfd");
set.add("mdd");
set.add("gqhcfy");
}else if("D".equals(TrainTicketType)){
}else if("D".equals(TrainTicketType)){ //原火车
detailTableName =tablename + "_dt3";
Map mapmx = new HashMap();
mapmx.put("lch",trainName);
@ -514,7 +576,19 @@ public class XcCmd extends AbstractCommonCommand<Map<String, Object>> {
mapmx.put("mdd",arrivalCityName);
mapmx.put("yhcje",ticketPrice);
mapmx.put("thje",refund);
mapmx.put("tgqf",refundTicketFee);
for(int j=0;j<PassengerInfoList.size();j++){
JSONObject PassengerInfo = PassengerInfoList.getJSONObject(j);
JSONArray OrderTicketlist = PassengerInfo.getJSONArray("OrderTicket");
for(int k=0;k<OrderTicketlist.size();k++){
JSONObject OrderTicket_mx = OrderTicketList.getJSONObject(k);
String TicketType = OrderTicket_mx.getString("TicketType");
String RebRefEstimateAmount = OrderTicket_mx.getString("RebRefEstimateAmount");
if("D".equals(TicketType)){
mapmx.put("tgqf",Ts(RebRefEstimateAmount));
}
}
}
list.add(mapmx);
set.add("lch");
set.add("kssj");
@ -551,7 +625,19 @@ public class XcCmd extends AbstractCommonCommand<Map<String, Object>> {
mapmx.put("mdd", arrivalCityName);
mapmx.put("yhcje", ticketPrice);
mapmx.put("thje", refund);
mapmx.put("tgqf", refundTicketFee);
for(int j=0;j<PassengerInfoList.size();j++){
JSONObject PassengerInfo = PassengerInfoList.getJSONObject(j);
JSONArray OrderTicketlist = PassengerInfo.getJSONArray("OrderTicket");
for(int k=0;k<OrderTicketlist.size();k++){
JSONObject OrderTicket_mx = OrderTicketList.getJSONObject(k);
String TicketType = OrderTicket_mx.getString("TicketType");
String RebRefEstimateAmount = OrderTicket_mx.getString("RebRefEstimateAmount");
if("D".equals(TicketType)){
mapmx.put("tgqf",Ts(RebRefEstimateAmount));
}
}
}
list.add(mapmx);
set.add("lch");
set.add("kssj");
@ -686,14 +772,31 @@ public class XcCmd extends AbstractCommonCommand<Map<String, Object>> {
double yjpje_2 = Util.getDoubleValue(TripRecordInfoEntity.getString("PrintPrice"))+Util.getDoubleValue(TripRecordInfoEntity.getString("Oil"))+Util.getDoubleValue(TripRecordInfoEntity.getString("Tax"));
double tgqf_2 = Util.getDoubleValue(basicInfo.getString("RefundAmount"))+Util.getDoubleValue(basicInfo.getString("ChangeAmount"));
String xx = Util.null2String(ChangeInfoEntity.getString("CPrintPrice"));
if("".equals(xx)){
xx = "0";
String CPrintPrice = Util.null2String(ChangeInfoEntity.getString("CPrintPrice"));
if("".equals(CPrintPrice)){
CPrintPrice="0";
}
String OilFee = Util.null2String(ChangeInfoEntity.getString("OilFee"));
if("".equals(OilFee)){
OilFee="0";
}
String Tax = Util.null2String(ChangeInfoEntity.getString("Tax"));
if("".equals(Tax)){
Tax="0";
}
String gqjg = dobuleAdd(CPrintPrice,OilFee);
gqjg = dobuleAdd(gqjg,Tax);
map.put("fjypj",yjpje_2);
map.put("fjtpcsfy",tgqf_2);
map.put("fjgqj",xx);
writeLog("yjpje_2="+yjpje_2);
writeLog("tgqf_2="+tgqf_2);
writeLog("gqjg="+gqjg);
map.put("fjypj",Ts(yjpje_2+""));
map.put("fjtpcsfy",Ts(tgqf_2+""));
map.put("fjgqj",Ts(gqjg));
@ -752,12 +855,31 @@ public class XcCmd extends AbstractCommonCommand<Map<String, Object>> {
list = new ArrayList();
detailTableName =tablename + "_dt2";
mapmx = new HashMap();
// String CPrintPrice = Util.null2String(ChangeInfoEntity.getString("CPrintPrice"));
//
// if("".equals(CPrintPrice)){
// CPrintPrice="0";
// }
// String OilFee = Util.null2String(ChangeInfoEntity.getString("OilFee"));
// if("".equals(OilFee)){
// OilFee="0";
// }
// String Tax = Util.null2String(ChangeInfoEntity.getString("Tax"));
// if("".equals(Tax)){
// Tax="0";
// }
// String gqjg = dobuleAdd(CPrintPrice,OilFee);
// gqjg = dobuleAdd(gqjg,Tax);
mapmx.put("hbh",ChangeInfoEntity.getString("CFlight"));//航班号
mapmx.put("qfsj",ChangeInfoEntity.getString("CTakeOffTime"));//开始时间
mapmx.put("ddsj",ChangeInfoEntity.getString("CArrivalTime"));//结束时间
mapmx.put("cfd",ChangeInfoEntity.getString("CDCityName"));//cfd
mapmx.put("mdd",ChangeInfoEntity.getString("CACityName"));//到达地
mapmx.put("gqfjfy",ChangeInfoEntity.getString("CPrintPrice"));//改签后机票金额
mapmx.put("gqfjfy",Ts(gqjg));//改签后机票金额
list.add(mapmx);
set.add("tgqf");
set.add("qfsj");
@ -974,5 +1096,21 @@ public class XcCmd extends AbstractCommonCommand<Map<String, Object>> {
return str;
}
public String Ts(String input) {
if (input.contains(".")) {
String ff = input.substring(input.indexOf("."),input.length());
if(ff.length()>2){
input = input.substring(0,input.indexOf(".")+3);
}
}
return input;
}
public String dobuleAdd(String d1, String d2 ) {
BigDecimal value1 = new BigDecimal(d1);
BigDecimal value2 = new BigDecimal(d2);
return value1.add(value2).toString();
}
}

@ -8,15 +8,12 @@ import com.engine.common.biz.AbstractCommonCommand;
import com.engine.common.entity.BizLogContext;
import com.engine.core.interceptor.CommandContext;
import com.engine.tjyh.xc.util.WorkflowCreateHandler;
import com.ibm.db2.jcc.uw.h;
import okhttp3.*;
import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang3.StringUtils;
import weaver.conn.RecordSet;
import weaver.general.BaseBean;
import weaver.general.TimeUtil;
import weaver.general.Util;
import weaver.hrm.resource.ResourceComInfo;
import java.io.BufferedReader;
import java.io.IOException;

@ -2,6 +2,7 @@ package com.engine.tjyh.xc.service.impl;
import com.alibaba.fastjson.JSONObject;
import com.engine.core.impl.Service;
import com.engine.tjyh.xc.cmd.XcCmd;
import com.engine.tjyh.xc.cmd.XcCmd2;
import com.engine.tjyh.xc.service.XcService;

@ -8,7 +8,6 @@ import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.conn.tsccm.ThreadSafeClientConnManager;
import weaver.general.BaseBean;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;

@ -1,6 +1,7 @@
package com.engine.tjyh.xc.util;
import com.alibaba.fastjson.JSONObject;
import com.weaver.file.Prop;
import org.apache.commons.httpclient.DefaultHttpMethodRetryHandler;
import org.apache.commons.httpclient.HttpStatus;
import org.apache.commons.httpclient.params.HttpMethodParams;
@ -76,12 +77,10 @@ public class HttpRequestUtil extends BaseBean {
writeLog("================proxyConfig==================s");
boolean isAgent = true;
if (isAgent) { //开启了代理
BaseBean bb = new BaseBean();
bb.getPropValue("tjyhxcjc","host");
String host = bb.getPropValue("tjyhxcjc","host");
int port = Util.getIntValue(bb.getPropValue("tjyhxcjc","port"));
String userName = bb.getPropValue("tjyhxcjc","userName");
String password = bb.getPropValue("tjyhxcjc","password");
String host = Prop.getPropValue("tjyhxcjc","host");
int port = Util.getIntValue(Prop.getPropValue("tjyhxcjc","port"));
String userName = Prop.getPropValue("tjyhxcjc","userName");
String password = Prop.getPropValue("tjyhxcjc","password");
writeLog(host);
writeLog(port);

@ -0,0 +1,74 @@
package com.engine.web.sl;
import com.alibaba.fastjson.JSONObject;
import com.engine.common.util.ParamUtil;
import com.engine.custom.sl.entity.EsbRequestHeader;
import com.engine.custom.sl.entity.TravelToEsbBean;
import com.engine.util.SocketClientUtil;
import com.engine.util.XMLUtils;
import weaver.conn.RecordSet;
import weaver.wechat.util.Utils;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.core.Context;
import java.nio.charset.StandardCharsets;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
public class SLController {
@Path("/getCWInfo")
@GET
public String getDataById(@Context HttpServletRequest request, @Context HttpServletResponse response) {
Map<String, Object> param = ParamUtil.request2Map(request);
String workCode = param.get("workCode").toString();
String timeStr = generateTimestamp();
EsbRequestHeader esbRequestHeader = new EsbRequestHeader();
esbRequestHeader.setService_sn(timeStr+workCode);
esbRequestHeader.setSystem_id("0170");
esbRequestHeader.setRequester_id("0258");
esbRequestHeader.setBranch_id("cwgl00002");
esbRequestHeader.setChannel_id("02");
esbRequestHeader.setService_time(timeStr);
esbRequestHeader.setNeed_request("");
esbRequestHeader.setSvcCd("300130001");
esbRequestHeader.setSvcScn("39");
String bnkSrlNo = esbRequestHeader.getRequester_id() + timeStr + workCode;
esbRequestHeader.setBnkSrlNo(bnkSrlNo);
esbRequestHeader.setFileFlg("0");
String Service_Body = "<Service_Body><request><operatorNo>"+ workCode +"</operatorNo></request></Service_Body>" ;
String Service_Header = TravelToEsbBean.convertObjectToXml(esbRequestHeader,"Service_Header");
String serviceXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Service>";
// out.print("UTF_8_serviceXML==="+ serviceXML);
serviceXML = serviceXML + Service_Header + Service_Body;
serviceXML = serviceXML + "</Service>";
// out.print("UTF_8_serviceXML==="+ serviceXML);
String length = String.format("%08d", serviceXML.length());
serviceXML = length + serviceXML;
serviceXML = new String(serviceXML.getBytes(StandardCharsets.UTF_8));
// out.print("请求=="+ serviceXML);
SocketClientUtil scketClient = new SocketClientUtil("14.1.76.116",10149);
String send = null;
try {
send = scketClient.send(serviceXML);
} catch (Exception e) {
return e.getMessage();
}
String substring = send.substring(0, 8);
String substring1 = send.substring(8);
Map<String, String> map = XMLUtils.parseXMLToMap(substring1);
return (JSONObject.toJSONString(map));
}
public static String generateTimestamp() {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date currentDate = new Date();
return dateFormat.format(currentDate);
}
}

@ -0,0 +1,63 @@
<%@ page import="weaver.file.Prop" %>
<%@ page import="com.engine.custom.sl.entity.EsbRequestHeader" %>
<%@ page import="java.text.SimpleDateFormat" %>
<%@ page import="java.util.Date" %>
<%@ page import="com.engine.custom.sl.entity.TravelToEsbBean" %>
<%@ page import="java.nio.charset.StandardCharsets" %>
<%@ page import="com.engine.util.SocketClientUtil" %>
<%@ page import="com.engine.util.XMLUtils" %>
<%@ page import="java.util.Map" %>
<%@ page import="com.alibaba.fastjson.JSONObject" %>
<%@ page import="java.util.UUID" %>
<%@ page import="com.engine.common.util.ParamUtil" %>
<%@ page language="java" contentType="text/html; charset=UTF-8" %>
<%
// out.print(Prop.getPropValue("qwe","host"));
Map<String, Object> param = ParamUtil.request2Map(request);
String workCode = param.get("workCode").toString();
String timeStr = generateTimestamp();
EsbRequestHeader esbRequestHeader = new EsbRequestHeader();
esbRequestHeader.setService_sn(timeStr+workCode);
esbRequestHeader.setSystem_id("0170");
esbRequestHeader.setRequester_id("0258");
esbRequestHeader.setBranch_id("cwgl00002");
esbRequestHeader.setChannel_id("02");
esbRequestHeader.setService_time(timeStr);
esbRequestHeader.setNeed_request("");
esbRequestHeader.setSvcCd("300130001");
esbRequestHeader.setSvcScn("39");
String bnkSrlNo = esbRequestHeader.getRequester_id() + timeStr + workCode;
esbRequestHeader.setBnkSrlNo(bnkSrlNo);
esbRequestHeader.setFileFlg("0");
String Service_Body = "<Service_Body><request><operatorNo>"+ workCode +"</operatorNo></request></Service_Body>" ;
String Service_Header = TravelToEsbBean.convertObjectToXml(esbRequestHeader,"Service_Header");
String serviceXML = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><Service>";
// out.print("UTF_8_serviceXML==="+ serviceXML);
serviceXML = serviceXML + Service_Header + Service_Body;
serviceXML = serviceXML + "</Service>";
// out.print("UTF_8_serviceXML==="+ serviceXML);
String length = String.format("%08d", serviceXML.length());
serviceXML = length + serviceXML;
serviceXML = new String(serviceXML.getBytes(StandardCharsets.UTF_8));
// out.print("请求=="+ serviceXML);
out.print("\n");
out.print("\n");
out.print("\n");
SocketClientUtil scketClient = new SocketClientUtil("14.1.76.116",10149);
String send = scketClient.send(serviceXML);
String substring = send.substring(0, 8);
String substring1 = send.substring(8);
Map<String, String> map = XMLUtils.parseXMLToMap(substring1);
// out.print("返回=="+map);
out.print(JSONObject.toJSONString(map));
%>
<%!
public static String generateTimestamp() {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
Date currentDate = new Date();
return dateFormat.format(currentDate);
}
%>

@ -159,6 +159,7 @@ public class Action20230911062023 extends BaseBean implements Action {
String mainid = "";
String fj = "";
String spdfj = "";
String spwhscpdfwj = "";
//表单数据
if (rs.next()) {
mainid = rs.getString("id");
@ -183,6 +184,7 @@ public class Action20230911062023 extends BaseBean implements Action {
toEsbBean.setRemark(Util.null2String(rs.getString("bz")));
fj = Util.null2String(rs.getString("fj"));
spdfj = Util.null2String(rs.getString("spdfj"));
spwhscpdfwj = Util.null2String(rs.getString("spwhscpdfwj"));
// String formData = rs.getString("formData");
}
// 封装文件数组
@ -194,6 +196,9 @@ public class Action20230911062023 extends BaseBean implements Action {
if (!StringUtil.isEmpty(spdfj)){
fjids.add(spdfj);
}
if (!StringUtil.isEmpty(spwhscpdfwj)){
fjids.add(spwhscpdfwj);
}
ArrayList<acsryItem> acsryArray = new ArrayList<>();
for (String fjid : fjids) {
acsryItem acsryItem = new acsryItem();

Loading…
Cancel
Save