Commit 4482eaed13aa412bbaf76894f93bfbc1d8db889a

Authored by 娄高锋
1 parent e809637a

路单数据接口添加氢能源

src/main/java/com/bsth/server_ws/waybill/LD_ServiceSoap.java
1   -package com.bsth.server_ws.waybill;
2   -
3   -import java.util.List;
4   -import java.util.Map;
5   -
6   -import javax.jws.WebService;
7   -import javax.xml.ws.Holder;
8   -
9   -import com.fasterxml.jackson.databind.ObjectMapper;
10   -import org.joda.time.format.DateTimeFormat;
11   -import org.joda.time.format.DateTimeFormatter;
12   -import org.slf4j.Logger;
13   -import org.slf4j.LoggerFactory;
14   -import org.springframework.beans.BeansException;
15   -import org.springframework.context.ApplicationContext;
16   -import org.springframework.context.ApplicationContextAware;
17   -import org.springframework.stereotype.Component;
18   -
19   -import com.bsth.entity.DutyEmployee;
20   -import com.bsth.entity.ElecInfo;
21   -import com.bsth.entity.OilInfo;
22   -import com.bsth.entity.ScheduleRealInfo;
23   -import com.bsth.redis.ElecRedisService;
24   -import com.bsth.redis.OilRedisService;
25   -import com.bsth.redis.ScheduleRedisService;
26   -import com.bsth.repository.DutyEmployeeRepository;
27   -import com.bsth.server_ws.util.WSDataConver;
28   -import com.bsth.server_ws.waybill.entity.NH_waybill;
29   -import com.bsth.server_ws.waybill.entity.SN_lossMileage;
30   -import com.bsth.server_ws.waybill.entity.SN_waybill;
31   -import com.bsth.service.UserService;
32   -import com.google.common.collect.ArrayListMultimap;
33   -
34   -/**
35   - * Created by panzhao on 2017/3/17.
36   - */
37   -@Component
38   -@WebService(
39   - name = "LD_ServiceSoap",
40   - portName = "LD_ServiceSoap",
41   - serviceName = "LD_Service",
42   - targetNamespace = "http://control.bsth.com/",
43   - endpointInterface = "com.bsth.server_ws.waybill.LD_Service")
44   -public class LD_ServiceSoap implements LD_Service, ApplicationContextAware {
45   -
46   - static OilRedisService oilRedisService;
47   - static ElecRedisService elecRedisService;
48   - static ScheduleRedisService scheduleRedisService;
49   - static DutyEmployeeRepository dutyEmployeeRepository;
50   -
51   - static UserService userService;
52   -
53   - Logger logger = LoggerFactory.getLogger(this.getClass());
54   -
55   - private static DateTimeFormatter fmtyyyyMMddHHmm = DateTimeFormat.forPattern("yyyy-MM-ddHH:mm"),
56   - fmtyyyyMMdd = DateTimeFormat.forPattern("yyyy-MM-dd");
57   -
58   - @Override
59   - public boolean waybill_NH(String password, String rq, String companyId, Holder<NH_waybill[]> result, Holder<String> fError) {
60   - try {
61   - if(userService.get(password) == null){
62   - fError.value = "无效的密码!";
63   - return false;
64   - }
65   - //日期减一天,老接口是这样的
66   - //rq = fmtyyyyMMdd.print(fmtyyyyMMdd.parseDateTime(rq).minusDays(1));
67   - String prveRq = fmtyyyyMMdd.print(fmtyyyyMMdd.parseDateTime(rq).minusDays(1));
68   -
69   - //实际排班
70   - ArrayListMultimap<String, ScheduleRealInfo> listMap = scheduleRedisService.findByDateAndGroupByNbbm(prveRq, companyId);
71   - //油耗信息
72   - ArrayListMultimap<String, OilInfo> oilInfoMap = oilRedisService.findByNbbmGroup(listMap.keySet(), prveRq);
73   - //电耗信息
74   - ArrayListMultimap<String, ElecInfo> elecInfoMap = elecRedisService.findByNbbmGroup(listMap.keySet(), prveRq);
75   - //当班调派
76   - long st = fmtyyyyMMddHHmm.parseMillis(prveRq + "00:00"), et = fmtyyyyMMddHHmm.parseMillis(prveRq + "23:59");
77   - List<DutyEmployee> des = dutyEmployeeRepository.findByTime(st, et);
78   - //转换成南汇路单需要的格式
79   - NH_waybill[] array = WSDataConver.to_waybill_NH(listMap, oilInfoMap, elecInfoMap, des);
80   - result.value = array;
81   -
82   - //不再代理老接口数据
83   - /*if(companyId.equals("26") && !WebServiceProxy.isAllNew(companyId)){
84   - ClsLDInfo[] oldArray = OldWSClient.getNH_LD(companyId, rq);
85   - //合并新老系统的数据
86   - result.value = WebServiceProxy.mergerData(result.value, oldArray, companyId);
87   - }*/
88   - } catch (Exception e) {
89   - logger.error("", e);
90   - fError.value = "服务器出现异常!";
91   - return false;
92   - }
93   - return true;
94   - }
95   -
96   - @Override
97   - public boolean waybill_NH4TH(String password, String rq, String companyId, Holder<NH_waybill[]> result, Holder<String> fError) {
98   - try {
99   - if(userService.get(password) == null){
100   - fError.value = "无效的密码!";
101   - return false;
102   - }
103   - //日期减一天,老接口是这样的
104   - //rq = fmtyyyyMMdd.print(fmtyyyyMMdd.parseDateTime(rq).minusDays(1));
105   - String prveRq = fmtyyyyMMdd.print(fmtyyyyMMdd.parseDateTime(rq).minusDays(1));
106   -
107   - //实际排班
108   - ArrayListMultimap<String, ScheduleRealInfo> listMap = scheduleRedisService.findByDateAndGroupByNbbm(prveRq, companyId);
109   - //油耗信息
110   - ArrayListMultimap<String, OilInfo> oilInfoMap = oilRedisService.findByNbbmGroup(listMap.keySet(), prveRq);
111   - //电耗信息
112   - ArrayListMultimap<String, ElecInfo> elecInfoMap = elecRedisService.findByNbbmGroup(listMap.keySet(), prveRq);
113   - //当班调派
114   - long st = fmtyyyyMMddHHmm.parseMillis(prveRq + "00:00"), et = fmtyyyyMMddHHmm.parseMillis(prveRq + "23:59");
115   - List<DutyEmployee> des = dutyEmployeeRepository.findByTime(st, et);
116   - //转换成南汇路单需要的格式
117   - NH_waybill[] array = WSDataConver.to_waybill_NH4TH(listMap, oilInfoMap, elecInfoMap, des);
118   - result.value = array;
119   -
120   - //不再代理老接口数据
121   - /*if(companyId.equals("26") && !WebServiceProxy.isAllNew(companyId)){
122   - ClsLDInfo[] oldArray = OldWSClient.getNH_LD(companyId, rq);
123   - //合并新老系统的数据
124   - result.value = WebServiceProxy.mergerData(result.value, oldArray, companyId);
125   - }*/
126   - } catch (Exception e) {
127   - logger.error("", e);
128   - fError.value = "服务器出现异常!";
129   - return false;
130   - }
131   - return true;
132   - }
133   -
134   - @Override
135   - public boolean waybill_SN(String password, String rq, String companyId, Holder<SN_waybill[]> result, Holder<String> fError) {
136   - try {
137   - if(userService.get(password) == null){
138   - fError.value = "无效的密码!";
139   - return false;
140   - }
141   -
142   - //实际排班
143   - ArrayListMultimap<String, ScheduleRealInfo> listMap = scheduleRedisService.findByDateAndGroupByNbbm(rq, companyId);
144   - //油耗信息
145   - Map<String, OilInfo> oilInfoMap = oilRedisService.findByNbbmGroupRaw(listMap.keySet(), rq);
146   - //转换成上南路单需要的格式
147   - SN_waybill[] array = WSDataConver.to_waybill_SN(listMap, oilInfoMap);
148   - result.value = array;
149   - } catch (Exception e) {
150   - logger.error("", e);
151   - fError.value = "服务器出现异常!";
152   - return false;
153   - }
154   - return true;
155   - }
156   -
157   - @Override
158   - public boolean lossMileage(String password, String rq, String companyId, Holder<SN_lossMileage[]> result, Holder<String> fError) {
159   - try {
160   - if(userService.get(password) == null){
161   - fError.value = "无效的密码!";
162   - return false;
163   - }
164   -
165   - //按线路分组的实际排班
166   - ArrayListMultimap<String, ScheduleRealInfo> listMap = scheduleRedisService.findByDateAndGroupByLine(rq, companyId);
167   - //转换成上南需要的损失公里数据
168   - SN_lossMileage[] array = WSDataConver.to_lossMileage_SN(listMap);
169   - result.value = array;
170   - } catch (Exception e) {
171   - logger.error("", e);
172   - fError.value = "服务器出现异常!";
173   - return false;
174   - }
175   - return false;
176   - }
177   -
178   -
179   - @Override
180   - public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
181   - oilRedisService = applicationContext.getBean(OilRedisService.class);
182   - elecRedisService = applicationContext.getBean(ElecRedisService.class);
183   - scheduleRedisService = applicationContext.getBean(ScheduleRedisService.class);
184   - dutyEmployeeRepository = applicationContext.getBean(DutyEmployeeRepository.class);
185   - userService = applicationContext.getBean(UserService.class);
186   - }
187   -}
  1 +package com.bsth.server_ws.waybill;
  2 +
  3 +import java.util.List;
  4 +import java.util.Map;
  5 +
  6 +import javax.jws.WebService;
  7 +import javax.xml.ws.Holder;
  8 +
  9 +import com.fasterxml.jackson.databind.ObjectMapper;
  10 +import org.joda.time.format.DateTimeFormat;
  11 +import org.joda.time.format.DateTimeFormatter;
  12 +import org.slf4j.Logger;
  13 +import org.slf4j.LoggerFactory;
  14 +import org.springframework.beans.BeansException;
  15 +import org.springframework.context.ApplicationContext;
  16 +import org.springframework.context.ApplicationContextAware;
  17 +import org.springframework.stereotype.Component;
  18 +
  19 +import com.bsth.entity.DutyEmployee;
  20 +import com.bsth.entity.ElecInfo;
  21 +import com.bsth.entity.HInfo;
  22 +import com.bsth.entity.OilInfo;
  23 +import com.bsth.entity.ScheduleRealInfo;
  24 +import com.bsth.redis.ElecRedisService;
  25 +import com.bsth.redis.HRedisService;
  26 +import com.bsth.redis.OilRedisService;
  27 +import com.bsth.redis.ScheduleRedisService;
  28 +import com.bsth.repository.DutyEmployeeRepository;
  29 +import com.bsth.server_ws.util.WSDataConver;
  30 +import com.bsth.server_ws.waybill.entity.NH_waybill;
  31 +import com.bsth.server_ws.waybill.entity.SN_lossMileage;
  32 +import com.bsth.server_ws.waybill.entity.SN_waybill;
  33 +import com.bsth.service.UserService;
  34 +import com.google.common.collect.ArrayListMultimap;
  35 +
  36 +/**
  37 + * Created by panzhao on 2017/3/17.
  38 + */
  39 +@Component
  40 +@WebService(
  41 + name = "LD_ServiceSoap",
  42 + portName = "LD_ServiceSoap",
  43 + serviceName = "LD_Service",
  44 + targetNamespace = "http://control.bsth.com/",
  45 + endpointInterface = "com.bsth.server_ws.waybill.LD_Service")
  46 +public class LD_ServiceSoap implements LD_Service, ApplicationContextAware {
  47 +
  48 + static OilRedisService oilRedisService;
  49 + static ElecRedisService elecRedisService;
  50 + static HRedisService hRedisService;
  51 + static ScheduleRedisService scheduleRedisService;
  52 + static DutyEmployeeRepository dutyEmployeeRepository;
  53 +
  54 + static UserService userService;
  55 +
  56 + Logger logger = LoggerFactory.getLogger(this.getClass());
  57 +
  58 + private static DateTimeFormatter fmtyyyyMMddHHmm = DateTimeFormat.forPattern("yyyy-MM-ddHH:mm"),
  59 + fmtyyyyMMdd = DateTimeFormat.forPattern("yyyy-MM-dd");
  60 +
  61 + @Override
  62 + public boolean waybill_NH(String password, String rq, String companyId, Holder<NH_waybill[]> result, Holder<String> fError) {
  63 + try {
  64 + if(userService.get(password) == null){
  65 + fError.value = "无效的密码!";
  66 + return false;
  67 + }
  68 + //日期减一天,老接口是这样的
  69 + //rq = fmtyyyyMMdd.print(fmtyyyyMMdd.parseDateTime(rq).minusDays(1));
  70 + String prveRq = fmtyyyyMMdd.print(fmtyyyyMMdd.parseDateTime(rq).minusDays(1));
  71 +
  72 + //实际排班
  73 + ArrayListMultimap<String, ScheduleRealInfo> listMap = scheduleRedisService.findByDateAndGroupByNbbm(prveRq, companyId);
  74 + //油耗信息
  75 + ArrayListMultimap<String, OilInfo> oilInfoMap = oilRedisService.findByNbbmGroup(listMap.keySet(), prveRq);
  76 + //电耗信息
  77 + ArrayListMultimap<String, ElecInfo> elecInfoMap = elecRedisService.findByNbbmGroup(listMap.keySet(), prveRq);
  78 + //氢耗信息
  79 + ArrayListMultimap<String, HInfo> hInfoMap = hRedisService.findByNbbmGroup(listMap.keySet(), prveRq);
  80 + //当班调派
  81 + long st = fmtyyyyMMddHHmm.parseMillis(prveRq + "00:00"), et = fmtyyyyMMddHHmm.parseMillis(prveRq + "23:59");
  82 + List<DutyEmployee> des = dutyEmployeeRepository.findByTime(st, et);
  83 + //转换成南汇路单需要的格式
  84 + NH_waybill[] array = WSDataConver.to_waybill_NH(listMap, oilInfoMap, elecInfoMap, hInfoMap, des);
  85 + result.value = array;
  86 +
  87 + //不再代理老接口数据
  88 + /*if(companyId.equals("26") && !WebServiceProxy.isAllNew(companyId)){
  89 + ClsLDInfo[] oldArray = OldWSClient.getNH_LD(companyId, rq);
  90 + //合并新老系统的数据
  91 + result.value = WebServiceProxy.mergerData(result.value, oldArray, companyId);
  92 + }*/
  93 + } catch (Exception e) {
  94 + logger.error("", e);
  95 + fError.value = "服务器出现异常!";
  96 + return false;
  97 + }
  98 + return true;
  99 + }
  100 +
  101 + @Override
  102 + public boolean waybill_NH4TH(String password, String rq, String companyId, Holder<NH_waybill[]> result, Holder<String> fError) {
  103 + try {
  104 + if(userService.get(password) == null){
  105 + fError.value = "无效的密码!";
  106 + return false;
  107 + }
  108 + //日期减一天,老接口是这样的
  109 + //rq = fmtyyyyMMdd.print(fmtyyyyMMdd.parseDateTime(rq).minusDays(1));
  110 + String prveRq = fmtyyyyMMdd.print(fmtyyyyMMdd.parseDateTime(rq).minusDays(1));
  111 +
  112 + //实际排班
  113 + ArrayListMultimap<String, ScheduleRealInfo> listMap = scheduleRedisService.findByDateAndGroupByNbbm(prveRq, companyId);
  114 + //油耗信息
  115 + ArrayListMultimap<String, OilInfo> oilInfoMap = oilRedisService.findByNbbmGroup(listMap.keySet(), prveRq);
  116 + //电耗信息
  117 + ArrayListMultimap<String, ElecInfo> elecInfoMap = elecRedisService.findByNbbmGroup(listMap.keySet(), prveRq);
  118 + //当班调派
  119 + long st = fmtyyyyMMddHHmm.parseMillis(prveRq + "00:00"), et = fmtyyyyMMddHHmm.parseMillis(prveRq + "23:59");
  120 + List<DutyEmployee> des = dutyEmployeeRepository.findByTime(st, et);
  121 + //转换成南汇路单需要的格式
  122 + NH_waybill[] array = WSDataConver.to_waybill_NH4TH(listMap, oilInfoMap, elecInfoMap, des);
  123 + result.value = array;
  124 +
  125 + //不再代理老接口数据
  126 + /*if(companyId.equals("26") && !WebServiceProxy.isAllNew(companyId)){
  127 + ClsLDInfo[] oldArray = OldWSClient.getNH_LD(companyId, rq);
  128 + //合并新老系统的数据
  129 + result.value = WebServiceProxy.mergerData(result.value, oldArray, companyId);
  130 + }*/
  131 + } catch (Exception e) {
  132 + logger.error("", e);
  133 + fError.value = "服务器出现异常!";
  134 + return false;
  135 + }
  136 + return true;
  137 + }
  138 +
  139 + @Override
  140 + public boolean waybill_SN(String password, String rq, String companyId, Holder<SN_waybill[]> result, Holder<String> fError) {
  141 + try {
  142 + if(userService.get(password) == null){
  143 + fError.value = "无效的密码!";
  144 + return false;
  145 + }
  146 +
  147 + //实际排班
  148 + ArrayListMultimap<String, ScheduleRealInfo> listMap = scheduleRedisService.findByDateAndGroupByNbbm(rq, companyId);
  149 + //油耗信息
  150 + Map<String, OilInfo> oilInfoMap = oilRedisService.findByNbbmGroupRaw(listMap.keySet(), rq);
  151 + //转换成上南路单需要的格式
  152 + SN_waybill[] array = WSDataConver.to_waybill_SN(listMap, oilInfoMap);
  153 + result.value = array;
  154 + } catch (Exception e) {
  155 + logger.error("", e);
  156 + fError.value = "服务器出现异常!";
  157 + return false;
  158 + }
  159 + return true;
  160 + }
  161 +
  162 + @Override
  163 + public boolean lossMileage(String password, String rq, String companyId, Holder<SN_lossMileage[]> result, Holder<String> fError) {
  164 + try {
  165 + if(userService.get(password) == null){
  166 + fError.value = "无效的密码!";
  167 + return false;
  168 + }
  169 +
  170 + //按线路分组的实际排班
  171 + ArrayListMultimap<String, ScheduleRealInfo> listMap = scheduleRedisService.findByDateAndGroupByLine(rq, companyId);
  172 + //转换成上南需要的损失公里数据
  173 + SN_lossMileage[] array = WSDataConver.to_lossMileage_SN(listMap);
  174 + result.value = array;
  175 + } catch (Exception e) {
  176 + logger.error("", e);
  177 + fError.value = "服务器出现异常!";
  178 + return false;
  179 + }
  180 + return false;
  181 + }
  182 +
  183 +
  184 + @Override
  185 + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
  186 + oilRedisService = applicationContext.getBean(OilRedisService.class);
  187 + elecRedisService = applicationContext.getBean(ElecRedisService.class);
  188 + hRedisService = applicationContext.getBean(HRedisService.class);
  189 + scheduleRedisService = applicationContext.getBean(ScheduleRedisService.class);
  190 + dutyEmployeeRepository = applicationContext.getBean(DutyEmployeeRepository.class);
  191 + userService = applicationContext.getBean(UserService.class);
  192 + }
  193 +}
... ...