diff --git a/com/Client.java b/com/Client.java index cf5ce04..4e524d9 100644 --- a/com/Client.java +++ b/com/Client.java @@ -19,7 +19,9 @@ public class Client { // String str = "000006041010157060000081243025801570102311000120230905104426true500130004130157202309050600000812430todogetCountuserNum10913026任广鹏是个大刷币"; // String str = "000006661010157060000081243025801700102311000120230905104426true500130004130157202309050600000812430BTSQD-20230920000510110567101105672测试退回签字意见?"; // String str = "1010157060000081243025801570102311000120230905104426true500130004130157202309050600000812430todogetCountuserNum10913026任广鹏是个大刷币"; - String str = "0000066900000000000402580170951101017020230920195236true500120043010170202309200000000000040BTSQD-20230921001110110001测试审批人2驳回测试2"; + // String str = "0000066900000000000402580170951101017020230920195236true500120043010170202309200000000000040BTSQD-20230921001110110001测试审批人2驳回测试2"; + // String str = "000005971010157000000001757025801570102311000120231018135840true500130004130157202310180000000017570todogetCount2userNum10110567"; + String str = "000005961010157000000001757025801570102311000120231018135840true500130004130157202310180000000017570todogetCountuserNum10110567"; // ; // System.out.println(XMLUtils.parseXMLToMap(str)); // Map stringStringMap = XMLUtils.parseXMLToMap(str); diff --git a/com/api/tjbk/TJBKSLWeb.java b/com/api/tjbk/TJBKSLWeb.java new file mode 100644 index 0000000..45adacb --- /dev/null +++ b/com/api/tjbk/TJBKSLWeb.java @@ -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 +{ + +} \ No newline at end of file diff --git a/com/engine/custom/sl/entity/EsbRequestHeader.java b/com/engine/custom/sl/entity/EsbRequestHeader.java index d0a8436..f63866b 100644 --- a/com/engine/custom/sl/entity/EsbRequestHeader.java +++ b/com/engine/custom/sl/entity/EsbRequestHeader.java @@ -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"; } diff --git a/com/engine/custom/sl/entity/TravelToEsbBean.java b/com/engine/custom/sl/entity/TravelToEsbBean.java index afc98ba..58bf0c3 100644 --- a/com/engine/custom/sl/entity/TravelToEsbBean.java +++ b/com/engine/custom/sl/entity/TravelToEsbBean.java @@ -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(); diff --git a/com/engine/service/impl/TJBKWorkFlowServiceImpl.java b/com/engine/service/impl/TJBKWorkFlowServiceImpl.java index 425e67a..995f8c5 100644 --- a/com/engine/service/impl/TJBKWorkFlowServiceImpl.java +++ b/com/engine/service/impl/TJBKWorkFlowServiceImpl.java @@ -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; diff --git a/com/engine/tjyh/xc/cmd/Test.java b/com/engine/tjyh/xc/cmd/Test.java index 0a9ff58..ec5964d 100644 --- a/com/engine/tjyh/xc/cmd/Test.java +++ b/com/engine/tjyh/xc/cmd/Test.java @@ -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.机票发生退票后,航班延误服务不再适用于退票后重新预定的航班。
2.本产品不支持婴儿购买。\",\n" + - " \"RefundBookNotice\": \"航班起飞前,服务包中服务均未使用、未过期,服务包可与机票一起退订(不支持服务包子产品单退),航班起飞后服务包不可退订。\",\n" + - " \"PaymentAmount\": 40,\n" + - " \"PassengerName\": \"朱琴\",\n" + - " \"ProductList\": [\n" + - " {\n" + - " \"ProductName\": \"24小时退票立减\",\n" + - " \"ProductDescription\": \"出票后24小时内,所下单机票起飞前发生退票,乘机人可获得1次退票费立减服务,可享抵扣退票费的40%。<br>使用说明: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天内使用有效,且限对应乘机人使用。<br>使用说明: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; } + } diff --git a/com/engine/tjyh/xc/cmd/XcCmd.java b/com/engine/tjyh/xc/cmd/XcCmd.java index 0cee98f..20c2590 100644 --- a/com/engine/tjyh/xc/cmd/XcCmd.java +++ b/com/engine/tjyh/xc/cmd/XcCmd.java @@ -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> { } 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> { 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> { 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> { 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> { } + + + + + double jg = 0; for(int i=0;i> { 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> { 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> { 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> { mapmx.put("mdd",arrivalCityName); mapmx.put("yhcje",ticketPrice); mapmx.put("thje",refund); - mapmx.put("tgqf",refundTicketFee); + + for(int j=0;j> { mapmx.put("mdd", arrivalCityName); mapmx.put("yhcje", ticketPrice); mapmx.put("thje", refund); - mapmx.put("tgqf", refundTicketFee); + for(int j=0;j> { 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> { 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> { 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(); + } } diff --git a/com/engine/tjyh/xc/cmd/XcCmd2.java b/com/engine/tjyh/xc/cmd/XcCmd2.java index 3db90a6..84a9fd6 100644 --- a/com/engine/tjyh/xc/cmd/XcCmd2.java +++ b/com/engine/tjyh/xc/cmd/XcCmd2.java @@ -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; diff --git a/com/engine/tjyh/xc/service/impl/XcServiceImpl.java b/com/engine/tjyh/xc/service/impl/XcServiceImpl.java index cc0b157..cd81f44 100644 --- a/com/engine/tjyh/xc/service/impl/XcServiceImpl.java +++ b/com/engine/tjyh/xc/service/impl/XcServiceImpl.java @@ -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; diff --git a/com/engine/tjyh/xc/util/HttpClientWrapper.java b/com/engine/tjyh/xc/util/HttpClientWrapper.java index 37119a1..31a5118 100644 --- a/com/engine/tjyh/xc/util/HttpClientWrapper.java +++ b/com/engine/tjyh/xc/util/HttpClientWrapper.java @@ -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; diff --git a/com/engine/tjyh/xc/util/HttpRequestUtil.java b/com/engine/tjyh/xc/util/HttpRequestUtil.java index aa01534..b33c1a1 100644 --- a/com/engine/tjyh/xc/util/HttpRequestUtil.java +++ b/com/engine/tjyh/xc/util/HttpRequestUtil.java @@ -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); diff --git a/com/engine/web/sl/SLController.java b/com/engine/web/sl/SLController.java new file mode 100644 index 0000000..8317ea4 --- /dev/null +++ b/com/engine/web/sl/SLController.java @@ -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 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 = ""+ workCode +"" ; + String Service_Header = TravelToEsbBean.convertObjectToXml(esbRequestHeader,"Service_Header"); + String serviceXML = ""; + // out.print("UTF_8_serviceXML==="+ serviceXML); + serviceXML = serviceXML + Service_Header + Service_Body; + serviceXML = serviceXML + ""; + // 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 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); + } +} diff --git a/opt/weaver/ecology/interface/transfer/x4.jsp b/opt/weaver/ecology/interface/transfer/x4.jsp new file mode 100644 index 0000000..3ca32b0 --- /dev/null +++ b/opt/weaver/ecology/interface/transfer/x4.jsp @@ -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 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 = ""+ workCode +"" ; + String Service_Header = TravelToEsbBean.convertObjectToXml(esbRequestHeader,"Service_Header"); + String serviceXML = ""; + // out.print("UTF_8_serviceXML==="+ serviceXML); + serviceXML = serviceXML + Service_Header + Service_Body; + serviceXML = serviceXML + ""; + // 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 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); + } +%> \ No newline at end of file diff --git a/weaver/interfaces/workflow/action/javacode/Action20230911062023.java b/weaver/interfaces/workflow/action/javacode/Action20230911062023.java index 266a80f..4852f5c 100644 --- a/weaver/interfaces/workflow/action/javacode/Action20230911062023.java +++ b/weaver/interfaces/workflow/action/javacode/Action20230911062023.java @@ -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 acsryArray = new ArrayList<>(); for (String fjid : fjids) { acsryItem acsryItem = new acsryItem();