Commit fed17f3c44dbc396b0329d1e8a3b63c37c79ab6e

Authored by 潘钊
1 parent eefecb07

update...

Showing 42 changed files with 4418 additions and 56 deletions

Too many changes to show.

To preserve performance only 42 of 46 files are displayed.

src/main/java/com/bsth/entity/ChildTaskPlan.java
@@ -35,6 +35,10 @@ public class ChildTaskPlan implements Serializable { @@ -35,6 +35,10 @@ public class ChildTaskPlan implements Serializable {
35 35
36 /** 36 /**
37 * 任务类型2 37 * 任务类型2
  38 + * 1 线路上站点间
  39 + * 2 进场
  40 + * 3 出场
  41 + * 4 区间掉头
38 */ 42 */
39 private String type2; 43 private String type2;
40 44
src/main/java/com/bsth/entity/DutyEmployee.java 0 → 100644
  1 +package com.bsth.entity;
  2 +
  3 +import javax.persistence.*;
  4 +
  5 +/**
  6 + * 当班调度员
  7 + * Created by panzhao on 2017/1/5.
  8 + */
  9 +@Entity
  10 +@Table(name = "bsth_c_sys_duty_employee")
  11 +public class DutyEmployee {
  12 +
  13 + @Id
  14 + @GeneratedValue
  15 + private Long id;
  16 +
  17 + /**
  18 + * 员工ID
  19 + */
  20 + private Integer uId;
  21 +
  22 + /**
  23 + * 员工姓名
  24 + */
  25 + private String uName;
  26 +
  27 + /**
  28 + * 线路编码 ,号分割多个
  29 + */
  30 + private String codeIdx;
  31 +
  32 + /**
  33 + * 登入线调时间
  34 + */
  35 + private Long ts;
  36 +
  37 + /**
  38 + * 是否主调模式进入
  39 + */
  40 + private boolean main;
  41 +
  42 + public Integer getuId() {
  43 + return uId;
  44 + }
  45 +
  46 + public void setuId(Integer uId) {
  47 + this.uId = uId;
  48 + }
  49 +
  50 + public String getuName() {
  51 + return uName;
  52 + }
  53 +
  54 + public void setuName(String uName) {
  55 + this.uName = uName;
  56 + }
  57 +
  58 + public String getCodeIdx() {
  59 + return codeIdx;
  60 + }
  61 +
  62 + public void setCodeIdx(String codeIdx) {
  63 + this.codeIdx = codeIdx;
  64 + }
  65 +
  66 + public Long getTs() {
  67 + return ts;
  68 + }
  69 +
  70 + public void setTs(Long ts) {
  71 + this.ts = ts;
  72 + }
  73 +
  74 + public boolean isMain() {
  75 + return main;
  76 + }
  77 +
  78 + public void setMain(boolean main) {
  79 + this.main = main;
  80 + }
  81 +
  82 + public Long getId() {
  83 + return id;
  84 + }
  85 +
  86 + public void setId(Long id) {
  87 + this.id = id;
  88 + }
  89 +}
src/main/java/com/bsth/entity/OilInfo.java
@@ -123,6 +123,9 @@ public class OilInfo implements Serializable { @@ -123,6 +123,9 @@ public class OilInfo implements Serializable {
123 */ 123 */
124 private int nylx; 124 private int nylx;
125 125
  126 + //进场顺序(根据最先出场和最后进场来关联车辆的存油量)
  127 + private int jcsx;
  128 +
126 public Integer getId() { 129 public Integer getId() {
127 return id; 130 return id;
128 } 131 }
@@ -379,4 +382,12 @@ public class OilInfo implements Serializable { @@ -379,4 +382,12 @@ public class OilInfo implements Serializable {
379 public Date getRq() { 382 public Date getRq() {
380 return rq; 383 return rq;
381 } 384 }
  385 +
  386 + public int getJcsx() {
  387 + return jcsx;
  388 + }
  389 +
  390 + public void setJcsx(int jcsx) {
  391 + this.jcsx = jcsx;
  392 + }
382 } 393 }
src/main/java/com/bsth/entity/PasswordUser.java 0 → 100644
  1 +package com.bsth.entity;
  2 +
  3 +import javax.persistence.*;
  4 +import java.util.Date;
  5 +
  6 +/**
  7 + * 接口 密码 访问用户
  8 + * Created by panzhao on 2017/3/26.
  9 + */
  10 +@Entity
  11 +@Table(name = "interface_user")
  12 +public class PasswordUser {
  13 +
  14 + @Id
  15 + @GeneratedValue
  16 + private Integer id;
  17 +
  18 + /** 访问密码 */
  19 + private String pwd;
  20 +
  21 + /** 调用方名称 */
  22 + private String callName;
  23 +
  24 + /** 创建日期 */
  25 + @Column(updatable = false, name = "create_date", columnDefinition = "TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
  26 + private Date createDate;
  27 +
  28 + /** 备注 */
  29 + private String remark;
  30 +
  31 + public Integer getId() {
  32 + return id;
  33 + }
  34 +
  35 + public void setId(Integer id) {
  36 + this.id = id;
  37 + }
  38 +
  39 + public String getPwd() {
  40 + return pwd;
  41 + }
  42 +
  43 + public void setPwd(String pwd) {
  44 + this.pwd = pwd;
  45 + }
  46 +
  47 + public String getCallName() {
  48 + return callName;
  49 + }
  50 +
  51 + public void setCallName(String callName) {
  52 + this.callName = callName;
  53 + }
  54 +
  55 + public String getRemark() {
  56 + return remark;
  57 + }
  58 +
  59 + public void setRemark(String remark) {
  60 + this.remark = remark;
  61 + }
  62 +
  63 + public Date getCreateDate() {
  64 + return createDate;
  65 + }
  66 +
  67 + public void setCreateDate(Date createDate) {
  68 + this.createDate = createDate;
  69 + }
  70 +}
src/main/java/com/bsth/old_sys_wsclient/OldWSClient.java
1 package com.bsth.old_sys_wsclient; 1 package com.bsth.old_sys_wsclient;
2 2
3 -import com.bsth.old_sys_wsclient.holders.copy.ArrayOfStringHolder; 3 +import com.bsth.old_sys_wsclient.company_service.CompanyService;
  4 +import com.bsth.old_sys_wsclient.company_service.CompanyServiceLocator;
  5 +import com.bsth.old_sys_wsclient.company_service.CompanyServiceSoap;
  6 +import com.bsth.old_sys_wsclient.company_service.holders.copy.ArrayOfStringHolder;
  7 +import com.bsth.old_sys_wsclient.nh_ld.ClsLDInfo;
  8 +import com.bsth.old_sys_wsclient.nh_ld.LD_Service;
  9 +import com.bsth.old_sys_wsclient.nh_ld.LD_ServiceLocator;
  10 +import com.bsth.old_sys_wsclient.nh_ld.holders.ArrayOfClsLDInfoHolder;
4 import com.bsth.ws_server.util.Constants; 11 import com.bsth.ws_server.util.Constants;
  12 +import org.joda.time.format.DateTimeFormat;
  13 +import org.joda.time.format.DateTimeFormatter;
5 import org.slf4j.Logger; 14 import org.slf4j.Logger;
6 import org.slf4j.LoggerFactory; 15 import org.slf4j.LoggerFactory;
7 16
  17 +import javax.xml.rpc.ServiceException;
8 import javax.xml.rpc.holders.StringHolder; 18 import javax.xml.rpc.holders.StringHolder;
  19 +import java.rmi.RemoteException;
  20 +import java.util.Calendar;
9 21
10 /** 22 /**
11 * 老调度系统 webservice 客户端 23 * 老调度系统 webservice 客户端
@@ -70,11 +82,32 @@ public class OldWSClient { @@ -70,11 +82,32 @@ public class OldWSClient {
70 CompanyService mainService = new CompanyServiceLocator(); 82 CompanyService mainService = new CompanyServiceLocator();
71 CompanyServiceSoap client = mainService.getCompanyServiceSoap(); 83 CompanyServiceSoap client = mainService.getCompanyServiceSoap();
72 StringHolder fError = new StringHolder(); 84 StringHolder fError = new StringHolder();
73 - client.getCurrentDayPlan("192.168.168.222", "SNGjIPS_2013_BsTHbS", "123904D6-21CE-33B0-AC41-375EB1BBC0sN", workId, company, arrayResult, fError);  
74 - }catch (Exception e){ 85 + client.getCurrentDayPlan("10.10.150.24", "SNGjIPS_2013_BsTHbS", "123904D6-21CE-33B0-AC41-375EB1BBC0sN", workId, company, arrayResult, fError);
  86 + } catch (Exception e) {
75 logger.error("", e); 87 logger.error("", e);
76 return new String[0]; 88 return new String[0];
77 } 89 }
78 return arrayResult.value; 90 return arrayResult.value;
79 } 91 }
  92 +
  93 + private static DateTimeFormatter fmtyyyyMMdd = DateTimeFormat.forPattern("yyyy-MM-dd");
  94 +
  95 + /**
  96 + * 获取南汇路单信息(原老系统与票务接口)
  97 + *
  98 + * @param company
  99 + * @param rq
  100 + * @return
  101 + */
  102 + public static ClsLDInfo[] getNH_LD(String company, String rq) throws ServiceException, RemoteException {
  103 + Calendar calendar = Calendar.getInstance();
  104 + calendar.setTimeInMillis(fmtyyyyMMdd.parseMillis(rq));
  105 +
  106 + ArrayOfClsLDInfoHolder array = new ArrayOfClsLDInfoHolder();
  107 +
  108 + LD_Service ldService = new LD_ServiceLocator();
  109 + ldService.getLD_ServiceSoap()
  110 + .NH_LDInterface("10.10.150.24", "BsTh@BstH!NH", "bSTH@BStHNH", "163404D6-21CE-35B0-AC41-345EB1BBC0Nh", calendar, array);
  111 + return array.value;
  112 + }
80 } 113 }
src/main/java/com/bsth/old_sys_wsclient/CompanyService.java renamed to src/main/java/com/bsth/old_sys_wsclient/company_service/CompanyService.java
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
6 */ 6 */
7 7
8 -package com.bsth.old_sys_wsclient; 8 +package com.bsth.old_sys_wsclient.company_service;
9 9
10 public interface CompanyService extends javax.xml.rpc.Service { 10 public interface CompanyService extends javax.xml.rpc.Service {
11 public String getCompanyServiceSoapAddress(); 11 public String getCompanyServiceSoapAddress();
src/main/java/com/bsth/old_sys_wsclient/CompanyServiceLocator.java renamed to src/main/java/com/bsth/old_sys_wsclient/company_service/CompanyServiceLocator.java
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
6 */ 6 */
7 7
8 -package com.bsth.old_sys_wsclient; 8 +package com.bsth.old_sys_wsclient.company_service;
9 9
10 @SuppressWarnings("serial") 10 @SuppressWarnings("serial")
11 public class CompanyServiceLocator extends org.apache.axis.client.Service implements CompanyService { 11 public class CompanyServiceLocator extends org.apache.axis.client.Service implements CompanyService {
src/main/java/com/bsth/old_sys_wsclient/CompanyServiceSoap.java renamed to src/main/java/com/bsth/old_sys_wsclient/company_service/CompanyServiceSoap.java
@@ -5,10 +5,10 @@ @@ -5,10 +5,10 @@
5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
6 */ 6 */
7 7
8 -package com.bsth.old_sys_wsclient; 8 +package com.bsth.old_sys_wsclient.company_service;
9 9
10 -import com.bsth.old_sys_wsclient.holders.copy.ArrayOfStringHolder;  
11 -import com.bsth.old_sys_wsclient.holders.copy.GetHistoryJCCByXLBMResponseFDataTableHolder; 10 +import com.bsth.old_sys_wsclient.company_service.holders.copy.ArrayOfStringHolder;
  11 +import com.bsth.old_sys_wsclient.company_service.holders.copy.GetHistoryJCCByXLBMResponseFDataTableHolder;
12 12
13 public interface CompanyServiceSoap extends java.rmi.Remote { 13 public interface CompanyServiceSoap extends java.rmi.Remote {
14 14
src/main/java/com/bsth/old_sys_wsclient/CompanyServiceSoapProxy.java renamed to src/main/java/com/bsth/old_sys_wsclient/company_service/CompanyServiceSoapProxy.java
1 -package com.bsth.old_sys_wsclient; 1 +package com.bsth.old_sys_wsclient.company_service;
2 2
3 -import com.bsth.old_sys_wsclient.holders.copy.ArrayOfStringHolder;  
4 -import com.bsth.old_sys_wsclient.holders.copy.GetHistoryJCCByXLBMResponseFDataTableHolder; 3 +import com.bsth.old_sys_wsclient.company_service.holders.copy.ArrayOfStringHolder;
  4 +import com.bsth.old_sys_wsclient.company_service.holders.copy.GetHistoryJCCByXLBMResponseFDataTableHolder;
5 5
6 public class CompanyServiceSoapProxy implements CompanyServiceSoap { 6 public class CompanyServiceSoapProxy implements CompanyServiceSoap {
7 private String _endpoint = null; 7 private String _endpoint = null;
src/main/java/com/bsth/old_sys_wsclient/CompanyServiceSoapStub.java renamed to src/main/java/com/bsth/old_sys_wsclient/company_service/CompanyServiceSoapStub.java
@@ -5,10 +5,10 @@ @@ -5,10 +5,10 @@
5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
6 */ 6 */
7 7
8 -package com.bsth.old_sys_wsclient; 8 +package com.bsth.old_sys_wsclient.company_service;
9 9
10 -import com.bsth.old_sys_wsclient.holders.copy.ArrayOfStringHolder;  
11 -import com.bsth.old_sys_wsclient.holders.copy.GetHistoryJCCByXLBMResponseFDataTableHolder; 10 +import com.bsth.old_sys_wsclient.company_service.holders.copy.ArrayOfStringHolder;
  11 +import com.bsth.old_sys_wsclient.company_service.holders.copy.GetHistoryJCCByXLBMResponseFDataTableHolder;
12 12
13 public class CompanyServiceSoapStub extends org.apache.axis.client.Stub implements CompanyServiceSoap { 13 public class CompanyServiceSoapStub extends org.apache.axis.client.Stub implements CompanyServiceSoap {
14 @SuppressWarnings("rawtypes") 14 @SuppressWarnings("rawtypes")
src/main/java/com/bsth/old_sys_wsclient/GetHistoryJCCByXLBMResponseFDataTable.java renamed to src/main/java/com/bsth/old_sys_wsclient/company_service/GetHistoryJCCByXLBMResponseFDataTable.java
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
6 */ 6 */
7 7
8 -package com.bsth.old_sys_wsclient; 8 +package com.bsth.old_sys_wsclient.company_service;
9 9
10 @SuppressWarnings("serial") 10 @SuppressWarnings("serial")
11 public class GetHistoryJCCByXLBMResponseFDataTable implements java.io.Serializable, org.apache.axis.encoding.AnyContentType { 11 public class GetHistoryJCCByXLBMResponseFDataTable implements java.io.Serializable, org.apache.axis.encoding.AnyContentType {
src/main/java/com/bsth/old_sys_wsclient/GetUnusual.java renamed to src/main/java/com/bsth/old_sys_wsclient/company_service/GetUnusual.java
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
6 */ 6 */
7 7
8 -package com.bsth.old_sys_wsclient; 8 +package com.bsth.old_sys_wsclient.company_service;
9 9
10 @SuppressWarnings("serial") 10 @SuppressWarnings("serial")
11 public class GetUnusual implements java.io.Serializable { 11 public class GetUnusual implements java.io.Serializable {
src/main/java/com/bsth/old_sys_wsclient/GetUnusualResponse.java renamed to src/main/java/com/bsth/old_sys_wsclient/company_service/GetUnusualResponse.java
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
6 */ 6 */
7 7
8 -package com.bsth.old_sys_wsclient; 8 +package com.bsth.old_sys_wsclient.company_service;
9 9
10 @SuppressWarnings("serial") 10 @SuppressWarnings("serial")
11 public class GetUnusualResponse implements java.io.Serializable { 11 public class GetUnusualResponse implements java.io.Serializable {
src/main/java/com/bsth/old_sys_wsclient/holders/GetHistoryJCCByXLBMResponseFDataTableHolder.java renamed to src/main/java/com/bsth/old_sys_wsclient/company_service/holders/GetHistoryJCCByXLBMResponseFDataTableHolder.java
@@ -5,9 +5,9 @@ @@ -5,9 +5,9 @@
5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
6 */ 6 */
7 7
8 -package com.bsth.old_sys_wsclient.holders; 8 +package com.bsth.old_sys_wsclient.company_service.holders;
9 9
10 -import com.bsth.old_sys_wsclient.GetHistoryJCCByXLBMResponseFDataTable; 10 +import com.bsth.old_sys_wsclient.company_service.GetHistoryJCCByXLBMResponseFDataTable;
11 11
12 public final class GetHistoryJCCByXLBMResponseFDataTableHolder implements javax.xml.rpc.holders.Holder { 12 public final class GetHistoryJCCByXLBMResponseFDataTableHolder implements javax.xml.rpc.holders.Holder {
13 public GetHistoryJCCByXLBMResponseFDataTable value; 13 public GetHistoryJCCByXLBMResponseFDataTable value;
src/main/java/com/bsth/old_sys_wsclient/holders/copy/ArrayOfStringHolder.java renamed to src/main/java/com/bsth/old_sys_wsclient/company_service/holders/copy/ArrayOfStringHolder.java
@@ -5,7 +5,7 @@ @@ -5,7 +5,7 @@
5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
6 */ 6 */
7 7
8 -package com.bsth.old_sys_wsclient.holders.copy; 8 +package com.bsth.old_sys_wsclient.company_service.holders.copy;
9 9
10 public final class ArrayOfStringHolder implements javax.xml.rpc.holders.Holder { 10 public final class ArrayOfStringHolder implements javax.xml.rpc.holders.Holder {
11 public String[] value; 11 public String[] value;
src/main/java/com/bsth/old_sys_wsclient/holders/copy/GetHistoryJCCByXLBMResponseFDataTableHolder.java renamed to src/main/java/com/bsth/old_sys_wsclient/company_service/holders/copy/GetHistoryJCCByXLBMResponseFDataTableHolder.java
@@ -5,9 +5,9 @@ @@ -5,9 +5,9 @@
5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter. 5 * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
6 */ 6 */
7 7
8 -package com.bsth.old_sys_wsclient.holders.copy; 8 +package com.bsth.old_sys_wsclient.company_service.holders.copy;
9 9
10 -import com.bsth.old_sys_wsclient.GetHistoryJCCByXLBMResponseFDataTable; 10 +import com.bsth.old_sys_wsclient.company_service.GetHistoryJCCByXLBMResponseFDataTable;
11 11
12 public final class GetHistoryJCCByXLBMResponseFDataTableHolder implements javax.xml.rpc.holders.Holder { 12 public final class GetHistoryJCCByXLBMResponseFDataTableHolder implements javax.xml.rpc.holders.Holder {
13 public GetHistoryJCCByXLBMResponseFDataTable value; 13 public GetHistoryJCCByXLBMResponseFDataTable value;
src/main/java/com/bsth/old_sys_wsclient/nh_ld/ClsLDInfo.java 0 → 100644
  1 +package com.bsth.old_sys_wsclient.nh_ld;
  2 +
  3 +/**
  4 + * ClsLDInfo.java
  5 + *
  6 + * This file was auto-generated from WSDL
  7 + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
  8 + */
  9 +
  10 +
  11 +public class ClsLDInfo implements java.io.Serializable {
  12 + private java.lang.String m_strYYRQ;
  13 +
  14 + private java.lang.String m_strNBBM;
  15 +
  16 + private java.lang.String m_strXLBM;
  17 +
  18 + private ClsSubInfo[] m_SubInfos;
  19 +
  20 + public ClsLDInfo() {
  21 + }
  22 +
  23 + public ClsLDInfo(
  24 + java.lang.String m_strYYRQ,
  25 + java.lang.String m_strNBBM,
  26 + java.lang.String m_strXLBM,
  27 + ClsSubInfo[] m_SubInfos) {
  28 + this.m_strYYRQ = m_strYYRQ;
  29 + this.m_strNBBM = m_strNBBM;
  30 + this.m_strXLBM = m_strXLBM;
  31 + this.m_SubInfos = m_SubInfos;
  32 + }
  33 +
  34 +
  35 + /**
  36 + * Gets the m_strYYRQ value for this ClsLDInfo.
  37 + *
  38 + * @return m_strYYRQ
  39 + */
  40 + public java.lang.String getM_strYYRQ() {
  41 + return m_strYYRQ;
  42 + }
  43 +
  44 +
  45 + /**
  46 + * Sets the m_strYYRQ value for this ClsLDInfo.
  47 + *
  48 + * @param m_strYYRQ
  49 + */
  50 + public void setM_strYYRQ(java.lang.String m_strYYRQ) {
  51 + this.m_strYYRQ = m_strYYRQ;
  52 + }
  53 +
  54 +
  55 + /**
  56 + * Gets the m_strNBBM value for this ClsLDInfo.
  57 + *
  58 + * @return m_strNBBM
  59 + */
  60 + public java.lang.String getM_strNBBM() {
  61 + return m_strNBBM;
  62 + }
  63 +
  64 +
  65 + /**
  66 + * Sets the m_strNBBM value for this ClsLDInfo.
  67 + *
  68 + * @param m_strNBBM
  69 + */
  70 + public void setM_strNBBM(java.lang.String m_strNBBM) {
  71 + this.m_strNBBM = m_strNBBM;
  72 + }
  73 +
  74 +
  75 + /**
  76 + * Gets the m_strXLBM value for this ClsLDInfo.
  77 + *
  78 + * @return m_strXLBM
  79 + */
  80 + public java.lang.String getM_strXLBM() {
  81 + return m_strXLBM;
  82 + }
  83 +
  84 +
  85 + /**
  86 + * Sets the m_strXLBM value for this ClsLDInfo.
  87 + *
  88 + * @param m_strXLBM
  89 + */
  90 + public void setM_strXLBM(java.lang.String m_strXLBM) {
  91 + this.m_strXLBM = m_strXLBM;
  92 + }
  93 +
  94 +
  95 + /**
  96 + * Gets the m_SubInfos value for this ClsLDInfo.
  97 + *
  98 + * @return m_SubInfos
  99 + */
  100 + public ClsSubInfo[] getM_SubInfos() {
  101 + return m_SubInfos;
  102 + }
  103 +
  104 +
  105 + /**
  106 + * Sets the m_SubInfos value for this ClsLDInfo.
  107 + *
  108 + * @param m_SubInfos
  109 + */
  110 + public void setM_SubInfos(ClsSubInfo[] m_SubInfos) {
  111 + this.m_SubInfos = m_SubInfos;
  112 + }
  113 +
  114 + private java.lang.Object __equalsCalc = null;
  115 + public synchronized boolean equals(java.lang.Object obj) {
  116 + if (!(obj instanceof ClsLDInfo)) return false;
  117 + ClsLDInfo other = (ClsLDInfo) obj;
  118 + if (obj == null) return false;
  119 + if (this == obj) return true;
  120 + if (__equalsCalc != null) {
  121 + return (__equalsCalc == obj);
  122 + }
  123 + __equalsCalc = obj;
  124 + boolean _equals;
  125 + _equals = true &&
  126 + ((this.m_strYYRQ==null && other.getM_strYYRQ()==null) ||
  127 + (this.m_strYYRQ!=null &&
  128 + this.m_strYYRQ.equals(other.getM_strYYRQ()))) &&
  129 + ((this.m_strNBBM==null && other.getM_strNBBM()==null) ||
  130 + (this.m_strNBBM!=null &&
  131 + this.m_strNBBM.equals(other.getM_strNBBM()))) &&
  132 + ((this.m_strXLBM==null && other.getM_strXLBM()==null) ||
  133 + (this.m_strXLBM!=null &&
  134 + this.m_strXLBM.equals(other.getM_strXLBM()))) &&
  135 + ((this.m_SubInfos==null && other.getM_SubInfos()==null) ||
  136 + (this.m_SubInfos!=null &&
  137 + java.util.Arrays.equals(this.m_SubInfos, other.getM_SubInfos())));
  138 + __equalsCalc = null;
  139 + return _equals;
  140 + }
  141 +
  142 + private boolean __hashCodeCalc = false;
  143 + public synchronized int hashCode() {
  144 + if (__hashCodeCalc) {
  145 + return 0;
  146 + }
  147 + __hashCodeCalc = true;
  148 + int _hashCode = 1;
  149 + if (getM_strYYRQ() != null) {
  150 + _hashCode += getM_strYYRQ().hashCode();
  151 + }
  152 + if (getM_strNBBM() != null) {
  153 + _hashCode += getM_strNBBM().hashCode();
  154 + }
  155 + if (getM_strXLBM() != null) {
  156 + _hashCode += getM_strXLBM().hashCode();
  157 + }
  158 + if (getM_SubInfos() != null) {
  159 + for (int i=0;
  160 + i<java.lang.reflect.Array.getLength(getM_SubInfos());
  161 + i++) {
  162 + java.lang.Object obj = java.lang.reflect.Array.get(getM_SubInfos(), i);
  163 + if (obj != null &&
  164 + !obj.getClass().isArray()) {
  165 + _hashCode += obj.hashCode();
  166 + }
  167 + }
  168 + }
  169 + __hashCodeCalc = false;
  170 + return _hashCode;
  171 + }
  172 +
  173 + // Type metadata
  174 + private static org.apache.axis.description.TypeDesc typeDesc =
  175 + new org.apache.axis.description.TypeDesc(ClsLDInfo.class, true);
  176 +
  177 + static {
  178 + typeDesc.setXmlType(new javax.xml.namespace.QName("http://tempuri.org/", "clsLDInfo"));
  179 + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
  180 + elemField.setFieldName("m_strYYRQ");
  181 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strYYRQ"));
  182 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  183 + elemField.setMinOccurs(0);
  184 + elemField.setNillable(false);
  185 + typeDesc.addFieldDesc(elemField);
  186 + elemField = new org.apache.axis.description.ElementDesc();
  187 + elemField.setFieldName("m_strNBBM");
  188 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strNBBM"));
  189 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  190 + elemField.setMinOccurs(0);
  191 + elemField.setNillable(false);
  192 + typeDesc.addFieldDesc(elemField);
  193 + elemField = new org.apache.axis.description.ElementDesc();
  194 + elemField.setFieldName("m_strXLBM");
  195 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strXLBM"));
  196 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  197 + elemField.setMinOccurs(0);
  198 + elemField.setNillable(false);
  199 + typeDesc.addFieldDesc(elemField);
  200 + elemField = new org.apache.axis.description.ElementDesc();
  201 + elemField.setFieldName("m_SubInfos");
  202 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_SubInfos"));
  203 + elemField.setXmlType(new javax.xml.namespace.QName("http://tempuri.org/", "clsSubInfo"));
  204 + elemField.setMinOccurs(0);
  205 + elemField.setNillable(false);
  206 + elemField.setItemQName(new javax.xml.namespace.QName("http://tempuri.org/", "clsSubInfo"));
  207 + typeDesc.addFieldDesc(elemField);
  208 + }
  209 +
  210 + /**
  211 + * Return type metadata object
  212 + */
  213 + public static org.apache.axis.description.TypeDesc getTypeDesc() {
  214 + return typeDesc;
  215 + }
  216 +
  217 + /**
  218 + * Get Custom Serializer
  219 + */
  220 + public static org.apache.axis.encoding.Serializer getSerializer(
  221 + java.lang.String mechType,
  222 + java.lang.Class _javaType,
  223 + javax.xml.namespace.QName _xmlType) {
  224 + return
  225 + new org.apache.axis.encoding.ser.BeanSerializer(
  226 + _javaType, _xmlType, typeDesc);
  227 + }
  228 +
  229 + /**
  230 + * Get Custom Deserializer
  231 + */
  232 + public static org.apache.axis.encoding.Deserializer getDeserializer(
  233 + java.lang.String mechType,
  234 + java.lang.Class _javaType,
  235 + javax.xml.namespace.QName _xmlType) {
  236 + return
  237 + new org.apache.axis.encoding.ser.BeanDeserializer(
  238 + _javaType, _xmlType, typeDesc);
  239 + }
  240 +
  241 +}
src/main/java/com/bsth/old_sys_wsclient/nh_ld/ClsSubInfo.java 0 → 100644
  1 +package com.bsth.old_sys_wsclient.nh_ld;
  2 +
  3 +/**
  4 + * ClsSubInfo.java
  5 + *
  6 + * This file was auto-generated from WSDL
  7 + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
  8 + */
  9 +
  10 +
  11 +public class ClsSubInfo implements java.io.Serializable {
  12 + private double m_dblJZL1;
  13 +
  14 + private double m_dblJZL2;
  15 +
  16 + private java.lang.String m_strYHLX1;
  17 +
  18 + private java.lang.String m_strYHLX2;
  19 +
  20 + private java.lang.String m_strJYD1;
  21 +
  22 + private java.lang.String m_strJYD2;
  23 +
  24 + private java.lang.String m_strJYG1;
  25 +
  26 + private java.lang.String m_strJYG2;
  27 +
  28 + private double m_dblCCCY;
  29 +
  30 + private double m_dblYH;
  31 +
  32 + private double m_dblJCCY;
  33 +
  34 + private double m_dblJCLC;
  35 +
  36 + private double m_dblCCLC;
  37 +
  38 + private double m_dblNS;
  39 +
  40 + private java.lang.String m_strDDY;
  41 +
  42 + private java.lang.String m_strLP;
  43 +
  44 + private java.lang.String m_strYYZT;
  45 +
  46 + private java.lang.String m_strJSY;
  47 +
  48 + private java.lang.String m_strJSYKQ;
  49 +
  50 + private java.lang.String m_strSPY;
  51 +
  52 + private java.lang.String m_strSPYKQ;
  53 +
  54 + private double m_dblJHLC;
  55 +
  56 + private double m_dblYYLC;
  57 +
  58 + private double m_dblKSLC;
  59 +
  60 + private double m_dblCJLC;
  61 +
  62 + private double m_dblZJLC;
  63 +
  64 + private double m_dblSJJHLC;
  65 +
  66 + private double m_dblZLC;
  67 +
  68 + private int m_intJHBC;
  69 +
  70 + private int m_intSJBC;
  71 +
  72 + private int m_intCJBC;
  73 +
  74 + private int m_intZJBC;
  75 +
  76 + private int m_intSJJHBC;
  77 +
  78 + private java.lang.String m_strCJYY;
  79 +
  80 + private java.lang.String m_strBZ;
  81 +
  82 + private double m_dblLBGS;
  83 +
  84 + private double m_dblLBLC;
  85 +
  86 + private java.lang.String m_strLBYY;
  87 +
  88 + public ClsSubInfo() {
  89 + }
  90 +
  91 + public ClsSubInfo(
  92 + double m_dblJZL1,
  93 + double m_dblJZL2,
  94 + java.lang.String m_strYHLX1,
  95 + java.lang.String m_strYHLX2,
  96 + java.lang.String m_strJYD1,
  97 + java.lang.String m_strJYD2,
  98 + java.lang.String m_strJYG1,
  99 + java.lang.String m_strJYG2,
  100 + double m_dblCCCY,
  101 + double m_dblYH,
  102 + double m_dblJCCY,
  103 + double m_dblJCLC,
  104 + double m_dblCCLC,
  105 + double m_dblNS,
  106 + java.lang.String m_strDDY,
  107 + java.lang.String m_strLP,
  108 + java.lang.String m_strYYZT,
  109 + java.lang.String m_strJSY,
  110 + java.lang.String m_strJSYKQ,
  111 + java.lang.String m_strSPY,
  112 + java.lang.String m_strSPYKQ,
  113 + double m_dblJHLC,
  114 + double m_dblYYLC,
  115 + double m_dblKSLC,
  116 + double m_dblCJLC,
  117 + double m_dblZJLC,
  118 + double m_dblSJJHLC,
  119 + double m_dblZLC,
  120 + int m_intJHBC,
  121 + int m_intSJBC,
  122 + int m_intCJBC,
  123 + int m_intZJBC,
  124 + int m_intSJJHBC,
  125 + java.lang.String m_strCJYY,
  126 + java.lang.String m_strBZ,
  127 + double m_dblLBGS,
  128 + double m_dblLBLC,
  129 + java.lang.String m_strLBYY) {
  130 + this.m_dblJZL1 = m_dblJZL1;
  131 + this.m_dblJZL2 = m_dblJZL2;
  132 + this.m_strYHLX1 = m_strYHLX1;
  133 + this.m_strYHLX2 = m_strYHLX2;
  134 + this.m_strJYD1 = m_strJYD1;
  135 + this.m_strJYD2 = m_strJYD2;
  136 + this.m_strJYG1 = m_strJYG1;
  137 + this.m_strJYG2 = m_strJYG2;
  138 + this.m_dblCCCY = m_dblCCCY;
  139 + this.m_dblYH = m_dblYH;
  140 + this.m_dblJCCY = m_dblJCCY;
  141 + this.m_dblJCLC = m_dblJCLC;
  142 + this.m_dblCCLC = m_dblCCLC;
  143 + this.m_dblNS = m_dblNS;
  144 + this.m_strDDY = m_strDDY;
  145 + this.m_strLP = m_strLP;
  146 + this.m_strYYZT = m_strYYZT;
  147 + this.m_strJSY = m_strJSY;
  148 + this.m_strJSYKQ = m_strJSYKQ;
  149 + this.m_strSPY = m_strSPY;
  150 + this.m_strSPYKQ = m_strSPYKQ;
  151 + this.m_dblJHLC = m_dblJHLC;
  152 + this.m_dblYYLC = m_dblYYLC;
  153 + this.m_dblKSLC = m_dblKSLC;
  154 + this.m_dblCJLC = m_dblCJLC;
  155 + this.m_dblZJLC = m_dblZJLC;
  156 + this.m_dblSJJHLC = m_dblSJJHLC;
  157 + this.m_dblZLC = m_dblZLC;
  158 + this.m_intJHBC = m_intJHBC;
  159 + this.m_intSJBC = m_intSJBC;
  160 + this.m_intCJBC = m_intCJBC;
  161 + this.m_intZJBC = m_intZJBC;
  162 + this.m_intSJJHBC = m_intSJJHBC;
  163 + this.m_strCJYY = m_strCJYY;
  164 + this.m_strBZ = m_strBZ;
  165 + this.m_dblLBGS = m_dblLBGS;
  166 + this.m_dblLBLC = m_dblLBLC;
  167 + this.m_strLBYY = m_strLBYY;
  168 + }
  169 +
  170 +
  171 + /**
  172 + * Gets the m_dblJZL1 value for this ClsSubInfo.
  173 + *
  174 + * @return m_dblJZL1
  175 + */
  176 + public double getM_dblJZL1() {
  177 + return m_dblJZL1;
  178 + }
  179 +
  180 +
  181 + /**
  182 + * Sets the m_dblJZL1 value for this ClsSubInfo.
  183 + *
  184 + * @param m_dblJZL1
  185 + */
  186 + public void setM_dblJZL1(double m_dblJZL1) {
  187 + this.m_dblJZL1 = m_dblJZL1;
  188 + }
  189 +
  190 +
  191 + /**
  192 + * Gets the m_dblJZL2 value for this ClsSubInfo.
  193 + *
  194 + * @return m_dblJZL2
  195 + */
  196 + public double getM_dblJZL2() {
  197 + return m_dblJZL2;
  198 + }
  199 +
  200 +
  201 + /**
  202 + * Sets the m_dblJZL2 value for this ClsSubInfo.
  203 + *
  204 + * @param m_dblJZL2
  205 + */
  206 + public void setM_dblJZL2(double m_dblJZL2) {
  207 + this.m_dblJZL2 = m_dblJZL2;
  208 + }
  209 +
  210 +
  211 + /**
  212 + * Gets the m_strYHLX1 value for this ClsSubInfo.
  213 + *
  214 + * @return m_strYHLX1
  215 + */
  216 + public java.lang.String getM_strYHLX1() {
  217 + return m_strYHLX1;
  218 + }
  219 +
  220 +
  221 + /**
  222 + * Sets the m_strYHLX1 value for this ClsSubInfo.
  223 + *
  224 + * @param m_strYHLX1
  225 + */
  226 + public void setM_strYHLX1(java.lang.String m_strYHLX1) {
  227 + this.m_strYHLX1 = m_strYHLX1;
  228 + }
  229 +
  230 +
  231 + /**
  232 + * Gets the m_strYHLX2 value for this ClsSubInfo.
  233 + *
  234 + * @return m_strYHLX2
  235 + */
  236 + public java.lang.String getM_strYHLX2() {
  237 + return m_strYHLX2;
  238 + }
  239 +
  240 +
  241 + /**
  242 + * Sets the m_strYHLX2 value for this ClsSubInfo.
  243 + *
  244 + * @param m_strYHLX2
  245 + */
  246 + public void setM_strYHLX2(java.lang.String m_strYHLX2) {
  247 + this.m_strYHLX2 = m_strYHLX2;
  248 + }
  249 +
  250 +
  251 + /**
  252 + * Gets the m_strJYD1 value for this ClsSubInfo.
  253 + *
  254 + * @return m_strJYD1
  255 + */
  256 + public java.lang.String getM_strJYD1() {
  257 + return m_strJYD1;
  258 + }
  259 +
  260 +
  261 + /**
  262 + * Sets the m_strJYD1 value for this ClsSubInfo.
  263 + *
  264 + * @param m_strJYD1
  265 + */
  266 + public void setM_strJYD1(java.lang.String m_strJYD1) {
  267 + this.m_strJYD1 = m_strJYD1;
  268 + }
  269 +
  270 +
  271 + /**
  272 + * Gets the m_strJYD2 value for this ClsSubInfo.
  273 + *
  274 + * @return m_strJYD2
  275 + */
  276 + public java.lang.String getM_strJYD2() {
  277 + return m_strJYD2;
  278 + }
  279 +
  280 +
  281 + /**
  282 + * Sets the m_strJYD2 value for this ClsSubInfo.
  283 + *
  284 + * @param m_strJYD2
  285 + */
  286 + public void setM_strJYD2(java.lang.String m_strJYD2) {
  287 + this.m_strJYD2 = m_strJYD2;
  288 + }
  289 +
  290 +
  291 + /**
  292 + * Gets the m_strJYG1 value for this ClsSubInfo.
  293 + *
  294 + * @return m_strJYG1
  295 + */
  296 + public java.lang.String getM_strJYG1() {
  297 + return m_strJYG1;
  298 + }
  299 +
  300 +
  301 + /**
  302 + * Sets the m_strJYG1 value for this ClsSubInfo.
  303 + *
  304 + * @param m_strJYG1
  305 + */
  306 + public void setM_strJYG1(java.lang.String m_strJYG1) {
  307 + this.m_strJYG1 = m_strJYG1;
  308 + }
  309 +
  310 +
  311 + /**
  312 + * Gets the m_strJYG2 value for this ClsSubInfo.
  313 + *
  314 + * @return m_strJYG2
  315 + */
  316 + public java.lang.String getM_strJYG2() {
  317 + return m_strJYG2;
  318 + }
  319 +
  320 +
  321 + /**
  322 + * Sets the m_strJYG2 value for this ClsSubInfo.
  323 + *
  324 + * @param m_strJYG2
  325 + */
  326 + public void setM_strJYG2(java.lang.String m_strJYG2) {
  327 + this.m_strJYG2 = m_strJYG2;
  328 + }
  329 +
  330 +
  331 + /**
  332 + * Gets the m_dblCCCY value for this ClsSubInfo.
  333 + *
  334 + * @return m_dblCCCY
  335 + */
  336 + public double getM_dblCCCY() {
  337 + return m_dblCCCY;
  338 + }
  339 +
  340 +
  341 + /**
  342 + * Sets the m_dblCCCY value for this ClsSubInfo.
  343 + *
  344 + * @param m_dblCCCY
  345 + */
  346 + public void setM_dblCCCY(double m_dblCCCY) {
  347 + this.m_dblCCCY = m_dblCCCY;
  348 + }
  349 +
  350 +
  351 + /**
  352 + * Gets the m_dblYH value for this ClsSubInfo.
  353 + *
  354 + * @return m_dblYH
  355 + */
  356 + public double getM_dblYH() {
  357 + return m_dblYH;
  358 + }
  359 +
  360 +
  361 + /**
  362 + * Sets the m_dblYH value for this ClsSubInfo.
  363 + *
  364 + * @param m_dblYH
  365 + */
  366 + public void setM_dblYH(double m_dblYH) {
  367 + this.m_dblYH = m_dblYH;
  368 + }
  369 +
  370 +
  371 + /**
  372 + * Gets the m_dblJCCY value for this ClsSubInfo.
  373 + *
  374 + * @return m_dblJCCY
  375 + */
  376 + public double getM_dblJCCY() {
  377 + return m_dblJCCY;
  378 + }
  379 +
  380 +
  381 + /**
  382 + * Sets the m_dblJCCY value for this ClsSubInfo.
  383 + *
  384 + * @param m_dblJCCY
  385 + */
  386 + public void setM_dblJCCY(double m_dblJCCY) {
  387 + this.m_dblJCCY = m_dblJCCY;
  388 + }
  389 +
  390 +
  391 + /**
  392 + * Gets the m_dblJCLC value for this ClsSubInfo.
  393 + *
  394 + * @return m_dblJCLC
  395 + */
  396 + public double getM_dblJCLC() {
  397 + return m_dblJCLC;
  398 + }
  399 +
  400 +
  401 + /**
  402 + * Sets the m_dblJCLC value for this ClsSubInfo.
  403 + *
  404 + * @param m_dblJCLC
  405 + */
  406 + public void setM_dblJCLC(double m_dblJCLC) {
  407 + this.m_dblJCLC = m_dblJCLC;
  408 + }
  409 +
  410 +
  411 + /**
  412 + * Gets the m_dblCCLC value for this ClsSubInfo.
  413 + *
  414 + * @return m_dblCCLC
  415 + */
  416 + public double getM_dblCCLC() {
  417 + return m_dblCCLC;
  418 + }
  419 +
  420 +
  421 + /**
  422 + * Sets the m_dblCCLC value for this ClsSubInfo.
  423 + *
  424 + * @param m_dblCCLC
  425 + */
  426 + public void setM_dblCCLC(double m_dblCCLC) {
  427 + this.m_dblCCLC = m_dblCCLC;
  428 + }
  429 +
  430 +
  431 + /**
  432 + * Gets the m_dblNS value for this ClsSubInfo.
  433 + *
  434 + * @return m_dblNS
  435 + */
  436 + public double getM_dblNS() {
  437 + return m_dblNS;
  438 + }
  439 +
  440 +
  441 + /**
  442 + * Sets the m_dblNS value for this ClsSubInfo.
  443 + *
  444 + * @param m_dblNS
  445 + */
  446 + public void setM_dblNS(double m_dblNS) {
  447 + this.m_dblNS = m_dblNS;
  448 + }
  449 +
  450 +
  451 + /**
  452 + * Gets the m_strDDY value for this ClsSubInfo.
  453 + *
  454 + * @return m_strDDY
  455 + */
  456 + public java.lang.String getM_strDDY() {
  457 + return m_strDDY;
  458 + }
  459 +
  460 +
  461 + /**
  462 + * Sets the m_strDDY value for this ClsSubInfo.
  463 + *
  464 + * @param m_strDDY
  465 + */
  466 + public void setM_strDDY(java.lang.String m_strDDY) {
  467 + this.m_strDDY = m_strDDY;
  468 + }
  469 +
  470 +
  471 + /**
  472 + * Gets the m_strLP value for this ClsSubInfo.
  473 + *
  474 + * @return m_strLP
  475 + */
  476 + public java.lang.String getM_strLP() {
  477 + return m_strLP;
  478 + }
  479 +
  480 +
  481 + /**
  482 + * Sets the m_strLP value for this ClsSubInfo.
  483 + *
  484 + * @param m_strLP
  485 + */
  486 + public void setM_strLP(java.lang.String m_strLP) {
  487 + this.m_strLP = m_strLP;
  488 + }
  489 +
  490 +
  491 + /**
  492 + * Gets the m_strYYZT value for this ClsSubInfo.
  493 + *
  494 + * @return m_strYYZT
  495 + */
  496 + public java.lang.String getM_strYYZT() {
  497 + return m_strYYZT;
  498 + }
  499 +
  500 +
  501 + /**
  502 + * Sets the m_strYYZT value for this ClsSubInfo.
  503 + *
  504 + * @param m_strYYZT
  505 + */
  506 + public void setM_strYYZT(java.lang.String m_strYYZT) {
  507 + this.m_strYYZT = m_strYYZT;
  508 + }
  509 +
  510 +
  511 + /**
  512 + * Gets the m_strJSY value for this ClsSubInfo.
  513 + *
  514 + * @return m_strJSY
  515 + */
  516 + public java.lang.String getM_strJSY() {
  517 + return m_strJSY;
  518 + }
  519 +
  520 +
  521 + /**
  522 + * Sets the m_strJSY value for this ClsSubInfo.
  523 + *
  524 + * @param m_strJSY
  525 + */
  526 + public void setM_strJSY(java.lang.String m_strJSY) {
  527 + this.m_strJSY = m_strJSY;
  528 + }
  529 +
  530 +
  531 + /**
  532 + * Gets the m_strJSYKQ value for this ClsSubInfo.
  533 + *
  534 + * @return m_strJSYKQ
  535 + */
  536 + public java.lang.String getM_strJSYKQ() {
  537 + return m_strJSYKQ;
  538 + }
  539 +
  540 +
  541 + /**
  542 + * Sets the m_strJSYKQ value for this ClsSubInfo.
  543 + *
  544 + * @param m_strJSYKQ
  545 + */
  546 + public void setM_strJSYKQ(java.lang.String m_strJSYKQ) {
  547 + this.m_strJSYKQ = m_strJSYKQ;
  548 + }
  549 +
  550 +
  551 + /**
  552 + * Gets the m_strSPY value for this ClsSubInfo.
  553 + *
  554 + * @return m_strSPY
  555 + */
  556 + public java.lang.String getM_strSPY() {
  557 + return m_strSPY;
  558 + }
  559 +
  560 +
  561 + /**
  562 + * Sets the m_strSPY value for this ClsSubInfo.
  563 + *
  564 + * @param m_strSPY
  565 + */
  566 + public void setM_strSPY(java.lang.String m_strSPY) {
  567 + this.m_strSPY = m_strSPY;
  568 + }
  569 +
  570 +
  571 + /**
  572 + * Gets the m_strSPYKQ value for this ClsSubInfo.
  573 + *
  574 + * @return m_strSPYKQ
  575 + */
  576 + public java.lang.String getM_strSPYKQ() {
  577 + return m_strSPYKQ;
  578 + }
  579 +
  580 +
  581 + /**
  582 + * Sets the m_strSPYKQ value for this ClsSubInfo.
  583 + *
  584 + * @param m_strSPYKQ
  585 + */
  586 + public void setM_strSPYKQ(java.lang.String m_strSPYKQ) {
  587 + this.m_strSPYKQ = m_strSPYKQ;
  588 + }
  589 +
  590 +
  591 + /**
  592 + * Gets the m_dblJHLC value for this ClsSubInfo.
  593 + *
  594 + * @return m_dblJHLC
  595 + */
  596 + public double getM_dblJHLC() {
  597 + return m_dblJHLC;
  598 + }
  599 +
  600 +
  601 + /**
  602 + * Sets the m_dblJHLC value for this ClsSubInfo.
  603 + *
  604 + * @param m_dblJHLC
  605 + */
  606 + public void setM_dblJHLC(double m_dblJHLC) {
  607 + this.m_dblJHLC = m_dblJHLC;
  608 + }
  609 +
  610 +
  611 + /**
  612 + * Gets the m_dblYYLC value for this ClsSubInfo.
  613 + *
  614 + * @return m_dblYYLC
  615 + */
  616 + public double getM_dblYYLC() {
  617 + return m_dblYYLC;
  618 + }
  619 +
  620 +
  621 + /**
  622 + * Sets the m_dblYYLC value for this ClsSubInfo.
  623 + *
  624 + * @param m_dblYYLC
  625 + */
  626 + public void setM_dblYYLC(double m_dblYYLC) {
  627 + this.m_dblYYLC = m_dblYYLC;
  628 + }
  629 +
  630 +
  631 + /**
  632 + * Gets the m_dblKSLC value for this ClsSubInfo.
  633 + *
  634 + * @return m_dblKSLC
  635 + */
  636 + public double getM_dblKSLC() {
  637 + return m_dblKSLC;
  638 + }
  639 +
  640 +
  641 + /**
  642 + * Sets the m_dblKSLC value for this ClsSubInfo.
  643 + *
  644 + * @param m_dblKSLC
  645 + */
  646 + public void setM_dblKSLC(double m_dblKSLC) {
  647 + this.m_dblKSLC = m_dblKSLC;
  648 + }
  649 +
  650 +
  651 + /**
  652 + * Gets the m_dblCJLC value for this ClsSubInfo.
  653 + *
  654 + * @return m_dblCJLC
  655 + */
  656 + public double getM_dblCJLC() {
  657 + return m_dblCJLC;
  658 + }
  659 +
  660 +
  661 + /**
  662 + * Sets the m_dblCJLC value for this ClsSubInfo.
  663 + *
  664 + * @param m_dblCJLC
  665 + */
  666 + public void setM_dblCJLC(double m_dblCJLC) {
  667 + this.m_dblCJLC = m_dblCJLC;
  668 + }
  669 +
  670 +
  671 + /**
  672 + * Gets the m_dblZJLC value for this ClsSubInfo.
  673 + *
  674 + * @return m_dblZJLC
  675 + */
  676 + public double getM_dblZJLC() {
  677 + return m_dblZJLC;
  678 + }
  679 +
  680 +
  681 + /**
  682 + * Sets the m_dblZJLC value for this ClsSubInfo.
  683 + *
  684 + * @param m_dblZJLC
  685 + */
  686 + public void setM_dblZJLC(double m_dblZJLC) {
  687 + this.m_dblZJLC = m_dblZJLC;
  688 + }
  689 +
  690 +
  691 + /**
  692 + * Gets the m_dblSJJHLC value for this ClsSubInfo.
  693 + *
  694 + * @return m_dblSJJHLC
  695 + */
  696 + public double getM_dblSJJHLC() {
  697 + return m_dblSJJHLC;
  698 + }
  699 +
  700 +
  701 + /**
  702 + * Sets the m_dblSJJHLC value for this ClsSubInfo.
  703 + *
  704 + * @param m_dblSJJHLC
  705 + */
  706 + public void setM_dblSJJHLC(double m_dblSJJHLC) {
  707 + this.m_dblSJJHLC = m_dblSJJHLC;
  708 + }
  709 +
  710 +
  711 + /**
  712 + * Gets the m_dblZLC value for this ClsSubInfo.
  713 + *
  714 + * @return m_dblZLC
  715 + */
  716 + public double getM_dblZLC() {
  717 + return m_dblZLC;
  718 + }
  719 +
  720 +
  721 + /**
  722 + * Sets the m_dblZLC value for this ClsSubInfo.
  723 + *
  724 + * @param m_dblZLC
  725 + */
  726 + public void setM_dblZLC(double m_dblZLC) {
  727 + this.m_dblZLC = m_dblZLC;
  728 + }
  729 +
  730 +
  731 + /**
  732 + * Gets the m_intJHBC value for this ClsSubInfo.
  733 + *
  734 + * @return m_intJHBC
  735 + */
  736 + public int getM_intJHBC() {
  737 + return m_intJHBC;
  738 + }
  739 +
  740 +
  741 + /**
  742 + * Sets the m_intJHBC value for this ClsSubInfo.
  743 + *
  744 + * @param m_intJHBC
  745 + */
  746 + public void setM_intJHBC(int m_intJHBC) {
  747 + this.m_intJHBC = m_intJHBC;
  748 + }
  749 +
  750 +
  751 + /**
  752 + * Gets the m_intSJBC value for this ClsSubInfo.
  753 + *
  754 + * @return m_intSJBC
  755 + */
  756 + public int getM_intSJBC() {
  757 + return m_intSJBC;
  758 + }
  759 +
  760 +
  761 + /**
  762 + * Sets the m_intSJBC value for this ClsSubInfo.
  763 + *
  764 + * @param m_intSJBC
  765 + */
  766 + public void setM_intSJBC(int m_intSJBC) {
  767 + this.m_intSJBC = m_intSJBC;
  768 + }
  769 +
  770 +
  771 + /**
  772 + * Gets the m_intCJBC value for this ClsSubInfo.
  773 + *
  774 + * @return m_intCJBC
  775 + */
  776 + public int getM_intCJBC() {
  777 + return m_intCJBC;
  778 + }
  779 +
  780 +
  781 + /**
  782 + * Sets the m_intCJBC value for this ClsSubInfo.
  783 + *
  784 + * @param m_intCJBC
  785 + */
  786 + public void setM_intCJBC(int m_intCJBC) {
  787 + this.m_intCJBC = m_intCJBC;
  788 + }
  789 +
  790 +
  791 + /**
  792 + * Gets the m_intZJBC value for this ClsSubInfo.
  793 + *
  794 + * @return m_intZJBC
  795 + */
  796 + public int getM_intZJBC() {
  797 + return m_intZJBC;
  798 + }
  799 +
  800 +
  801 + /**
  802 + * Sets the m_intZJBC value for this ClsSubInfo.
  803 + *
  804 + * @param m_intZJBC
  805 + */
  806 + public void setM_intZJBC(int m_intZJBC) {
  807 + this.m_intZJBC = m_intZJBC;
  808 + }
  809 +
  810 +
  811 + /**
  812 + * Gets the m_intSJJHBC value for this ClsSubInfo.
  813 + *
  814 + * @return m_intSJJHBC
  815 + */
  816 + public int getM_intSJJHBC() {
  817 + return m_intSJJHBC;
  818 + }
  819 +
  820 +
  821 + /**
  822 + * Sets the m_intSJJHBC value for this ClsSubInfo.
  823 + *
  824 + * @param m_intSJJHBC
  825 + */
  826 + public void setM_intSJJHBC(int m_intSJJHBC) {
  827 + this.m_intSJJHBC = m_intSJJHBC;
  828 + }
  829 +
  830 +
  831 + /**
  832 + * Gets the m_strCJYY value for this ClsSubInfo.
  833 + *
  834 + * @return m_strCJYY
  835 + */
  836 + public java.lang.String getM_strCJYY() {
  837 + return m_strCJYY;
  838 + }
  839 +
  840 +
  841 + /**
  842 + * Sets the m_strCJYY value for this ClsSubInfo.
  843 + *
  844 + * @param m_strCJYY
  845 + */
  846 + public void setM_strCJYY(java.lang.String m_strCJYY) {
  847 + this.m_strCJYY = m_strCJYY;
  848 + }
  849 +
  850 +
  851 + /**
  852 + * Gets the m_strBZ value for this ClsSubInfo.
  853 + *
  854 + * @return m_strBZ
  855 + */
  856 + public java.lang.String getM_strBZ() {
  857 + return m_strBZ;
  858 + }
  859 +
  860 +
  861 + /**
  862 + * Sets the m_strBZ value for this ClsSubInfo.
  863 + *
  864 + * @param m_strBZ
  865 + */
  866 + public void setM_strBZ(java.lang.String m_strBZ) {
  867 + this.m_strBZ = m_strBZ;
  868 + }
  869 +
  870 +
  871 + /**
  872 + * Gets the m_dblLBGS value for this ClsSubInfo.
  873 + *
  874 + * @return m_dblLBGS
  875 + */
  876 + public double getM_dblLBGS() {
  877 + return m_dblLBGS;
  878 + }
  879 +
  880 +
  881 + /**
  882 + * Sets the m_dblLBGS value for this ClsSubInfo.
  883 + *
  884 + * @param m_dblLBGS
  885 + */
  886 + public void setM_dblLBGS(double m_dblLBGS) {
  887 + this.m_dblLBGS = m_dblLBGS;
  888 + }
  889 +
  890 +
  891 + /**
  892 + * Gets the m_dblLBLC value for this ClsSubInfo.
  893 + *
  894 + * @return m_dblLBLC
  895 + */
  896 + public double getM_dblLBLC() {
  897 + return m_dblLBLC;
  898 + }
  899 +
  900 +
  901 + /**
  902 + * Sets the m_dblLBLC value for this ClsSubInfo.
  903 + *
  904 + * @param m_dblLBLC
  905 + */
  906 + public void setM_dblLBLC(double m_dblLBLC) {
  907 + this.m_dblLBLC = m_dblLBLC;
  908 + }
  909 +
  910 +
  911 + /**
  912 + * Gets the m_strLBYY value for this ClsSubInfo.
  913 + *
  914 + * @return m_strLBYY
  915 + */
  916 + public java.lang.String getM_strLBYY() {
  917 + return m_strLBYY;
  918 + }
  919 +
  920 +
  921 + /**
  922 + * Sets the m_strLBYY value for this ClsSubInfo.
  923 + *
  924 + * @param m_strLBYY
  925 + */
  926 + public void setM_strLBYY(java.lang.String m_strLBYY) {
  927 + this.m_strLBYY = m_strLBYY;
  928 + }
  929 +
  930 + private java.lang.Object __equalsCalc = null;
  931 + public synchronized boolean equals(java.lang.Object obj) {
  932 + if (!(obj instanceof ClsSubInfo)) return false;
  933 + ClsSubInfo other = (ClsSubInfo) obj;
  934 + if (obj == null) return false;
  935 + if (this == obj) return true;
  936 + if (__equalsCalc != null) {
  937 + return (__equalsCalc == obj);
  938 + }
  939 + __equalsCalc = obj;
  940 + boolean _equals;
  941 + _equals = true &&
  942 + this.m_dblJZL1 == other.getM_dblJZL1() &&
  943 + this.m_dblJZL2 == other.getM_dblJZL2() &&
  944 + ((this.m_strYHLX1==null && other.getM_strYHLX1()==null) ||
  945 + (this.m_strYHLX1!=null &&
  946 + this.m_strYHLX1.equals(other.getM_strYHLX1()))) &&
  947 + ((this.m_strYHLX2==null && other.getM_strYHLX2()==null) ||
  948 + (this.m_strYHLX2!=null &&
  949 + this.m_strYHLX2.equals(other.getM_strYHLX2()))) &&
  950 + ((this.m_strJYD1==null && other.getM_strJYD1()==null) ||
  951 + (this.m_strJYD1!=null &&
  952 + this.m_strJYD1.equals(other.getM_strJYD1()))) &&
  953 + ((this.m_strJYD2==null && other.getM_strJYD2()==null) ||
  954 + (this.m_strJYD2!=null &&
  955 + this.m_strJYD2.equals(other.getM_strJYD2()))) &&
  956 + ((this.m_strJYG1==null && other.getM_strJYG1()==null) ||
  957 + (this.m_strJYG1!=null &&
  958 + this.m_strJYG1.equals(other.getM_strJYG1()))) &&
  959 + ((this.m_strJYG2==null && other.getM_strJYG2()==null) ||
  960 + (this.m_strJYG2!=null &&
  961 + this.m_strJYG2.equals(other.getM_strJYG2()))) &&
  962 + this.m_dblCCCY == other.getM_dblCCCY() &&
  963 + this.m_dblYH == other.getM_dblYH() &&
  964 + this.m_dblJCCY == other.getM_dblJCCY() &&
  965 + this.m_dblJCLC == other.getM_dblJCLC() &&
  966 + this.m_dblCCLC == other.getM_dblCCLC() &&
  967 + this.m_dblNS == other.getM_dblNS() &&
  968 + ((this.m_strDDY==null && other.getM_strDDY()==null) ||
  969 + (this.m_strDDY!=null &&
  970 + this.m_strDDY.equals(other.getM_strDDY()))) &&
  971 + ((this.m_strLP==null && other.getM_strLP()==null) ||
  972 + (this.m_strLP!=null &&
  973 + this.m_strLP.equals(other.getM_strLP()))) &&
  974 + ((this.m_strYYZT==null && other.getM_strYYZT()==null) ||
  975 + (this.m_strYYZT!=null &&
  976 + this.m_strYYZT.equals(other.getM_strYYZT()))) &&
  977 + ((this.m_strJSY==null && other.getM_strJSY()==null) ||
  978 + (this.m_strJSY!=null &&
  979 + this.m_strJSY.equals(other.getM_strJSY()))) &&
  980 + ((this.m_strJSYKQ==null && other.getM_strJSYKQ()==null) ||
  981 + (this.m_strJSYKQ!=null &&
  982 + this.m_strJSYKQ.equals(other.getM_strJSYKQ()))) &&
  983 + ((this.m_strSPY==null && other.getM_strSPY()==null) ||
  984 + (this.m_strSPY!=null &&
  985 + this.m_strSPY.equals(other.getM_strSPY()))) &&
  986 + ((this.m_strSPYKQ==null && other.getM_strSPYKQ()==null) ||
  987 + (this.m_strSPYKQ!=null &&
  988 + this.m_strSPYKQ.equals(other.getM_strSPYKQ()))) &&
  989 + this.m_dblJHLC == other.getM_dblJHLC() &&
  990 + this.m_dblYYLC == other.getM_dblYYLC() &&
  991 + this.m_dblKSLC == other.getM_dblKSLC() &&
  992 + this.m_dblCJLC == other.getM_dblCJLC() &&
  993 + this.m_dblZJLC == other.getM_dblZJLC() &&
  994 + this.m_dblSJJHLC == other.getM_dblSJJHLC() &&
  995 + this.m_dblZLC == other.getM_dblZLC() &&
  996 + this.m_intJHBC == other.getM_intJHBC() &&
  997 + this.m_intSJBC == other.getM_intSJBC() &&
  998 + this.m_intCJBC == other.getM_intCJBC() &&
  999 + this.m_intZJBC == other.getM_intZJBC() &&
  1000 + this.m_intSJJHBC == other.getM_intSJJHBC() &&
  1001 + ((this.m_strCJYY==null && other.getM_strCJYY()==null) ||
  1002 + (this.m_strCJYY!=null &&
  1003 + this.m_strCJYY.equals(other.getM_strCJYY()))) &&
  1004 + ((this.m_strBZ==null && other.getM_strBZ()==null) ||
  1005 + (this.m_strBZ!=null &&
  1006 + this.m_strBZ.equals(other.getM_strBZ()))) &&
  1007 + this.m_dblLBGS == other.getM_dblLBGS() &&
  1008 + this.m_dblLBLC == other.getM_dblLBLC() &&
  1009 + ((this.m_strLBYY==null && other.getM_strLBYY()==null) ||
  1010 + (this.m_strLBYY!=null &&
  1011 + this.m_strLBYY.equals(other.getM_strLBYY())));
  1012 + __equalsCalc = null;
  1013 + return _equals;
  1014 + }
  1015 +
  1016 + private boolean __hashCodeCalc = false;
  1017 + public synchronized int hashCode() {
  1018 + if (__hashCodeCalc) {
  1019 + return 0;
  1020 + }
  1021 + __hashCodeCalc = true;
  1022 + int _hashCode = 1;
  1023 + _hashCode += new Double(getM_dblJZL1()).hashCode();
  1024 + _hashCode += new Double(getM_dblJZL2()).hashCode();
  1025 + if (getM_strYHLX1() != null) {
  1026 + _hashCode += getM_strYHLX1().hashCode();
  1027 + }
  1028 + if (getM_strYHLX2() != null) {
  1029 + _hashCode += getM_strYHLX2().hashCode();
  1030 + }
  1031 + if (getM_strJYD1() != null) {
  1032 + _hashCode += getM_strJYD1().hashCode();
  1033 + }
  1034 + if (getM_strJYD2() != null) {
  1035 + _hashCode += getM_strJYD2().hashCode();
  1036 + }
  1037 + if (getM_strJYG1() != null) {
  1038 + _hashCode += getM_strJYG1().hashCode();
  1039 + }
  1040 + if (getM_strJYG2() != null) {
  1041 + _hashCode += getM_strJYG2().hashCode();
  1042 + }
  1043 + _hashCode += new Double(getM_dblCCCY()).hashCode();
  1044 + _hashCode += new Double(getM_dblYH()).hashCode();
  1045 + _hashCode += new Double(getM_dblJCCY()).hashCode();
  1046 + _hashCode += new Double(getM_dblJCLC()).hashCode();
  1047 + _hashCode += new Double(getM_dblCCLC()).hashCode();
  1048 + _hashCode += new Double(getM_dblNS()).hashCode();
  1049 + if (getM_strDDY() != null) {
  1050 + _hashCode += getM_strDDY().hashCode();
  1051 + }
  1052 + if (getM_strLP() != null) {
  1053 + _hashCode += getM_strLP().hashCode();
  1054 + }
  1055 + if (getM_strYYZT() != null) {
  1056 + _hashCode += getM_strYYZT().hashCode();
  1057 + }
  1058 + if (getM_strJSY() != null) {
  1059 + _hashCode += getM_strJSY().hashCode();
  1060 + }
  1061 + if (getM_strJSYKQ() != null) {
  1062 + _hashCode += getM_strJSYKQ().hashCode();
  1063 + }
  1064 + if (getM_strSPY() != null) {
  1065 + _hashCode += getM_strSPY().hashCode();
  1066 + }
  1067 + if (getM_strSPYKQ() != null) {
  1068 + _hashCode += getM_strSPYKQ().hashCode();
  1069 + }
  1070 + _hashCode += new Double(getM_dblJHLC()).hashCode();
  1071 + _hashCode += new Double(getM_dblYYLC()).hashCode();
  1072 + _hashCode += new Double(getM_dblKSLC()).hashCode();
  1073 + _hashCode += new Double(getM_dblCJLC()).hashCode();
  1074 + _hashCode += new Double(getM_dblZJLC()).hashCode();
  1075 + _hashCode += new Double(getM_dblSJJHLC()).hashCode();
  1076 + _hashCode += new Double(getM_dblZLC()).hashCode();
  1077 + _hashCode += getM_intJHBC();
  1078 + _hashCode += getM_intSJBC();
  1079 + _hashCode += getM_intCJBC();
  1080 + _hashCode += getM_intZJBC();
  1081 + _hashCode += getM_intSJJHBC();
  1082 + if (getM_strCJYY() != null) {
  1083 + _hashCode += getM_strCJYY().hashCode();
  1084 + }
  1085 + if (getM_strBZ() != null) {
  1086 + _hashCode += getM_strBZ().hashCode();
  1087 + }
  1088 + _hashCode += new Double(getM_dblLBGS()).hashCode();
  1089 + _hashCode += new Double(getM_dblLBLC()).hashCode();
  1090 + if (getM_strLBYY() != null) {
  1091 + _hashCode += getM_strLBYY().hashCode();
  1092 + }
  1093 + __hashCodeCalc = false;
  1094 + return _hashCode;
  1095 + }
  1096 +
  1097 + // Type metadata
  1098 + private static org.apache.axis.description.TypeDesc typeDesc =
  1099 + new org.apache.axis.description.TypeDesc(ClsSubInfo.class, true);
  1100 +
  1101 + static {
  1102 + typeDesc.setXmlType(new javax.xml.namespace.QName("http://tempuri.org/", "clsSubInfo"));
  1103 + org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc();
  1104 + elemField.setFieldName("m_dblJZL1");
  1105 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_dblJZL1"));
  1106 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
  1107 + elemField.setNillable(false);
  1108 + typeDesc.addFieldDesc(elemField);
  1109 + elemField = new org.apache.axis.description.ElementDesc();
  1110 + elemField.setFieldName("m_dblJZL2");
  1111 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_dblJZL2"));
  1112 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
  1113 + elemField.setNillable(false);
  1114 + typeDesc.addFieldDesc(elemField);
  1115 + elemField = new org.apache.axis.description.ElementDesc();
  1116 + elemField.setFieldName("m_strYHLX1");
  1117 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strYHLX1"));
  1118 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  1119 + elemField.setMinOccurs(0);
  1120 + elemField.setNillable(false);
  1121 + typeDesc.addFieldDesc(elemField);
  1122 + elemField = new org.apache.axis.description.ElementDesc();
  1123 + elemField.setFieldName("m_strYHLX2");
  1124 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strYHLX2"));
  1125 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  1126 + elemField.setMinOccurs(0);
  1127 + elemField.setNillable(false);
  1128 + typeDesc.addFieldDesc(elemField);
  1129 + elemField = new org.apache.axis.description.ElementDesc();
  1130 + elemField.setFieldName("m_strJYD1");
  1131 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strJYD1"));
  1132 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  1133 + elemField.setMinOccurs(0);
  1134 + elemField.setNillable(false);
  1135 + typeDesc.addFieldDesc(elemField);
  1136 + elemField = new org.apache.axis.description.ElementDesc();
  1137 + elemField.setFieldName("m_strJYD2");
  1138 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strJYD2"));
  1139 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  1140 + elemField.setMinOccurs(0);
  1141 + elemField.setNillable(false);
  1142 + typeDesc.addFieldDesc(elemField);
  1143 + elemField = new org.apache.axis.description.ElementDesc();
  1144 + elemField.setFieldName("m_strJYG1");
  1145 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strJYG1"));
  1146 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  1147 + elemField.setMinOccurs(0);
  1148 + elemField.setNillable(false);
  1149 + typeDesc.addFieldDesc(elemField);
  1150 + elemField = new org.apache.axis.description.ElementDesc();
  1151 + elemField.setFieldName("m_strJYG2");
  1152 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strJYG2"));
  1153 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  1154 + elemField.setMinOccurs(0);
  1155 + elemField.setNillable(false);
  1156 + typeDesc.addFieldDesc(elemField);
  1157 + elemField = new org.apache.axis.description.ElementDesc();
  1158 + elemField.setFieldName("m_dblCCCY");
  1159 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_dblCCCY"));
  1160 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
  1161 + elemField.setNillable(false);
  1162 + typeDesc.addFieldDesc(elemField);
  1163 + elemField = new org.apache.axis.description.ElementDesc();
  1164 + elemField.setFieldName("m_dblYH");
  1165 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_dblYH"));
  1166 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
  1167 + elemField.setNillable(false);
  1168 + typeDesc.addFieldDesc(elemField);
  1169 + elemField = new org.apache.axis.description.ElementDesc();
  1170 + elemField.setFieldName("m_dblJCCY");
  1171 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_dblJCCY"));
  1172 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
  1173 + elemField.setNillable(false);
  1174 + typeDesc.addFieldDesc(elemField);
  1175 + elemField = new org.apache.axis.description.ElementDesc();
  1176 + elemField.setFieldName("m_dblJCLC");
  1177 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_dblJCLC"));
  1178 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
  1179 + elemField.setNillable(false);
  1180 + typeDesc.addFieldDesc(elemField);
  1181 + elemField = new org.apache.axis.description.ElementDesc();
  1182 + elemField.setFieldName("m_dblCCLC");
  1183 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_dblCCLC"));
  1184 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
  1185 + elemField.setNillable(false);
  1186 + typeDesc.addFieldDesc(elemField);
  1187 + elemField = new org.apache.axis.description.ElementDesc();
  1188 + elemField.setFieldName("m_dblNS");
  1189 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_dblNS"));
  1190 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
  1191 + elemField.setNillable(false);
  1192 + typeDesc.addFieldDesc(elemField);
  1193 + elemField = new org.apache.axis.description.ElementDesc();
  1194 + elemField.setFieldName("m_strDDY");
  1195 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strDDY"));
  1196 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  1197 + elemField.setMinOccurs(0);
  1198 + elemField.setNillable(false);
  1199 + typeDesc.addFieldDesc(elemField);
  1200 + elemField = new org.apache.axis.description.ElementDesc();
  1201 + elemField.setFieldName("m_strLP");
  1202 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strLP"));
  1203 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  1204 + elemField.setMinOccurs(0);
  1205 + elemField.setNillable(false);
  1206 + typeDesc.addFieldDesc(elemField);
  1207 + elemField = new org.apache.axis.description.ElementDesc();
  1208 + elemField.setFieldName("m_strYYZT");
  1209 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strYYZT"));
  1210 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  1211 + elemField.setMinOccurs(0);
  1212 + elemField.setNillable(false);
  1213 + typeDesc.addFieldDesc(elemField);
  1214 + elemField = new org.apache.axis.description.ElementDesc();
  1215 + elemField.setFieldName("m_strJSY");
  1216 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strJSY"));
  1217 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  1218 + elemField.setMinOccurs(0);
  1219 + elemField.setNillable(false);
  1220 + typeDesc.addFieldDesc(elemField);
  1221 + elemField = new org.apache.axis.description.ElementDesc();
  1222 + elemField.setFieldName("m_strJSYKQ");
  1223 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strJSYKQ"));
  1224 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  1225 + elemField.setMinOccurs(0);
  1226 + elemField.setNillable(false);
  1227 + typeDesc.addFieldDesc(elemField);
  1228 + elemField = new org.apache.axis.description.ElementDesc();
  1229 + elemField.setFieldName("m_strSPY");
  1230 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strSPY"));
  1231 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  1232 + elemField.setMinOccurs(0);
  1233 + elemField.setNillable(false);
  1234 + typeDesc.addFieldDesc(elemField);
  1235 + elemField = new org.apache.axis.description.ElementDesc();
  1236 + elemField.setFieldName("m_strSPYKQ");
  1237 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strSPYKQ"));
  1238 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  1239 + elemField.setMinOccurs(0);
  1240 + elemField.setNillable(false);
  1241 + typeDesc.addFieldDesc(elemField);
  1242 + elemField = new org.apache.axis.description.ElementDesc();
  1243 + elemField.setFieldName("m_dblJHLC");
  1244 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_dblJHLC"));
  1245 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
  1246 + elemField.setNillable(false);
  1247 + typeDesc.addFieldDesc(elemField);
  1248 + elemField = new org.apache.axis.description.ElementDesc();
  1249 + elemField.setFieldName("m_dblYYLC");
  1250 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_dblYYLC"));
  1251 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
  1252 + elemField.setNillable(false);
  1253 + typeDesc.addFieldDesc(elemField);
  1254 + elemField = new org.apache.axis.description.ElementDesc();
  1255 + elemField.setFieldName("m_dblKSLC");
  1256 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_dblKSLC"));
  1257 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
  1258 + elemField.setNillable(false);
  1259 + typeDesc.addFieldDesc(elemField);
  1260 + elemField = new org.apache.axis.description.ElementDesc();
  1261 + elemField.setFieldName("m_dblCJLC");
  1262 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_dblCJLC"));
  1263 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
  1264 + elemField.setNillable(false);
  1265 + typeDesc.addFieldDesc(elemField);
  1266 + elemField = new org.apache.axis.description.ElementDesc();
  1267 + elemField.setFieldName("m_dblZJLC");
  1268 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_dblZJLC"));
  1269 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
  1270 + elemField.setNillable(false);
  1271 + typeDesc.addFieldDesc(elemField);
  1272 + elemField = new org.apache.axis.description.ElementDesc();
  1273 + elemField.setFieldName("m_dblSJJHLC");
  1274 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_dblSJJHLC"));
  1275 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
  1276 + elemField.setNillable(false);
  1277 + typeDesc.addFieldDesc(elemField);
  1278 + elemField = new org.apache.axis.description.ElementDesc();
  1279 + elemField.setFieldName("m_dblZLC");
  1280 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_dblZLC"));
  1281 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
  1282 + elemField.setNillable(false);
  1283 + typeDesc.addFieldDesc(elemField);
  1284 + elemField = new org.apache.axis.description.ElementDesc();
  1285 + elemField.setFieldName("m_intJHBC");
  1286 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_intJHBC"));
  1287 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
  1288 + elemField.setNillable(false);
  1289 + typeDesc.addFieldDesc(elemField);
  1290 + elemField = new org.apache.axis.description.ElementDesc();
  1291 + elemField.setFieldName("m_intSJBC");
  1292 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_intSJBC"));
  1293 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
  1294 + elemField.setNillable(false);
  1295 + typeDesc.addFieldDesc(elemField);
  1296 + elemField = new org.apache.axis.description.ElementDesc();
  1297 + elemField.setFieldName("m_intCJBC");
  1298 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_intCJBC"));
  1299 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
  1300 + elemField.setNillable(false);
  1301 + typeDesc.addFieldDesc(elemField);
  1302 + elemField = new org.apache.axis.description.ElementDesc();
  1303 + elemField.setFieldName("m_intZJBC");
  1304 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_intZJBC"));
  1305 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
  1306 + elemField.setNillable(false);
  1307 + typeDesc.addFieldDesc(elemField);
  1308 + elemField = new org.apache.axis.description.ElementDesc();
  1309 + elemField.setFieldName("m_intSJJHBC");
  1310 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_intSJJHBC"));
  1311 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "int"));
  1312 + elemField.setNillable(false);
  1313 + typeDesc.addFieldDesc(elemField);
  1314 + elemField = new org.apache.axis.description.ElementDesc();
  1315 + elemField.setFieldName("m_strCJYY");
  1316 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strCJYY"));
  1317 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  1318 + elemField.setMinOccurs(0);
  1319 + elemField.setNillable(false);
  1320 + typeDesc.addFieldDesc(elemField);
  1321 + elemField = new org.apache.axis.description.ElementDesc();
  1322 + elemField.setFieldName("m_strBZ");
  1323 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strBZ"));
  1324 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  1325 + elemField.setMinOccurs(0);
  1326 + elemField.setNillable(false);
  1327 + typeDesc.addFieldDesc(elemField);
  1328 + elemField = new org.apache.axis.description.ElementDesc();
  1329 + elemField.setFieldName("m_dblLBGS");
  1330 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_dblLBGS"));
  1331 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
  1332 + elemField.setNillable(false);
  1333 + typeDesc.addFieldDesc(elemField);
  1334 + elemField = new org.apache.axis.description.ElementDesc();
  1335 + elemField.setFieldName("m_dblLBLC");
  1336 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_dblLBLC"));
  1337 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "double"));
  1338 + elemField.setNillable(false);
  1339 + typeDesc.addFieldDesc(elemField);
  1340 + elemField = new org.apache.axis.description.ElementDesc();
  1341 + elemField.setFieldName("m_strLBYY");
  1342 + elemField.setXmlName(new javax.xml.namespace.QName("http://tempuri.org/", "m_strLBYY"));
  1343 + elemField.setXmlType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  1344 + elemField.setMinOccurs(0);
  1345 + elemField.setNillable(false);
  1346 + typeDesc.addFieldDesc(elemField);
  1347 + }
  1348 +
  1349 + /**
  1350 + * Return type metadata object
  1351 + */
  1352 + public static org.apache.axis.description.TypeDesc getTypeDesc() {
  1353 + return typeDesc;
  1354 + }
  1355 +
  1356 + /**
  1357 + * Get Custom Serializer
  1358 + */
  1359 + public static org.apache.axis.encoding.Serializer getSerializer(
  1360 + java.lang.String mechType,
  1361 + java.lang.Class _javaType,
  1362 + javax.xml.namespace.QName _xmlType) {
  1363 + return
  1364 + new org.apache.axis.encoding.ser.BeanSerializer(
  1365 + _javaType, _xmlType, typeDesc);
  1366 + }
  1367 +
  1368 + /**
  1369 + * Get Custom Deserializer
  1370 + */
  1371 + public static org.apache.axis.encoding.Deserializer getDeserializer(
  1372 + java.lang.String mechType,
  1373 + java.lang.Class _javaType,
  1374 + javax.xml.namespace.QName _xmlType) {
  1375 + return
  1376 + new org.apache.axis.encoding.ser.BeanDeserializer(
  1377 + _javaType, _xmlType, typeDesc);
  1378 + }
  1379 +
  1380 +}
src/main/java/com/bsth/old_sys_wsclient/nh_ld/LD_Service.java 0 → 100644
  1 +package com.bsth.old_sys_wsclient.nh_ld;
  2 +
  3 +/**
  4 + * LD_Service.java
  5 + *
  6 + * This file was auto-generated from WSDL
  7 + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
  8 + */
  9 +
  10 +
  11 +public interface LD_Service extends javax.xml.rpc.Service {
  12 + public java.lang.String getLD_ServiceSoapAddress();
  13 +
  14 + public LD_ServiceSoap getLD_ServiceSoap() throws javax.xml.rpc.ServiceException;
  15 +
  16 + public LD_ServiceSoap getLD_ServiceSoap(java.net.URL portAddress) throws javax.xml.rpc.ServiceException;
  17 +}
src/main/java/com/bsth/old_sys_wsclient/nh_ld/LD_ServiceLocator.java 0 → 100644
  1 +package com.bsth.old_sys_wsclient.nh_ld;
  2 +
  3 +/**
  4 + * LD_ServiceLocator.java
  5 + *
  6 + * This file was auto-generated from WSDL
  7 + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
  8 + */
  9 +
  10 +
  11 +public class LD_ServiceLocator extends org.apache.axis.client.Service implements LD_Service {
  12 +
  13 + public LD_ServiceLocator() {
  14 + }
  15 +
  16 +
  17 + public LD_ServiceLocator(org.apache.axis.EngineConfiguration config) {
  18 + super(config);
  19 + }
  20 +
  21 + public LD_ServiceLocator(java.lang.String wsdlLoc, javax.xml.namespace.QName sName) throws javax.xml.rpc.ServiceException {
  22 + super(wsdlLoc, sName);
  23 + }
  24 +
  25 + // Use to get a proxy class for LD_ServiceSoap
  26 + private java.lang.String LD_ServiceSoap_address = "http://114.80.178.12:8011/LD_Service.asmx";
  27 +
  28 + public java.lang.String getLD_ServiceSoapAddress() {
  29 + return LD_ServiceSoap_address;
  30 + }
  31 +
  32 + // The WSDD service name defaults to the port name.
  33 + private java.lang.String LD_ServiceSoapWSDDServiceName = "LD_ServiceSoap";
  34 +
  35 + public java.lang.String getLD_ServiceSoapWSDDServiceName() {
  36 + return LD_ServiceSoapWSDDServiceName;
  37 + }
  38 +
  39 + public void setLD_ServiceSoapWSDDServiceName(java.lang.String name) {
  40 + LD_ServiceSoapWSDDServiceName = name;
  41 + }
  42 +
  43 + public LD_ServiceSoap getLD_ServiceSoap() throws javax.xml.rpc.ServiceException {
  44 + java.net.URL endpoint;
  45 + try {
  46 + endpoint = new java.net.URL(LD_ServiceSoap_address);
  47 + }
  48 + catch (java.net.MalformedURLException e) {
  49 + throw new javax.xml.rpc.ServiceException(e);
  50 + }
  51 + return getLD_ServiceSoap(endpoint);
  52 + }
  53 +
  54 + public LD_ServiceSoap getLD_ServiceSoap(java.net.URL portAddress) throws javax.xml.rpc.ServiceException {
  55 + try {
  56 + LD_ServiceSoapStub _stub = new LD_ServiceSoapStub(portAddress, this);
  57 + _stub.setPortName(getLD_ServiceSoapWSDDServiceName());
  58 + return _stub;
  59 + }
  60 + catch (org.apache.axis.AxisFault e) {
  61 + return null;
  62 + }
  63 + }
  64 +
  65 + public void setLD_ServiceSoapEndpointAddress(java.lang.String address) {
  66 + LD_ServiceSoap_address = address;
  67 + }
  68 +
  69 + /**
  70 + * For the given interface, get the stub implementation.
  71 + * If this service has no port for the given interface,
  72 + * then ServiceException is thrown.
  73 + */
  74 + public java.rmi.Remote getPort(Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {
  75 + try {
  76 + if (LD_ServiceSoap.class.isAssignableFrom(serviceEndpointInterface)) {
  77 + LD_ServiceSoapStub _stub = new LD_ServiceSoapStub(new java.net.URL(LD_ServiceSoap_address), this);
  78 + _stub.setPortName(getLD_ServiceSoapWSDDServiceName());
  79 + return _stub;
  80 + }
  81 + }
  82 + catch (java.lang.Throwable t) {
  83 + throw new javax.xml.rpc.ServiceException(t);
  84 + }
  85 + throw new javax.xml.rpc.ServiceException("There is no stub implementation for the interface: " + (serviceEndpointInterface == null ? "null" : serviceEndpointInterface.getName()));
  86 + }
  87 +
  88 + /**
  89 + * For the given interface, get the stub implementation.
  90 + * If this service has no port for the given interface,
  91 + * then ServiceException is thrown.
  92 + */
  93 + public java.rmi.Remote getPort(javax.xml.namespace.QName portName, Class serviceEndpointInterface) throws javax.xml.rpc.ServiceException {
  94 + if (portName == null) {
  95 + return getPort(serviceEndpointInterface);
  96 + }
  97 + java.lang.String inputPortName = portName.getLocalPart();
  98 + if ("LD_ServiceSoap".equals(inputPortName)) {
  99 + return getLD_ServiceSoap();
  100 + }
  101 + else {
  102 + java.rmi.Remote _stub = getPort(serviceEndpointInterface);
  103 + ((org.apache.axis.client.Stub) _stub).setPortName(portName);
  104 + return _stub;
  105 + }
  106 + }
  107 +
  108 + public javax.xml.namespace.QName getServiceName() {
  109 + return new javax.xml.namespace.QName("http://tempuri.org/", "LD_Service");
  110 + }
  111 +
  112 + private java.util.HashSet ports = null;
  113 +
  114 + public java.util.Iterator getPorts() {
  115 + if (ports == null) {
  116 + ports = new java.util.HashSet();
  117 + ports.add(new javax.xml.namespace.QName("http://tempuri.org/", "LD_ServiceSoap"));
  118 + }
  119 + return ports.iterator();
  120 + }
  121 +
  122 + /**
  123 + * Set the endpoint address for the specified port name.
  124 + */
  125 + public void setEndpointAddress(java.lang.String portName, java.lang.String address) throws javax.xml.rpc.ServiceException {
  126 +
  127 +if ("LD_ServiceSoap".equals(portName)) {
  128 + setLD_ServiceSoapEndpointAddress(address);
  129 + }
  130 + else
  131 +{ // Unknown Port Name
  132 + throw new javax.xml.rpc.ServiceException(" Cannot set Endpoint Address for Unknown Port" + portName);
  133 + }
  134 + }
  135 +
  136 + /**
  137 + * Set the endpoint address for the specified port name.
  138 + */
  139 + public void setEndpointAddress(javax.xml.namespace.QName portName, java.lang.String address) throws javax.xml.rpc.ServiceException {
  140 + setEndpointAddress(portName.getLocalPart(), address);
  141 + }
  142 +
  143 +}
src/main/java/com/bsth/old_sys_wsclient/nh_ld/LD_ServiceSoap.java 0 → 100644
  1 +package com.bsth.old_sys_wsclient.nh_ld;
  2 +
  3 +import com.bsth.old_sys_wsclient.nh_ld.holders.ArrayOfClsLDInfoHolder;
  4 +
  5 +/**
  6 + * LD_ServiceSoap.java
  7 + *
  8 + * This file was auto-generated from WSDL
  9 + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
  10 + */
  11 +
  12 +
  13 +public interface LD_ServiceSoap extends java.rmi.Remote {
  14 + public java.lang.String connLd() throws java.rmi.RemoteException;
  15 + public java.lang.String NH_LDInterface(java.lang.String _IPAddress, java.lang.String _CheckBM, java.lang.String _UserName, java.lang.String _Password, java.util.Calendar _Datetime, ArrayOfClsLDInfoHolder _clsLDinfos) throws java.rmi.RemoteException;
  16 +}
src/main/java/com/bsth/old_sys_wsclient/nh_ld/LD_ServiceSoapProxy.java 0 → 100644
  1 +package com.bsth.old_sys_wsclient.nh_ld;
  2 +
  3 +import com.bsth.old_sys_wsclient.nh_ld.holders.ArrayOfClsLDInfoHolder;
  4 +
  5 +public class LD_ServiceSoapProxy implements LD_ServiceSoap {
  6 + private String _endpoint = null;
  7 + private LD_ServiceSoap lD_ServiceSoap = null;
  8 +
  9 + public LD_ServiceSoapProxy() {
  10 + _initLD_ServiceSoapProxy();
  11 + }
  12 +
  13 + public LD_ServiceSoapProxy(String endpoint) {
  14 + _endpoint = endpoint;
  15 + _initLD_ServiceSoapProxy();
  16 + }
  17 +
  18 + private void _initLD_ServiceSoapProxy() {
  19 + try {
  20 + lD_ServiceSoap = (new LD_ServiceLocator()).getLD_ServiceSoap();
  21 + if (lD_ServiceSoap != null) {
  22 + if (_endpoint != null)
  23 + ((javax.xml.rpc.Stub)lD_ServiceSoap)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
  24 + else
  25 + _endpoint = (String)((javax.xml.rpc.Stub)lD_ServiceSoap)._getProperty("javax.xml.rpc.service.endpoint.address");
  26 + }
  27 +
  28 + }
  29 + catch (javax.xml.rpc.ServiceException serviceException) {}
  30 + }
  31 +
  32 + public String getEndpoint() {
  33 + return _endpoint;
  34 + }
  35 +
  36 + public void setEndpoint(String endpoint) {
  37 + _endpoint = endpoint;
  38 + if (lD_ServiceSoap != null)
  39 + ((javax.xml.rpc.Stub)lD_ServiceSoap)._setProperty("javax.xml.rpc.service.endpoint.address", _endpoint);
  40 +
  41 + }
  42 +
  43 + public LD_ServiceSoap getLD_ServiceSoap() {
  44 + if (lD_ServiceSoap == null)
  45 + _initLD_ServiceSoapProxy();
  46 + return lD_ServiceSoap;
  47 + }
  48 +
  49 + public java.lang.String connLd() throws java.rmi.RemoteException{
  50 + if (lD_ServiceSoap == null)
  51 + _initLD_ServiceSoapProxy();
  52 + return lD_ServiceSoap.connLd();
  53 + }
  54 +
  55 + public java.lang.String NH_LDInterface(java.lang.String _IPAddress, java.lang.String _CheckBM, java.lang.String _UserName, java.lang.String _Password, java.util.Calendar _Datetime, ArrayOfClsLDInfoHolder _clsLDinfos) throws java.rmi.RemoteException{
  56 + if (lD_ServiceSoap == null)
  57 + _initLD_ServiceSoapProxy();
  58 + return lD_ServiceSoap.NH_LDInterface(_IPAddress, _CheckBM, _UserName, _Password, _Datetime, _clsLDinfos);
  59 + }
  60 +
  61 +
  62 +}
0 \ No newline at end of file 63 \ No newline at end of file
src/main/java/com/bsth/old_sys_wsclient/nh_ld/LD_ServiceSoapStub.java 0 → 100644
  1 +package com.bsth.old_sys_wsclient.nh_ld;
  2 +
  3 +import com.bsth.old_sys_wsclient.nh_ld.holders.ArrayOfClsLDInfoHolder;
  4 +
  5 +/**
  6 + * LD_ServiceSoapStub.java
  7 + *
  8 + * This file was auto-generated from WSDL
  9 + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
  10 + */
  11 +
  12 +
  13 +public class LD_ServiceSoapStub extends org.apache.axis.client.Stub implements LD_ServiceSoap {
  14 + private java.util.Vector cachedSerClasses = new java.util.Vector();
  15 + private java.util.Vector cachedSerQNames = new java.util.Vector();
  16 + private java.util.Vector cachedSerFactories = new java.util.Vector();
  17 + private java.util.Vector cachedDeserFactories = new java.util.Vector();
  18 +
  19 + static org.apache.axis.description.OperationDesc [] _operations;
  20 +
  21 + static {
  22 + _operations = new org.apache.axis.description.OperationDesc[2];
  23 + _initOperationDesc1();
  24 + }
  25 +
  26 + private static void _initOperationDesc1(){
  27 + org.apache.axis.description.OperationDesc oper;
  28 + org.apache.axis.description.ParameterDesc param;
  29 + oper = new org.apache.axis.description.OperationDesc();
  30 + oper.setName("connLd");
  31 + oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  32 + oper.setReturnClass(java.lang.String.class);
  33 + oper.setReturnQName(new javax.xml.namespace.QName("http://tempuri.org/", "connLdResult"));
  34 + oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
  35 + oper.setUse(org.apache.axis.constants.Use.LITERAL);
  36 + _operations[0] = oper;
  37 +
  38 + oper = new org.apache.axis.description.OperationDesc();
  39 + oper.setName("NH_LDInterface");
  40 + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://tempuri.org/", "_IPAddress"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false);
  41 + param.setOmittable(true);
  42 + oper.addParameter(param);
  43 + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://tempuri.org/", "_CheckBM"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false);
  44 + param.setOmittable(true);
  45 + oper.addParameter(param);
  46 + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://tempuri.org/", "_UserName"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false);
  47 + param.setOmittable(true);
  48 + oper.addParameter(param);
  49 + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://tempuri.org/", "_Password"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"), java.lang.String.class, false, false);
  50 + param.setOmittable(true);
  51 + oper.addParameter(param);
  52 + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://tempuri.org/", "_Datetime"), org.apache.axis.description.ParameterDesc.IN, new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "dateTime"), java.util.Calendar.class, false, false);
  53 + oper.addParameter(param);
  54 + param = new org.apache.axis.description.ParameterDesc(new javax.xml.namespace.QName("http://tempuri.org/", "_clsLDinfos"), org.apache.axis.description.ParameterDesc.INOUT, new javax.xml.namespace.QName("http://tempuri.org/", "ArrayOfClsLDInfo"), ClsLDInfo[].class, false, false);
  55 + param.setItemQName(new javax.xml.namespace.QName("http://tempuri.org/", "clsLDInfo"));
  56 + param.setOmittable(true);
  57 + oper.addParameter(param);
  58 + oper.setReturnType(new javax.xml.namespace.QName("http://www.w3.org/2001/XMLSchema", "string"));
  59 + oper.setReturnClass(java.lang.String.class);
  60 + oper.setReturnQName(new javax.xml.namespace.QName("http://tempuri.org/", "NH_LDInterfaceResult"));
  61 + oper.setStyle(org.apache.axis.constants.Style.WRAPPED);
  62 + oper.setUse(org.apache.axis.constants.Use.LITERAL);
  63 + _operations[1] = oper;
  64 +
  65 + }
  66 +
  67 + public LD_ServiceSoapStub() throws org.apache.axis.AxisFault {
  68 + this(null);
  69 + }
  70 +
  71 + public LD_ServiceSoapStub(java.net.URL endpointURL, javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {
  72 + this(service);
  73 + super.cachedEndpoint = endpointURL;
  74 + }
  75 +
  76 + public LD_ServiceSoapStub(javax.xml.rpc.Service service) throws org.apache.axis.AxisFault {
  77 + if (service == null) {
  78 + super.service = new org.apache.axis.client.Service();
  79 + } else {
  80 + super.service = service;
  81 + }
  82 + ((org.apache.axis.client.Service)super.service).setTypeMappingVersion("1.2");
  83 + java.lang.Class cls;
  84 + javax.xml.namespace.QName qName;
  85 + javax.xml.namespace.QName qName2;
  86 + java.lang.Class beansf = org.apache.axis.encoding.ser.BeanSerializerFactory.class;
  87 + java.lang.Class beandf = org.apache.axis.encoding.ser.BeanDeserializerFactory.class;
  88 + java.lang.Class enumsf = org.apache.axis.encoding.ser.EnumSerializerFactory.class;
  89 + java.lang.Class enumdf = org.apache.axis.encoding.ser.EnumDeserializerFactory.class;
  90 + java.lang.Class arraysf = org.apache.axis.encoding.ser.ArraySerializerFactory.class;
  91 + java.lang.Class arraydf = org.apache.axis.encoding.ser.ArrayDeserializerFactory.class;
  92 + java.lang.Class simplesf = org.apache.axis.encoding.ser.SimpleSerializerFactory.class;
  93 + java.lang.Class simpledf = org.apache.axis.encoding.ser.SimpleDeserializerFactory.class;
  94 + java.lang.Class simplelistsf = org.apache.axis.encoding.ser.SimpleListSerializerFactory.class;
  95 + java.lang.Class simplelistdf = org.apache.axis.encoding.ser.SimpleListDeserializerFactory.class;
  96 + qName = new javax.xml.namespace.QName("http://tempuri.org/", "ArrayOfClsLDInfo");
  97 + cachedSerQNames.add(qName);
  98 + cls = ClsLDInfo[].class;
  99 + cachedSerClasses.add(cls);
  100 + qName = new javax.xml.namespace.QName("http://tempuri.org/", "clsLDInfo");
  101 + qName2 = new javax.xml.namespace.QName("http://tempuri.org/", "clsLDInfo");
  102 + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2));
  103 + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory());
  104 +
  105 + qName = new javax.xml.namespace.QName("http://tempuri.org/", "ArrayOfClsSubInfo");
  106 + cachedSerQNames.add(qName);
  107 + cls = ClsSubInfo[].class;
  108 + cachedSerClasses.add(cls);
  109 + qName = new javax.xml.namespace.QName("http://tempuri.org/", "clsSubInfo");
  110 + qName2 = new javax.xml.namespace.QName("http://tempuri.org/", "clsSubInfo");
  111 + cachedSerFactories.add(new org.apache.axis.encoding.ser.ArraySerializerFactory(qName, qName2));
  112 + cachedDeserFactories.add(new org.apache.axis.encoding.ser.ArrayDeserializerFactory());
  113 +
  114 + qName = new javax.xml.namespace.QName("http://tempuri.org/", "clsLDInfo");
  115 + cachedSerQNames.add(qName);
  116 + cls = ClsLDInfo.class;
  117 + cachedSerClasses.add(cls);
  118 + cachedSerFactories.add(beansf);
  119 + cachedDeserFactories.add(beandf);
  120 +
  121 + qName = new javax.xml.namespace.QName("http://tempuri.org/", "clsSubInfo");
  122 + cachedSerQNames.add(qName);
  123 + cls = ClsSubInfo.class;
  124 + cachedSerClasses.add(cls);
  125 + cachedSerFactories.add(beansf);
  126 + cachedDeserFactories.add(beandf);
  127 +
  128 + }
  129 +
  130 + protected org.apache.axis.client.Call createCall() throws java.rmi.RemoteException {
  131 + try {
  132 + org.apache.axis.client.Call _call = super._createCall();
  133 + if (super.maintainSessionSet) {
  134 + _call.setMaintainSession(super.maintainSession);
  135 + }
  136 + if (super.cachedUsername != null) {
  137 + _call.setUsername(super.cachedUsername);
  138 + }
  139 + if (super.cachedPassword != null) {
  140 + _call.setPassword(super.cachedPassword);
  141 + }
  142 + if (super.cachedEndpoint != null) {
  143 + _call.setTargetEndpointAddress(super.cachedEndpoint);
  144 + }
  145 + if (super.cachedTimeout != null) {
  146 + _call.setTimeout(super.cachedTimeout);
  147 + }
  148 + if (super.cachedPortName != null) {
  149 + _call.setPortName(super.cachedPortName);
  150 + }
  151 + java.util.Enumeration keys = super.cachedProperties.keys();
  152 + while (keys.hasMoreElements()) {
  153 + java.lang.String key = (java.lang.String) keys.nextElement();
  154 + _call.setProperty(key, super.cachedProperties.get(key));
  155 + }
  156 + // All the type mapping information is registered
  157 + // when the first call is made.
  158 + // The type mapping information is actually registered in
  159 + // the TypeMappingRegistry of the service, which
  160 + // is the reason why registration is only needed for the first call.
  161 + synchronized (this) {
  162 + if (firstCall()) {
  163 + // must set encoding style before registering serializers
  164 + _call.setEncodingStyle(null);
  165 + for (int i = 0; i < cachedSerFactories.size(); ++i) {
  166 + java.lang.Class cls = (java.lang.Class) cachedSerClasses.get(i);
  167 + javax.xml.namespace.QName qName =
  168 + (javax.xml.namespace.QName) cachedSerQNames.get(i);
  169 + java.lang.Object x = cachedSerFactories.get(i);
  170 + if (x instanceof Class) {
  171 + java.lang.Class sf = (java.lang.Class)
  172 + cachedSerFactories.get(i);
  173 + java.lang.Class df = (java.lang.Class)
  174 + cachedDeserFactories.get(i);
  175 + _call.registerTypeMapping(cls, qName, sf, df, false);
  176 + }
  177 + else if (x instanceof javax.xml.rpc.encoding.SerializerFactory) {
  178 + org.apache.axis.encoding.SerializerFactory sf = (org.apache.axis.encoding.SerializerFactory)
  179 + cachedSerFactories.get(i);
  180 + org.apache.axis.encoding.DeserializerFactory df = (org.apache.axis.encoding.DeserializerFactory)
  181 + cachedDeserFactories.get(i);
  182 + _call.registerTypeMapping(cls, qName, sf, df, false);
  183 + }
  184 + }
  185 + }
  186 + }
  187 + return _call;
  188 + }
  189 + catch (java.lang.Throwable _t) {
  190 + throw new org.apache.axis.AxisFault("Failure trying to get the Call object", _t);
  191 + }
  192 + }
  193 +
  194 + public java.lang.String connLd() throws java.rmi.RemoteException {
  195 + if (super.cachedEndpoint == null) {
  196 + throw new org.apache.axis.NoEndPointException();
  197 + }
  198 + org.apache.axis.client.Call _call = createCall();
  199 + _call.setOperation(_operations[0]);
  200 + _call.setUseSOAPAction(true);
  201 + _call.setSOAPActionURI("http://tempuri.org/connLd");
  202 + _call.setEncodingStyle(null);
  203 + _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
  204 + _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
  205 + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
  206 + _call.setOperationName(new javax.xml.namespace.QName("http://tempuri.org/", "connLd"));
  207 +
  208 + setRequestHeaders(_call);
  209 + setAttachments(_call);
  210 + try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {});
  211 +
  212 + if (_resp instanceof java.rmi.RemoteException) {
  213 + throw (java.rmi.RemoteException)_resp;
  214 + }
  215 + else {
  216 + extractAttachments(_call);
  217 + try {
  218 + return (java.lang.String) _resp;
  219 + } catch (java.lang.Exception _exception) {
  220 + return (java.lang.String) org.apache.axis.utils.JavaUtils.convert(_resp, java.lang.String.class);
  221 + }
  222 + }
  223 + } catch (org.apache.axis.AxisFault axisFaultException) {
  224 + throw axisFaultException;
  225 +}
  226 + }
  227 +
  228 + public java.lang.String NH_LDInterface(java.lang.String _IPAddress, java.lang.String _CheckBM, java.lang.String _UserName, java.lang.String _Password, java.util.Calendar _Datetime, ArrayOfClsLDInfoHolder _clsLDinfos) throws java.rmi.RemoteException {
  229 + if (super.cachedEndpoint == null) {
  230 + throw new org.apache.axis.NoEndPointException();
  231 + }
  232 + org.apache.axis.client.Call _call = createCall();
  233 + _call.setOperation(_operations[1]);
  234 + _call.setUseSOAPAction(true);
  235 + _call.setSOAPActionURI("http://tempuri.org/NH_LDInterface");
  236 + _call.setEncodingStyle(null);
  237 + _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR, Boolean.FALSE);
  238 + _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS, Boolean.FALSE);
  239 + _call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
  240 + _call.setOperationName(new javax.xml.namespace.QName("http://tempuri.org/", "NH_LDInterface"));
  241 +
  242 + setRequestHeaders(_call);
  243 + setAttachments(_call);
  244 + try { java.lang.Object _resp = _call.invoke(new java.lang.Object[] {_IPAddress, _CheckBM, _UserName, _Password, _Datetime, _clsLDinfos.value});
  245 +
  246 + if (_resp instanceof java.rmi.RemoteException) {
  247 + throw (java.rmi.RemoteException)_resp;
  248 + }
  249 + else {
  250 + extractAttachments(_call);
  251 + java.util.Map _output;
  252 + _output = _call.getOutputParams();
  253 + try {
  254 + _clsLDinfos.value = (ClsLDInfo[]) _output.get(new javax.xml.namespace.QName("http://tempuri.org/", "_clsLDinfos"));
  255 + } catch (java.lang.Exception _exception) {
  256 + _clsLDinfos.value = (ClsLDInfo[]) org.apache.axis.utils.JavaUtils.convert(_output.get(new javax.xml.namespace.QName("http://tempuri.org/", "_clsLDinfos")), ClsLDInfo[].class);
  257 + }
  258 + try {
  259 + return (java.lang.String) _resp;
  260 + } catch (java.lang.Exception _exception) {
  261 + return (java.lang.String) org.apache.axis.utils.JavaUtils.convert(_resp, java.lang.String.class);
  262 + }
  263 + }
  264 + } catch (org.apache.axis.AxisFault axisFaultException) {
  265 + throw axisFaultException;
  266 +}
  267 + }
  268 +
  269 +}
src/main/java/com/bsth/old_sys_wsclient/nh_ld/holders/ArrayOfClsLDInfoHolder.java 0 → 100644
  1 +package com.bsth.old_sys_wsclient.nh_ld.holders;
  2 +
  3 +import com.bsth.old_sys_wsclient.nh_ld.ClsLDInfo;
  4 +
  5 +/**
  6 + * ArrayOfClsLDInfoHolder.java
  7 + *
  8 + * This file was auto-generated from WSDL
  9 + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
  10 + */
  11 +
  12 +
  13 +public final class ArrayOfClsLDInfoHolder implements javax.xml.rpc.holders.Holder {
  14 + public ClsLDInfo[] value;
  15 +
  16 + public ArrayOfClsLDInfoHolder() {
  17 + }
  18 +
  19 + public ArrayOfClsLDInfoHolder(ClsLDInfo[] value) {
  20 + this.value = value;
  21 + }
  22 +
  23 +}
src/main/java/com/bsth/old_sys_wsclient/nh_ld/holders/ClsLDInfoHolder.java 0 → 100644
  1 +package com.bsth.old_sys_wsclient.nh_ld.holders;
  2 +
  3 +import com.bsth.old_sys_wsclient.nh_ld.ClsLDInfo;
  4 +
  5 +/**
  6 + * ClsLDInfoHolder.java
  7 + *
  8 + * This file was auto-generated from WSDL
  9 + * by the Apache Axis 1.4 Apr 22, 2006 (06:55:48 PDT) WSDL2Java emitter.
  10 + */
  11 +
  12 +
  13 +public final class ClsLDInfoHolder implements javax.xml.rpc.holders.Holder {
  14 + public ClsLDInfo value;
  15 +
  16 + public ClsLDInfoHolder() {
  17 + }
  18 +
  19 + public ClsLDInfoHolder(ClsLDInfo value) {
  20 + this.value = value;
  21 + }
  22 +
  23 +}
src/main/java/com/bsth/redis/OilRedisService.java
@@ -16,8 +16,7 @@ import org.springframework.data.redis.core.RedisTemplate; @@ -16,8 +16,7 @@ import org.springframework.data.redis.core.RedisTemplate;
16 import org.springframework.data.redis.serializer.StringRedisSerializer; 16 import org.springframework.data.redis.serializer.StringRedisSerializer;
17 import org.springframework.stereotype.Service; 17 import org.springframework.stereotype.Service;
18 18
19 -import java.util.Iterator;  
20 -import java.util.List; 19 +import java.util.*;
21 20
22 /** 21 /**
23 * 油量数据Redis缓存 22 * 油量数据Redis缓存
@@ -49,7 +48,7 @@ public class OilRedisService implements CommandLineRunner { @@ -49,7 +48,7 @@ public class OilRedisService implements CommandLineRunner {
49 return; 48 return;
50 //按日期和线路分组数据 49 //按日期和线路分组数据
51 Class clazz = OilInfo.class; 50 Class clazz = OilInfo.class;
52 - multimap = new ConvertUtil().groupList(list, ":", clazz.getDeclaredField("nbbm"), clazz.getDeclaredField("rq")); 51 + multimap = new ConvertUtil().groupMultiList(list, ":", clazz.getDeclaredField("nbbm"), clazz.getDeclaredField("rq"));
53 52
54 //写入redis 53 //写入redis
55 Iterator<String> iterator = multimap.keySet().iterator(); 54 Iterator<String> iterator = multimap.keySet().iterator();
@@ -64,6 +63,35 @@ public class OilRedisService implements CommandLineRunner { @@ -64,6 +63,35 @@ public class OilRedisService implements CommandLineRunner {
64 } 63 }
65 64
66 /** 65 /**
  66 + * 根据车辆和日期获取油耗数据,以 车辆_驾驶员 为key
  67 + *
  68 + * @param nbbmArray
  69 + * @param rq
  70 + * @return
  71 + */
  72 + public Map<String, OilInfo> findByNbbmGroup(Iterable<String> nbbmArray, String rq) {
  73 + Map<String, OilInfo> rs = new HashMap<>();
  74 +
  75 + rq = rq.replaceAll("-", "");
  76 + try {
  77 + List<OilInfo> list = new ArrayList<>();
  78 + for (String nbbm : nbbmArray) {
  79 + nbbm = nbbm.split("_")[1];
  80 + list.addAll(read(nbbm, rq));
  81 + }
  82 + Class clazz = OilInfo.class;
  83 + rs = new ConvertUtil().groupList(list, "_", clazz.getDeclaredField("nbbm"), clazz.getDeclaredField("jsy"));
  84 + } catch (Exception e) {
  85 + logger.error("", e);
  86 + }
  87 + return rs;
  88 + }
  89 +
  90 + public List<OilInfo> read(String nbbm, String rq) {
  91 + return redisTemplate.opsForList().range(REDIS_KEY_PREFIX + nbbm + ":" + rq, 0, -1);
  92 + }
  93 +
  94 + /**
67 * 将 list 与redis里的数据合并 95 * 将 list 与redis里的数据合并
68 * 96 *
69 * @param key 97 * @param key
src/main/java/com/bsth/redis/ScheduleRedisService.java
@@ -4,6 +4,7 @@ import com.bsth.entity.ScheduleRealInfo; @@ -4,6 +4,7 @@ import com.bsth.entity.ScheduleRealInfo;
4 import com.bsth.repository.ScheduleRealInfoRepository; 4 import com.bsth.repository.ScheduleRealInfoRepository;
5 import com.bsth.util.ConfigUtil; 5 import com.bsth.util.ConfigUtil;
6 import com.bsth.util.ConvertUtil; 6 import com.bsth.util.ConvertUtil;
  7 +import com.bsth.ws_proxy.WebServiceProxy;
7 import com.google.common.collect.ArrayListMultimap; 8 import com.google.common.collect.ArrayListMultimap;
8 import org.joda.time.DateTime; 9 import org.joda.time.DateTime;
9 import org.slf4j.Logger; 10 import org.slf4j.Logger;
@@ -35,6 +36,9 @@ public class ScheduleRedisService implements CommandLineRunner { @@ -35,6 +36,9 @@ public class ScheduleRedisService implements CommandLineRunner {
35 @Autowired 36 @Autowired
36 private RedisTemplate redisTemplate; 37 private RedisTemplate redisTemplate;
37 38
  39 + @Autowired
  40 + WebServiceProxy webServiceProxy;
  41 +
38 Logger logger = LoggerFactory.getLogger(this.getClass()); 42 Logger logger = LoggerFactory.getLogger(this.getClass());
39 43
40 /** 44 /**
@@ -49,7 +53,7 @@ public class ScheduleRedisService implements CommandLineRunner { @@ -49,7 +53,7 @@ public class ScheduleRedisService implements CommandLineRunner {
49 return; 53 return;
50 //按日期和线路分组数据 54 //按日期和线路分组数据
51 Class clazz = ScheduleRealInfo.class; 55 Class clazz = ScheduleRealInfo.class;
52 - multimap = new ConvertUtil().groupList(list, ":", clazz.getDeclaredField("xlBm"), clazz.getDeclaredField("scheduleDateStr")); 56 + multimap = new ConvertUtil().groupMultiList(list, ":", clazz.getDeclaredField("xlBm"), clazz.getDeclaredField("scheduleDateStr"));
53 57
54 //写入redis 58 //写入redis
55 Iterator<String> iterator = multimap.keySet().iterator(); 59 Iterator<String> iterator = multimap.keySet().iterator();
@@ -93,7 +97,78 @@ public class ScheduleRedisService implements CommandLineRunner { @@ -93,7 +97,78 @@ public class ScheduleRedisService implements CommandLineRunner {
93 * @return 97 * @return
94 */ 98 */
95 public List<ScheduleRealInfo> read(String dateStr, String lineCode) { 99 public List<ScheduleRealInfo> read(String dateStr, String lineCode) {
96 - return redisTemplate.opsForList().range(REDIS_KEY_PREFIX + ":" + lineCode + ":" + dateStr, 0, -1); 100 + return redisTemplate.opsForList().range(REDIS_KEY_PREFIX + lineCode + ":" + dateStr, 0, -1);
  101 + }
  102 +
  103 + /**
  104 + * 返回指定日期,公司的实际排班,并按线路_车辆分组
  105 + * (新老系统并行时调用这个函数)
  106 + * @param rq
  107 + * @param companyId
  108 + * @return
  109 + */
  110 + public ArrayListMultimap<String, ScheduleRealInfo> findByDateAndGroupByNbbm_bingxing(String rq, String companyId){
  111 + List<String> lineArray = webServiceProxy.findLinesByCompany_new(companyId);
  112 + ArrayListMultimap<String, ScheduleRealInfo> rs = ArrayListMultimap.create();
  113 +
  114 + rq = rq.replaceAll("-", "");
  115 + List<ScheduleRealInfo> list;
  116 + for(String lineCode : lineArray){
  117 +
  118 + list = read(rq, lineCode);
  119 +
  120 + for(ScheduleRealInfo sch : list){
  121 + rs.put(sch.getXlBm() + "_" + sch.getClZbh(), sch);
  122 + }
  123 + }
  124 + return rs;
  125 + }
  126 +
  127 + /**
  128 + * 返回指定日期,公司的实际排班,并按线路_车辆分组
  129 + * @param rq
  130 + * @param companyId
  131 + * @return
  132 + */
  133 + public ArrayListMultimap<String, ScheduleRealInfo> findByDateAndGroupByNbbm(String rq, String companyId){
  134 + List<String> lineArray = webServiceProxy.findLinesByCompany(companyId);
  135 + ArrayListMultimap<String, ScheduleRealInfo> rs = ArrayListMultimap.create();
  136 +
  137 + rq = rq.replaceAll("-", "");
  138 + List<ScheduleRealInfo> list;
  139 + for(String lineCode : lineArray){
  140 +
  141 + list = read(rq, lineCode);
  142 +
  143 + for(ScheduleRealInfo sch : list){
  144 + rs.put(sch.getXlBm() + "_" + sch.getClZbh(), sch);
  145 + }
  146 + }
  147 + return rs;
  148 + }
  149 +
  150 + /**
  151 + * 返回指定日期,公司的实际排班,并按线路分组
  152 + * @param rq
  153 + * @param companyId
  154 + * @return
  155 + */
  156 + public ArrayListMultimap<String, ScheduleRealInfo> findByDateAndGroupByLine(String rq, String companyId){
  157 +
  158 + List<String> lineArray = webServiceProxy.findLinesByCompany(companyId);
  159 + ArrayListMultimap<String, ScheduleRealInfo> rs = ArrayListMultimap.create();
  160 +
  161 + rq = rq.replaceAll("-", "");
  162 + List<ScheduleRealInfo> list;
  163 + for(String lineCode : lineArray){
  164 +
  165 + list = read(rq, lineCode);
  166 +
  167 + for(ScheduleRealInfo sch : list){
  168 + rs.put(sch.getXlBm(), sch);
  169 + }
  170 + }
  171 + return rs;
97 } 172 }
98 173
99 @Override 174 @Override
src/main/java/com/bsth/repository/DutyEmployeeRepository.java 0 → 100644
  1 +package com.bsth.repository;
  2 +
  3 +import com.bsth.entity.ChildTaskPlan;
  4 +import com.bsth.entity.DutyEmployee;
  5 +import org.springframework.data.jpa.repository.Query;
  6 +import org.springframework.data.repository.PagingAndSortingRepository;
  7 +import org.springframework.stereotype.Repository;
  8 +
  9 +import java.util.List;
  10 +
  11 +/**
  12 + * Created by panzhao on 2017/1/5.
  13 + */
  14 +@Repository
  15 +public interface DutyEmployeeRepository extends PagingAndSortingRepository<ChildTaskPlan, Long> {
  16 +
  17 + @Query("select t from DutyEmployee t where t.ts > ?1 and t.ts < ?2")
  18 + List<DutyEmployee> findByTime(long st, long et);
  19 +}
src/main/java/com/bsth/repository/UserRepository.java 0 → 100644
  1 +package com.bsth.repository;
  2 +
  3 +import com.bsth.entity.PasswordUser;
  4 +import org.springframework.data.repository.PagingAndSortingRepository;
  5 +import org.springframework.stereotype.Repository;
  6 +
  7 +/**
  8 + * Created by panzhao on 2017/3/26.
  9 + */
  10 +@Repository
  11 +public interface UserRepository extends PagingAndSortingRepository<PasswordUser, Integer> {
  12 +}
src/main/java/com/bsth/service/UserService.java 0 → 100644
  1 +package com.bsth.service;
  2 +
  3 +import com.bsth.entity.PasswordUser;
  4 +
  5 +/**
  6 + * Created by panzhao on 2017/3/26.
  7 + */
  8 +public interface UserService {
  9 +
  10 + PasswordUser get(String pwd);
  11 +}
src/main/java/com/bsth/service/impl/UserServiceImpl.java 0 → 100644
  1 +package com.bsth.service.impl;
  2 +
  3 +import com.bsth.entity.PasswordUser;
  4 +import com.bsth.repository.UserRepository;
  5 +import com.bsth.service.UserService;
  6 +import org.springframework.beans.factory.annotation.Autowired;
  7 +import org.springframework.boot.CommandLineRunner;
  8 +import org.springframework.core.annotation.Order;
  9 +import org.springframework.stereotype.Service;
  10 +
  11 +import java.util.HashMap;
  12 +import java.util.Iterator;
  13 +import java.util.Map;
  14 +
  15 +/**
  16 + * Created by panzhao on 2017/3/26.
  17 + */
  18 +@Service
  19 +@Order(4)
  20 +public class UserServiceImpl implements UserService , CommandLineRunner {
  21 +
  22 + @Autowired
  23 + UserRepository userRepository;
  24 +
  25 + private Map<String, PasswordUser> pwd2UserMap;
  26 +
  27 + @Override
  28 + public PasswordUser get(String pwd) {
  29 + return pwd2UserMap.get(pwd);
  30 + }
  31 +
  32 + private void loadData(){
  33 + Map<String, PasswordUser> map = new HashMap<>();
  34 + Iterator<PasswordUser> iterator = userRepository.findAll().iterator();
  35 + PasswordUser user;
  36 + while (iterator.hasNext()){
  37 + user = iterator.next();
  38 + map.put(user.getPwd(), user);
  39 + }
  40 + pwd2UserMap = map;
  41 + }
  42 +
  43 + @Override
  44 + public void run(String... strings) throws Exception {
  45 + loadData();
  46 + }
  47 +}
src/main/java/com/bsth/util/Arith.java 0 → 100644
  1 +package com.bsth.util;
  2 +
  3 +import java.math.BigDecimal;
  4 +
  5 +/**
  6 + * 进行BigDecimal对象的加减乘除,四舍五入等运算的工具类
  7 + * @author ameyume
  8 + *
  9 + */
  10 +public class Arith {
  11 +
  12 + /**
  13 + * 由于Java的简单类型不能够精确的对浮点数进行运算,这个工具类提供精
  14 + * 确的浮点数运算,包括加减乘除和四舍五入。
  15 + */
  16 + //默认除法运算精度
  17 + private static final int DEF_DIV_SCALE = 10;
  18 +
  19 + //这个类不能实例化
  20 + private Arith(){
  21 + }
  22 +
  23 + /**
  24 + * 提供精确的加法运算。
  25 + * @param v1 被加数
  26 + * @param v2 加数
  27 + * @return 两个参数的和
  28 + */
  29 + public static double add(Object v1,Object v2){
  30 + BigDecimal b1 = new BigDecimal(String.valueOf(v1));
  31 + BigDecimal b2 = new BigDecimal(String.valueOf(v2));
  32 + return b1.add(b2).doubleValue();
  33 + }
  34 +
  35 + /**
  36 + * 提供精确的减法运算。
  37 + * @param v1 被减数
  38 + * @param v2 减数
  39 + * @return 两个参数的差
  40 + */
  41 + public static double sub(Object v1,Object v2){
  42 + BigDecimal b1 = new BigDecimal(String.valueOf(v1));
  43 + BigDecimal b2 = new BigDecimal(String.valueOf(v2));
  44 + return b1.subtract(b2).doubleValue();
  45 + }
  46 +
  47 + /**
  48 + * 提供精确的乘法运算。
  49 + * @param v1 被乘数
  50 + * @param v2 乘数
  51 + * @return 两个参数的积
  52 + */
  53 + public static double mul(Object v1,Object v2){
  54 + BigDecimal b1 = new BigDecimal(String.valueOf(v1));
  55 + BigDecimal b2 = new BigDecimal(String.valueOf(v2));
  56 + return b1.multiply(b2).doubleValue();
  57 + }
  58 +
  59 + /**
  60 + * 提供(相对)精确的除法运算,当发生除不尽的情况时,精确到
  61 + * 小数点以后10位,以后的数字四舍五入。
  62 + * @param v1 被除数
  63 + * @param v2 除数
  64 + * @return 两个参数的商
  65 + */
  66 + public static double div(Object v1,Object v2){
  67 + return div(v1,v2,DEF_DIV_SCALE);
  68 + }
  69 +
  70 + /**
  71 + * 提供(相对)精确的除法运算。当发生除不尽的情况时,由scale参数指
  72 + * 定精度,以后的数字四舍五入。
  73 + * @param v1 被除数
  74 + * @param v2 除数
  75 + * @param scale 表示表示需要精确到小数点以后几位。
  76 + * @return 两个参数的商
  77 + */
  78 + public static double div(Object v1,Object v2,int scale){
  79 + if(scale<0){
  80 + throw new IllegalArgumentException(
  81 + "The scale must be a positive integer or zero");
  82 + }
  83 + BigDecimal b1 = new BigDecimal(String.valueOf(v1));
  84 + BigDecimal b2 = new BigDecimal(String.valueOf(v2));
  85 + return b1.divide(b2,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
  86 + }
  87 +
  88 + /**
  89 + * 提供精确的小数位四舍五入处理。
  90 + * @param v 需要四舍五入的数字
  91 + * @param scale 小数点后保留几位
  92 + * @return 四舍五入后的结果
  93 + */
  94 + public static double round(Object v,int scale){
  95 + if(scale<0){
  96 + throw new IllegalArgumentException(
  97 + "The scale must be a positive integer or zero");
  98 + }
  99 + BigDecimal b = new BigDecimal(String.valueOf(v));
  100 + BigDecimal one = new BigDecimal("1");
  101 + return b.divide(one,scale,BigDecimal.ROUND_HALF_UP).doubleValue();
  102 + }
  103 +
  104 + /**
  105 + * 提供精确的类型转换(Float)
  106 + * @param v 需要被转换的数字
  107 + * @return 返回转换结果
  108 + */
  109 + public static float convertsToFloat(double v){
  110 + BigDecimal b = new BigDecimal(v);
  111 + return b.floatValue();
  112 + }
  113 +
  114 + /**
  115 + * 提供精确的类型转换(Int)不进行四舍五入
  116 + * @param v 需要被转换的数字
  117 + * @return 返回转换结果
  118 + */
  119 + public static int convertsToInt(double v){
  120 + BigDecimal b = new BigDecimal(v);
  121 + return b.intValue();
  122 + }
  123 +
  124 + /**
  125 + * 提供精确的类型转换(Long)
  126 + * @param v 需要被转换的数字
  127 + * @return 返回转换结果
  128 + */
  129 + public static long convertsToLong(double v){
  130 + BigDecimal b = new BigDecimal(v);
  131 + return b.longValue();
  132 + }
  133 +
  134 + /**
  135 + * 返回两个数中大的一个值
  136 + * @param v1 需要被对比的第一个数
  137 + * @param v2 需要被对比的第二个数
  138 + * @return 返回两个数中大的一个值
  139 + */
  140 + public static double returnMax(double v1,double v2){
  141 + BigDecimal b1 = new BigDecimal(v1);
  142 + BigDecimal b2 = new BigDecimal(v2);
  143 + return b1.max(b2).doubleValue();
  144 + }
  145 +
  146 + /**
  147 + * 返回两个数中小的一个值
  148 + * @param v1 需要被对比的第一个数
  149 + * @param v2 需要被对比的第二个数
  150 + * @return 返回两个数中小的一个值
  151 + */
  152 + public static double returnMin(double v1,double v2){
  153 + BigDecimal b1 = new BigDecimal(v1);
  154 + BigDecimal b2 = new BigDecimal(v2);
  155 + return b1.min(b2).doubleValue();
  156 + }
  157 +
  158 + /**
  159 + * 精确对比两个数字
  160 + * @param v1 需要被对比的第一个数
  161 + * @param v2 需要被对比的第二个数
  162 + * @return 如果两个数一样则返回0,如果第一个数比第二个数大则返回1,反之返回-1
  163 + */
  164 + public static int compareTo(double v1,double v2){
  165 + BigDecimal b1 = new BigDecimal(v1);
  166 + BigDecimal b2 = new BigDecimal(v2);
  167 + return b1.compareTo(b2);
  168 + }
  169 +
  170 +}
0 \ No newline at end of file 171 \ No newline at end of file
src/main/java/com/bsth/util/ConvertUtil.java
@@ -7,10 +7,7 @@ import org.slf4j.Logger; @@ -7,10 +7,7 @@ import org.slf4j.Logger;
7 import org.slf4j.LoggerFactory; 7 import org.slf4j.LoggerFactory;
8 8
9 import java.lang.reflect.Field; 9 import java.lang.reflect.Field;
10 -import java.util.ArrayList;  
11 -import java.util.Collection;  
12 -import java.util.Date;  
13 -import java.util.List; 10 +import java.util.*;
14 11
15 /** 12 /**
16 * 数据转换 13 * 数据转换
@@ -29,7 +26,7 @@ public class ConvertUtil&lt;T&gt; { @@ -29,7 +26,7 @@ public class ConvertUtil&lt;T&gt; {
29 * @param fields 26 * @param fields
30 * @return 27 * @return
31 */ 28 */
32 - public ArrayListMultimap<String, T> groupList(List<T> list, String separator, Field... fields) { 29 + public ArrayListMultimap<String, T> groupMultiList(List<T> list, String separator, Field... fields) {
33 ArrayListMultimap<String, T> multimap = ArrayListMultimap.create(); 30 ArrayListMultimap<String, T> multimap = ArrayListMultimap.create();
34 31
35 String key; 32 String key;
@@ -58,6 +55,42 @@ public class ConvertUtil&lt;T&gt; { @@ -58,6 +55,42 @@ public class ConvertUtil&lt;T&gt; {
58 } 55 }
59 56
60 /** 57 /**
  58 + * 根据指定字段 将 list 分组
  59 + *
  60 + * @param list
  61 + * @param separator 字段使用分隔符连接 组成key
  62 + * @param fields
  63 + * @return
  64 + */
  65 + public Map<String, T> groupList(List<T> list, String separator, Field... fields) {
  66 + Map<String, T> map = new HashMap<>();
  67 +
  68 + String key;
  69 + //Object field;
  70 + try {
  71 + for (T t : list) {
  72 +
  73 + key = "";
  74 + for (Field f : fields) {
  75 + f.setAccessible(true);
  76 + //日期类型格式化为 YYYY-MM-DD
  77 + if (f.getType().equals(Date.class))
  78 + key += (separator + fmtyyyyMMdd.print(((Date) f.get(t)).getTime()));
  79 + else
  80 + key += (separator + f.get(t).toString());
  81 + }
  82 + key = key.substring(1);
  83 +
  84 + map.put(key, t);
  85 + }
  86 + } catch (Exception e) {
  87 + logger.error("", e);
  88 + }
  89 +
  90 + return map;
  91 + }
  92 +
  93 + /**
61 * 计算并集 94 * 计算并集
62 * 95 *
63 * @param all 96 * @param all
src/main/java/com/bsth/ws_proxy/WebServiceProxy.java
1 package com.bsth.ws_proxy; 1 package com.bsth.ws_proxy;
2 2
  3 +import com.alibaba.fastjson.JSON;
  4 +import com.alibaba.fastjson.JSONArray;
3 import com.bsth.Application; 5 import com.bsth.Application;
4 import com.bsth.entity.Line2System; 6 import com.bsth.entity.Line2System;
  7 +import com.bsth.old_sys_wsclient.nh_ld.ClsLDInfo;
5 import com.bsth.repository.Line2SystemRepository; 8 import com.bsth.repository.Line2SystemRepository;
6 import com.bsth.util.ConvertUtil; 9 import com.bsth.util.ConvertUtil;
  10 +import com.bsth.ws_server.waybill.entity.NH_waybill;
7 import com.google.common.collect.ArrayListMultimap; 11 import com.google.common.collect.ArrayListMultimap;
8 import org.apache.commons.lang3.StringUtils; 12 import org.apache.commons.lang3.StringUtils;
9 import org.slf4j.Logger; 13 import org.slf4j.Logger;
@@ -70,6 +74,29 @@ public class WebServiceProxy implements CommandLineRunner { @@ -70,6 +74,29 @@ public class WebServiceProxy implements CommandLineRunner {
70 } 74 }
71 75
72 /** 76 /**
  77 + * 获取指定公司下的线路清单
  78 + * @param companyId
  79 + * @return
  80 + */
  81 + public static List<String> findLinesByCompany(String companyId){
  82 + return company_linesMap.get(companyId);
  83 + }
  84 +
  85 + /**
  86 + * 获取指定公司下 从新系统走的线路清单
  87 + * @param companyId
  88 + * @return
  89 + */
  90 + public static List<String> findLinesByCompany_new(String companyId){
  91 + List<String> array = company_linesMap.get(companyId), rs = new ArrayList<>();
  92 + for(String lineCode : array){
  93 + if(!oldSysLines.containsKey(lineCode))
  94 + rs.add(lineCode);
  95 + }
  96 + return rs;
  97 + }
  98 +
  99 + /**
73 * 是否全部从新系统获取数据 100 * 是否全部从新系统获取数据
74 * @param companyId 101 * @param companyId
75 * @return 102 * @return
@@ -124,6 +151,42 @@ public class WebServiceProxy implements CommandLineRunner { @@ -124,6 +151,42 @@ public class WebServiceProxy implements CommandLineRunner {
124 Application.mainServices.scheduleWithFixedDelay(fixedRefreshThread, 15, 60 * 30, TimeUnit.SECONDS); 151 Application.mainServices.scheduleWithFixedDelay(fixedRefreshThread, 15, 60 * 30, TimeUnit.SECONDS);
125 } 152 }
126 153
  154 + /**
  155 + * 合并新老系统的路单数据
  156 + * @param value
  157 + * @param oldArray
  158 + * @param companyId
  159 + * @return
  160 + */
  161 + public static NH_waybill[] mergerData(NH_waybill[] newArray, ClsLDInfo[] oldArray, String companyId) {
  162 + if(oldSysLines == null || oldSysLines.size() == 0)
  163 + return newArray;
  164 +
  165 + JSONArray jsonArray = new JSONArray();
  166 + List<String> lines = company_linesMap.get(companyId);
  167 + //补集,要从新系统出来的数据
  168 + List<String> comps = new ConvertUtil().calcComplement(lines, oldSysLines.keySet());
  169 + String lineCode;
  170 + for(int i = 0; i < newArray.length; i ++){
  171 + lineCode = newArray[i].getM_strXLBM();
  172 + if(comps.contains(lineCode))
  173 + jsonArray.add(JSON.toJSON(newArray[i]));
  174 + }
  175 +
  176 + //从老系统出来的数据
  177 + for(int i = 0; i < oldArray.length; i ++){
  178 + lineCode = oldArray[i].getM_strXLBM();
  179 + if(!comps.contains(lineCode))
  180 + jsonArray.add(JSON.toJSON(oldArray[i]));
  181 + }
  182 +
  183 + //将jsonArray 转换成 NH_waybill[]
  184 + NH_waybill[] rs = new NH_waybill[jsonArray.size()];
  185 + List<NH_waybill> list = JSONArray.parseArray(jsonArray.toJSONString(), NH_waybill.class);
  186 + rs = list.toArray(rs);
  187 + return rs;
  188 + }
  189 +
127 @Component 190 @Component
128 public class FixedRefreshThread extends Thread{ 191 public class FixedRefreshThread extends Thread{
129 192
src/main/java/com/bsth/ws_server/park_station/CompanyService.java
@@ -5,6 +5,7 @@ import javax.jws.WebParam; @@ -5,6 +5,7 @@ import javax.jws.WebParam;
5 import javax.jws.WebService; 5 import javax.jws.WebService;
6 6
7 /** 7 /**
  8 + * 场站数据接口
8 * BS调度系统webservice接口定义 9 * BS调度系统webservice接口定义
9 * Created by panzhao on 2017/3/10. 10 * Created by panzhao on 2017/3/10.
10 */ 11 */
src/main/java/com/bsth/ws_server/park_station/CompanyServiceSoap.java
@@ -15,6 +15,7 @@ import javax.xml.ws.Holder; @@ -15,6 +15,7 @@ import javax.xml.ws.Holder;
15 import java.util.List; 15 import java.util.List;
16 16
17 /** 17 /**
  18 + * 场站数据接口
18 * BS调度系统webservice接口实现,完美兼容老系统接口格式 19 * BS调度系统webservice接口实现,完美兼容老系统接口格式
19 * Created by panzhao on 2017/3/10. 20 * Created by panzhao on 2017/3/10.
20 */ 21 */
src/main/java/com/bsth/ws_server/util/ScheduleCalculator.java 0 → 100644
  1 +package com.bsth.ws_server.util;
  2 +
  3 +import com.bsth.entity.ChildTaskPlan;
  4 +import com.bsth.entity.DutyEmployee;
  5 +import com.bsth.entity.ScheduleRealInfo;
  6 +import com.bsth.util.Arith;
  7 +import com.bsth.util.ConvertUtil;
  8 +import com.google.common.base.Joiner;
  9 +import com.google.common.collect.ArrayListMultimap;
  10 +import org.apache.commons.lang3.StringUtils;
  11 +import org.joda.time.format.DateTimeFormat;
  12 +import org.joda.time.format.DateTimeFormatter;
  13 +
  14 +import java.util.*;
  15 +
  16 +/**
  17 + * 班次计算器
  18 + * Created by panzhao on 2017/3/20.
  19 + */
  20 +public class ScheduleCalculator {
  21 +
  22 +
  23 + /**
  24 + * 计划公里(不包括进出场公里,临加公里)
  25 + *
  26 + * @param list
  27 + * @return
  28 + */
  29 + public static double calcJHLC(List<ScheduleRealInfo> list) {
  30 + double sum = 0;
  31 + for (ScheduleRealInfo sch : list) {
  32 + if (isInOut(sch) || sch.isSflj())
  33 + continue;
  34 + sum = Arith.add(sum, sch.getJhlcOrig());
  35 + }
  36 + return sum;
  37 + }
  38 +
  39 + /**
  40 + * 出场里程(包括子任务出场)
  41 + *
  42 + * @param list
  43 + * @return
  44 + */
  45 + public static double calcCCLC(List<ScheduleRealInfo> list) {
  46 + double sum = 0;
  47 +
  48 + Set<ChildTaskPlan> cts;
  49 + for (ScheduleRealInfo sch : list) {
  50 + cts = sch.getcTasks();
  51 + //有子任务
  52 + if (cts != null && cts.size() > 0) {
  53 + for (ChildTaskPlan ct : cts) {
  54 + if (ct.getType2().equals("3"))
  55 + sum = Arith.add(sum, ct.getMileage());
  56 + }
  57 + } else if (sch.getBcType().equals("out") && sch.getStatus() != -1) {
  58 + sum = Arith.add(sum, sch.getJhlc());
  59 + }
  60 + }
  61 + return sum;
  62 + }
  63 +
  64 + /**
  65 + * 进场里程(包括子任务公里)
  66 + *
  67 + * @param list
  68 + * @return
  69 + */
  70 + public static double calcJCLC(List<ScheduleRealInfo> list) {
  71 + double sum = 0;
  72 + Set<ChildTaskPlan> cts;
  73 + for (ScheduleRealInfo sch : list) {
  74 + cts = sch.getcTasks();
  75 + //有子任务
  76 + if (cts != null && cts.size() > 0) {
  77 + for (ChildTaskPlan ct : cts) {
  78 + if (ct.getType2().equals("2"))
  79 + sum = Arith.add(sum, ct.getMileage());
  80 + }
  81 + } else if (sch.getBcType().equals("in") && sch.getStatus() != -1) {
  82 + sum = Arith.add(sum, sch.getJhlc());
  83 + }
  84 + }
  85 + return sum;
  86 + }
  87 +
  88 + /**
  89 + * 实际计划公里,包括临加,不包括进出场,不包括烂班
  90 + *
  91 + * @param list
  92 + * @return
  93 + */
  94 + public static double calcSJLC(List<ScheduleRealInfo> list) {
  95 + double sum = 0;
  96 + for (ScheduleRealInfo sch : list) {
  97 + if (isInOut(sch) || sch.getStatus() == -1)
  98 + continue;
  99 + sum = Arith.add(sum, sch.getJhlcOrig());
  100 + }
  101 + return sum;
  102 + }
  103 +
  104 + /**
  105 + * 营业公里,包括临加,不包括进出场,不包括烂班,计算子任务
  106 + *
  107 + * @param list
  108 + * @return
  109 + */
  110 + public static double calcYYLC(List<ScheduleRealInfo> list) {
  111 + double sum = 0;
  112 +
  113 + Set<ChildTaskPlan> cts;
  114 + for (ScheduleRealInfo sch : list) {
  115 + if (sch.getStatus() == -1)
  116 + continue;
  117 + if (isInOut(sch))
  118 + continue;
  119 +
  120 + cts = sch.getcTasks();
  121 + //有子任务
  122 + if (cts != null && cts.size() > 0) {
  123 + for (ChildTaskPlan ct : cts) {
  124 + if (!isInOut(ct))
  125 + sum = Arith.add(sum, ct.getMileage());
  126 + }
  127 + } else
  128 + sum = Arith.add(sum, sch.getJhlc());
  129 + }
  130 + return sum;
  131 + }
  132 +
  133 + /**
  134 + * 空驶公里(进场 + 出场)
  135 + *
  136 + * @param list
  137 + * @return
  138 + */
  139 + public static double calcKSLC(List<ScheduleRealInfo> list) {
  140 + return Arith.add(calcCCLC(list), calcJCLC(list));
  141 + }
  142 +
  143 + /**
  144 + * 增加里程 临加班次公里,直接修改的公里,不包括烂班,不计算子任务
  145 + *
  146 + * @param list
  147 + * @return
  148 + */
  149 + public static double calcZJLC(List<ScheduleRealInfo> list) {
  150 + double sum = 0;
  151 +
  152 + for (ScheduleRealInfo sch : list) {
  153 + if (sch.isSflj() && sch.getStatus() != -1)
  154 + sum = Arith.add(sum, sch.getJhlc());
  155 + else if (sch.getJhlc() > sch.getJhlcOrig())
  156 + sum = Arith.add(sum, (sch.getJhlc() - sch.getJhlcOrig()));
  157 + }
  158 + return sum;
  159 + }
  160 +
  161 + /**
  162 + * 总公里 营运公里 + 空驶公里
  163 + *
  164 + * @param list
  165 + * @return
  166 + */
  167 + public static double calcZLC(List<ScheduleRealInfo> list) {
  168 + return Arith.add(calcYYLC(list), calcKSLC(list));
  169 + }
  170 +
  171 + /**
  172 + * 烂班里程 主任务烂班 ,子任务烂班,不包括临加,不包括进出场
  173 + *
  174 + * @param list
  175 + * @return
  176 + */
  177 + public static Double calcLBLC(List<ScheduleRealInfo> list) {
  178 + double sum = 0;
  179 + Set<ChildTaskPlan> cts;
  180 + for (ScheduleRealInfo sch : list) {
  181 + if (sch.isSflj() || isInOut(sch))
  182 + continue;
  183 +
  184 + cts = sch.getcTasks();
  185 + //有子任务
  186 + if (cts != null && cts.size() > 0) {
  187 + for (ChildTaskPlan ct : cts) {
  188 + if (ct.isDestroy())
  189 + sum = Arith.add(sum, ct.getMileage());
  190 + }
  191 + } else if (sch.getStatus() == -1) {
  192 + sum = Arith.add(sum, sch.getJhlcOrig());
  193 + }
  194 + }
  195 +
  196 + return sum;
  197 + }
  198 +
  199 + /**
  200 + * 拼接烂班原因,去重复 , 号拼接多个
  201 + * @param list
  202 + * @return
  203 + */
  204 + public static String joinLBYY(List<ScheduleRealInfo> list){
  205 + Set<String> sets = new HashSet<>();
  206 + Set<ChildTaskPlan> cts;
  207 + for(ScheduleRealInfo sch : list){
  208 + if (sch.isSflj() || isInOut(sch))
  209 + continue;
  210 +
  211 + cts = sch.getcTasks();
  212 + //有子任务
  213 + if (cts != null && cts.size() > 0) {
  214 + for (ChildTaskPlan ct : cts) {
  215 + if (ct.isDestroy())
  216 + sets.add(ct.getDestroyReason());
  217 + }
  218 + } else if (sch.getStatus() == -1) {
  219 + sets.add(sch.getAdjustExps());
  220 + }
  221 + }
  222 + return Joiner.on(",").join(sets);
  223 + }
  224 +
  225 + /**
  226 + * 计划班次数 不包括临加,不包括进出场,统计烂班
  227 + *
  228 + * @param list
  229 + * @return
  230 + */
  231 + public static int countJHBC(List<ScheduleRealInfo> list) {
  232 + int count = 0;
  233 +
  234 + for (ScheduleRealInfo sch : list) {
  235 + if (sch.isSflj() || isInOut(sch))
  236 + continue;
  237 +
  238 + count++;
  239 + }
  240 + return count;
  241 + }
  242 +
  243 + /**
  244 + * 实际计划班次 包括临加,不包括进出场,排除烂班
  245 + *
  246 + * @param list
  247 + * @return
  248 + */
  249 + public static int countSJJHBC(List<ScheduleRealInfo> list) {
  250 + int count = 0;
  251 +
  252 + for (ScheduleRealInfo sch : list) {
  253 + if (sch.getStatus() == -1 || isInOut(sch))
  254 + continue;
  255 +
  256 + count++;
  257 + }
  258 + return count;
  259 + }
  260 +
  261 + /**
  262 + * 增加班次 临加班次,不包括进出场
  263 + *
  264 + * @param list
  265 + * @return
  266 + */
  267 + public static int countZJBC(List<ScheduleRealInfo> list) {
  268 + int count = 0;
  269 +
  270 + for (ScheduleRealInfo sch : list) {
  271 + if (!sch.isSflj() || isInOut(sch))
  272 + continue;
  273 +
  274 + count++;
  275 + }
  276 + return count;
  277 + }
  278 +
  279 + /**
  280 + * 抽检班次 烂班班次,不包括进出场
  281 + *
  282 + * @param list
  283 + * @return
  284 + */
  285 + public static int countCJBC(List<ScheduleRealInfo> list) {
  286 + int count = 0;
  287 +
  288 + for (ScheduleRealInfo sch : list) {
  289 + if (sch.getStatus() != -1 || isInOut(sch))
  290 + continue;
  291 +
  292 + count++;
  293 + }
  294 + return count;
  295 + }
  296 +
  297 + /**
  298 + * 烂班工时
  299 + *
  300 + * @param list
  301 + * @return
  302 + */
  303 + public static Double calcLBGS(List<ScheduleRealInfo> list) {
  304 + double sum = 0;
  305 +
  306 + for (ScheduleRealInfo sch : list) {
  307 + if (sch.getStatus() != -1)
  308 + continue;
  309 +
  310 + sum = Arith.add(sum, sch.getBcsj());
  311 + }
  312 + return sum;
  313 + }
  314 +
  315 +
  316 +
  317 + /**
  318 + * 截取早班班次
  319 + * @param list
  320 + * @return
  321 + */
  322 + public static List<ScheduleRealInfo> earlyArray(List<ScheduleRealInfo> list){
  323 + List<ScheduleRealInfo> rs = new ArrayList<>();
  324 + for(ScheduleRealInfo sch : list){
  325 + if(sch.getDfsj().compareTo("00:00") > 0 && sch.getDfsj().compareTo("12:00") <= 0){
  326 + rs.add(sch);
  327 + }
  328 + }
  329 + return rs;
  330 + }
  331 +
  332 + /**
  333 + * 截取晚班班次
  334 + * @param list
  335 + * @return
  336 + */
  337 + public static List<ScheduleRealInfo> lastArray(List<ScheduleRealInfo> list){
  338 + List<ScheduleRealInfo> rs = new ArrayList<>();
  339 + for(ScheduleRealInfo sch : list){
  340 + if(sch.getDfsj().compareTo("12:00") > 0 && sch.getDfsj().compareTo("23:59") <= 0){
  341 + rs.add(sch);
  342 + }
  343 + }
  344 + return rs;
  345 + }
  346 +
  347 + /**
  348 + * 当班调度员
  349 + * @param list
  350 + * @param des
  351 + * @return
  352 + */
  353 + public static String calcDDY(List<ScheduleRealInfo> list, List<DutyEmployee> des) {
  354 + String rs = "";
  355 +
  356 + /*Collections.sort(list, new Comparator<ScheduleRealInfo>() {
  357 + @Override
  358 + public int compare(ScheduleRealInfo o1, ScheduleRealInfo o2) {
  359 + return (o1.getRealExecDate() + o1.getDfsj()).compareTo(o2.getRealExecDate() + o2.getDfsj());
  360 + }
  361 + });
  362 +
  363 + long et = list.get(list.size() - 1).getDfsjT();*/
  364 + String lineCode = list.get(0).getXlBm() + ",";
  365 +
  366 + Map<String, Integer> desMap = new HashMap<>();
  367 + for(DutyEmployee dEmp : des){
  368 + //if( dEmp.getTs() < et && dEmp.getCodeIdx().indexOf(lineCode) != -1)
  369 + if(dEmp.getCodeIdx().indexOf(lineCode) != -1 && dEmp.isMain())
  370 + desMap.put(dEmp.getuName(), 1);
  371 + }
  372 +
  373 + List<String> keys = new ArrayList<>(desMap.keySet());
  374 + int size = keys.size() > 3? 3 :keys.size();
  375 +
  376 + for(int i = 0; i < size; i ++){
  377 + rs += (keys.get(i) + ",");
  378 + }
  379 +
  380 + return rs;
  381 + }
  382 +
  383 + /**
  384 + * 抽减里程 主任务烂班 ,子任务烂班,直接修改公里的。 不包括临加,不包括进出场
  385 + *
  386 + * @param list
  387 + * @return
  388 + */
  389 + public static double calcCJLC(List<ScheduleRealInfo> list) {
  390 +
  391 + double sum = 0;
  392 + Set<ChildTaskPlan> cts;
  393 + for (ScheduleRealInfo sch : list) {
  394 + if (sch.isSflj())
  395 + continue;
  396 +
  397 + cts = sch.getcTasks();
  398 + //有子任务
  399 + if (cts != null && cts.size() > 0) {
  400 + for (ChildTaskPlan ct : cts) {
  401 + if (ct.isDestroy())
  402 + sum = Arith.add(sum, ct.getMileage());
  403 + }
  404 + }
  405 + else if(isInOut(sch))
  406 + continue;
  407 + else if (sch.getStatus() == -1) {
  408 + sum = Arith.add(sum, sch.getJhlcOrig());
  409 + } else if (sch.getJhlc() < sch.getJhlcOrig()) {
  410 + sum = Arith.add(sum, (Arith.sub(sch.getJhlcOrig(), sch.getJhlc())));
  411 + }
  412 + }
  413 +
  414 + return sum;
  415 + }
  416 +
  417 + /**
  418 + * 抽减原因 统计方式同上
  419 + * @param list
  420 + * @return
  421 + */
  422 + public static String joinCJYY(List<ScheduleRealInfo> list){
  423 + Set<String> sets = new HashSet<>();
  424 + Set<ChildTaskPlan> cts;
  425 + for (ScheduleRealInfo sch : list) {
  426 + if (sch.isSflj())
  427 + continue;
  428 +
  429 + cts = sch.getcTasks();
  430 + //有子任务
  431 + if (cts != null && cts.size() > 0) {
  432 + for (ChildTaskPlan ct : cts) {
  433 + if (ct.isDestroy())
  434 + sets.add(ct.getDestroyReason());
  435 + }
  436 + }
  437 + else if(isInOut(sch))
  438 + continue;
  439 + else if (sch.getStatus() == -1) {
  440 + sets.add(sch.getAdjustExps());
  441 + } else if (sch.getJhlc() < sch.getJhlcOrig()) {
  442 + sets.add(sch.getAdjustExps());
  443 + }
  444 + }
  445 + return Joiner.on(",").join(sets);
  446 + }
  447 +
  448 + /**
  449 + * 根据原因统计抽减公里,不包括临加班次,不包括进出场
  450 + * 没有原因,算其他
  451 + * 无子任务 ,直接修改的公里,也算其他
  452 + * @param list
  453 + * @param item
  454 + * @return
  455 + */
  456 + public static double calcCJLC2(List<ScheduleRealInfo> list, String item) {
  457 + double sum = 0;
  458 +
  459 + Set<ChildTaskPlan> cts;
  460 + for(ScheduleRealInfo sch : list){
  461 + if (sch.isSflj())
  462 + continue;
  463 +
  464 + cts = sch.getcTasks();
  465 + //有子任务
  466 + if (cts != null && cts.size() > 0) {
  467 + for(ChildTaskPlan c : cts){
  468 + if(c.isDestroy() && c.getDestroyReason().equals(item))
  469 + sum = Arith.add(sum, c.getMileage());
  470 + }
  471 + }
  472 + else if(isInOut(sch))
  473 + continue;
  474 + //主任务烂班
  475 + else if(sch.getStatus() == -1){
  476 + if(sch.getAdjustExps().equals(item) ||
  477 + (StringUtils.isEmpty(sch.getAdjustExps()) && item.equals("其他"))){
  478 + sum = Arith.add(sum, sch.getJhlcOrig());
  479 + }
  480 + }
  481 + else if(item.equals("其他")){
  482 + double diff = Arith.sub(sch.getJhlcOrig(), sch.getJhlc());
  483 + if(diff > 0){
  484 + sum = Arith.add(sum, diff);
  485 + }
  486 + }
  487 + }
  488 + return sum;
  489 + }
  490 +
  491 + /**
  492 + * 统计空放班次
  493 + * @param list
  494 + * @return
  495 + */
  496 + public static int countEmpty(List<ScheduleRealInfo> list) {
  497 + int count = 0;
  498 +
  499 + for(ScheduleRealInfo sch : list){
  500 + if(sch.getBcType().equals("venting") &&
  501 + sch.getStatus() != -1)
  502 + count ++;
  503 + }
  504 + return count;
  505 + }
  506 +
  507 + /**
  508 + * 统计大间隔班次 30 分钟算大间隔
  509 + * @param list
  510 + * @return
  511 + */
  512 + public static int countSpaceLg(List<ScheduleRealInfo> list) throws NoSuchFieldException {
  513 + ArrayListMultimap<String, ScheduleRealInfo> listMap = new ConvertUtil<ScheduleRealInfo>().groupMultiList(list, "", ScheduleRealInfo.class.getDeclaredField("xlDir"));
  514 +
  515 + int count = 0;
  516 + int maxSpace = 1000 * 60 * 30;
  517 + int space;
  518 + Set<String> ks = listMap.keySet();
  519 + List<ScheduleRealInfo> subList;
  520 + for(String k : ks){
  521 + subList = listMap.get(k);
  522 +
  523 + //排序
  524 + Collections.sort(subList, new SceduleComp());
  525 +
  526 + for(int i = 0; i < subList.size() - 1; i ++){
  527 + space = calcSpace(subList.get(i), subList.get(i + 1));
  528 + if(space >= maxSpace)
  529 + count ++;
  530 + }
  531 + }
  532 + return count;
  533 + }
  534 +
  535 + /**
  536 + * 计算最大间隔
  537 + * @param list
  538 + * @return
  539 + */
  540 + public static int calcMaxSpace(List<ScheduleRealInfo> list) throws NoSuchFieldException {
  541 + ArrayListMultimap<String, ScheduleRealInfo> listMap = new ConvertUtil<ScheduleRealInfo>().groupMultiList(list, "", ScheduleRealInfo.class.getDeclaredField("xlDir"));
  542 +
  543 + int space = 0;
  544 + int maxSpace = 0;
  545 + Set<String> ks = listMap.keySet();
  546 + List<ScheduleRealInfo> subList;
  547 + for(String k : ks){
  548 + subList = listMap.get(k);
  549 +
  550 + //排序
  551 + Collections.sort(subList, new SceduleComp());
  552 +
  553 + for(int i = 0; i < subList.size() - 1; i ++){
  554 + space = calcSpace(subList.get(i), subList.get(i + 1));
  555 + if(space > maxSpace)
  556 + maxSpace = space;
  557 + }
  558 + }
  559 + return maxSpace / 1000 / 60;
  560 + }
  561 +
  562 +
  563 + private static DateTimeFormatter fmtyyyyMMddHHmm = DateTimeFormat.forPattern("yyyy-MM-ddHH:mm");
  564 + /**
  565 + * 计算班次间隔(毫秒)
  566 + * @param scheduleRealInfo
  567 + * @param scheduleRealInfo1
  568 + * @return
  569 + */
  570 + private static int calcSpace(ScheduleRealInfo s1, ScheduleRealInfo s2) {
  571 + long t1 = fmtyyyyMMddHHmm.parseMillis(s1.getRealExecDate() + s1.getDfsj());
  572 + long t2 = fmtyyyyMMddHHmm.parseMillis(s2.getRealExecDate() + s2.getDfsj());
  573 + return (int) Math.abs(t2 - t1);
  574 + }
  575 +
  576 + /**
  577 + * 是否是进出场班次
  578 + * @param sch
  579 + * @return
  580 + */
  581 + private static boolean isInOut(ScheduleRealInfo sch){
  582 + return sch.getBcType().equals("out") || sch.getBcType().equals("in");
  583 + }
  584 +
  585 + /**
  586 + * 是否是进出场子任务
  587 + * @param ct
  588 + * @return
  589 + */
  590 + private static boolean isInOut(ChildTaskPlan ct){
  591 + return ct.getType2().equals("2") || ct.getType2().equals("3");
  592 + }
  593 +
  594 + public static class SceduleComp implements Comparator<ScheduleRealInfo>{
  595 +
  596 + @Override
  597 + public int compare(ScheduleRealInfo o1, ScheduleRealInfo o2) {
  598 + return o1.getDfsj().compareTo(o2.getDfsj());
  599 + }
  600 + }
  601 +}
src/main/java/com/bsth/ws_server/util/WSDataConver.java
1 package com.bsth.ws_server.util; 1 package com.bsth.ws_server.util;
2 2
  3 +import com.bsth.entity.DutyEmployee;
  4 +import com.bsth.entity.OilInfo;
3 import com.bsth.entity.ScheduleRealInfo; 5 import com.bsth.entity.ScheduleRealInfo;
  6 +import com.bsth.util.Arith;
  7 +import com.bsth.util.ConvertUtil;
  8 +import com.bsth.ws_server.waybill.entity.*;
  9 +import com.google.common.collect.ArrayListMultimap;
  10 +import org.apache.commons.lang3.StringUtils;
  11 +import org.slf4j.Logger;
  12 +import org.slf4j.LoggerFactory;
4 13
5 -import java.util.HashMap;  
6 -import java.util.List;  
7 -import java.util.Map; 14 +import java.lang.reflect.Field;
  15 +import java.util.*;
8 16
9 /** 17 /**
10 * Created by panzhao on 2017/3/15. 18 * Created by panzhao on 2017/3/15.
@@ -16,7 +24,9 @@ public class WSDataConver { @@ -16,7 +24,9 @@ public class WSDataConver {
16 */ 24 */
17 private static Map<String, String> gsMap; 25 private static Map<String, String> gsMap;
18 26
19 - static{ 27 + static Logger logger = LoggerFactory.getLogger(WSDataConver.class);
  28 +
  29 + static {
20 gsMap = new HashMap<>(); 30 gsMap = new HashMap<>();
21 gsMap.put("55", "上南公司"); 31 gsMap.put("55", "上南公司");
22 gsMap.put("55_4", "上南一分公司"); 32 gsMap.put("55_4", "上南一分公司");
@@ -42,11 +52,12 @@ public class WSDataConver { @@ -42,11 +52,12 @@ public class WSDataConver {
42 52
43 /** 53 /**
44 * 将班次list 转换成 getCurrentDayPlan 函数需要的格式 54 * 将班次list 转换成 getCurrentDayPlan 函数需要的格式
  55 + *
45 * @param list 56 * @param list
46 * @return 57 * @return
47 */ 58 */
48 - public static String[] to_getCurrentDayPlan(List<ScheduleRealInfo> list){  
49 - if(list == null || list.size() == 0) 59 + public static String[] to_getCurrentDayPlan(List<ScheduleRealInfo> list) {
  60 + if (list == null || list.size() == 0)
50 return new String[0]; 61 return new String[0];
51 62
52 63
@@ -55,20 +66,20 @@ public class WSDataConver { @@ -55,20 +66,20 @@ public class WSDataConver {
55 66
56 /** 67 /**
57 * 将班次list 转换成 returnCCInfo 和 returnJCInfo 函数需要的格式 68 * 将班次list 转换成 returnCCInfo 和 returnJCInfo 函数需要的格式
  69 + *
58 * @param list 70 * @param list
59 - * @return  
60 - * [0: 日期, 1: 线路编码, 2: 线路名称, 3: 公司名称, 4: 分公司名称, 5: 路牌, 6: 起点站, 7: 起点计划时间,  
61 - 8: 起点实际时间, 9: 终点站, 10: 终点计划时间, 11: 终点实际时间, 12: 计划里程, 13: 实际里程,  
62 - 14: 驾驶员, 15: 售票员, 16: 车辆内部编码, 17: 状态(1 为出场。2为进场), 18: 驾驶员名称, 19: 进场顺序号] 71 + * @return [0: 日期, 1: 线路编码, 2: 线路名称, 3: 公司名称, 4: 分公司名称, 5: 路牌, 6: 起点站, 7: 起点计划时间,
  72 + * 8: 起点实际时间, 9: 终点站, 10: 终点计划时间, 11: 终点实际时间, 12: 计划里程, 13: 实际里程,
  73 + * 14: 驾驶员, 15: 售票员, 16: 车辆内部编码, 17: 状态(1 为出场。2为进场), 18: 驾驶员名称, 19: 进场顺序号]
63 */ 74 */
64 - public static String[] to_returnJCCInfo(List<ScheduleRealInfo> list){ 75 + public static String[] to_returnJCCInfo(List<ScheduleRealInfo> list) {
65 76
66 int size = list.size(); 77 int size = list.size();
67 String[] array = new String[size]; 78 String[] array = new String[size];
68 79
69 ScheduleRealInfo sch; 80 ScheduleRealInfo sch;
70 StringBuffer sb; 81 StringBuffer sb;
71 - for(int i = 0; i < size; i ++){ 82 + for (int i = 0; i < size; i++) {
72 sb = new StringBuffer(","); 83 sb = new StringBuffer(",");
73 84
74 sch = list.get(i); 85 sch = list.get(i);
@@ -89,7 +100,7 @@ public class WSDataConver { @@ -89,7 +100,7 @@ public class WSDataConver {
89 sb.append(sch.getjGh() + ","); 100 sb.append(sch.getjGh() + ",");
90 sb.append(nvlGetVal(sch.getsGh()) + ","); 101 sb.append(nvlGetVal(sch.getsGh()) + ",");
91 sb.append(sch.getClZbh() + ","); 102 sb.append(sch.getClZbh() + ",");
92 - sb.append((sch.getBcType().equals("out")?1:2 )+ ","); 103 + sb.append((sch.getBcType().equals("out") ? 1 : 2) + ",");
93 sb.append(sch.getjName() + ","); 104 sb.append(sch.getjName() + ",");
94 //用ID替代老系统的出场顺序号 105 //用ID替代老系统的出场顺序号
95 sb.append(sch.getId() + ","); 106 sb.append(sch.getId() + ",");
@@ -99,7 +110,370 @@ public class WSDataConver { @@ -99,7 +110,370 @@ public class WSDataConver {
99 return array; 110 return array;
100 } 111 }
101 112
102 - public static String nvlGetVal(Object val){  
103 - return val==null?"":val.toString(); 113 + public static String nvlGetVal(Object val) {
  114 + return val == null ? "" : val.toString();
  115 + }
  116 +
  117 + /**
  118 + * 将实际排班和油耗数据 转换成南汇路单需要的数据格式
  119 + *
  120 + * @param listMap
  121 + * @param oilInfoMap
  122 + * @return
  123 + */
  124 + public static NH_waybill[] to_waybill_NH(ArrayListMultimap<String, ScheduleRealInfo> listMap, Map<String, OilInfo> oilInfoMap, List<DutyEmployee> des) throws NoSuchFieldException {
  125 + List<String> nbbmArray = new ArrayList<>(listMap.keySet());
  126 +
  127 + NH_waybill[] rs = new NH_waybill[nbbmArray.size()];
  128 + Field jGhField = ScheduleRealInfo.class.getDeclaredField("jGh");
  129 + //Field lpField = ScheduleRealInfo.class.getDeclaredField("lpName");
  130 +
  131 + List<ScheduleRealInfo> list;
  132 + ArrayListMultimap<String, ScheduleRealInfo> jGhListMap;
  133 + ScheduleRealInfo sch;
  134 + NH_waybill nh_waybill;
  135 + NH_waybillItem nh_waybillItem;
  136 + OilInfo oilInfo;
  137 + for (int i = 0; i < nbbmArray.size(); i++) {
  138 + list = listMap.get(nbbmArray.get(i));
  139 + if (list.size() == 0)
  140 + continue;
  141 + //班次信息
  142 + nh_waybill = new NH_waybill();
  143 + sch = list.get(0);
  144 + //日期
  145 + nh_waybill.setM_strYYRQ(sch.getScheduleDateStr());
  146 + //车辆自编号
  147 + nh_waybill.setM_strNBBM(sch.getClZbh());
  148 + //线路编码
  149 + nh_waybill.setM_strXLBM(sch.getXlBm());
  150 + nh_waybill.setM_SubInfos(new ArrayList<NH_waybillItem>());
  151 +
  152 + //按 驾驶员 分组班次,构造路单子项
  153 + jGhListMap = new ConvertUtil<ScheduleRealInfo>().groupMultiList(list, "_", jGhField);
  154 + for (String jGh : jGhListMap.keySet()) {
  155 + list = jGhListMap.get(jGh);
  156 + nh_waybillItem = new NH_waybillItem();
  157 + //计划里程
  158 + nh_waybillItem.setM_dblJHLC(ScheduleCalculator.calcJHLC(list));
  159 + //实际计划公里
  160 + nh_waybillItem.setM_dblSJJHLC(ScheduleCalculator.calcSJLC(list));
  161 + //实际出场里程
  162 + nh_waybillItem.setM_dblCCLC(ScheduleCalculator.calcCCLC(list));
  163 + //实际进场里程
  164 + nh_waybillItem.setM_dblJCLC(ScheduleCalculator.calcJCLC(list));
  165 + //营业公里
  166 + nh_waybillItem.setM_dblYYLC(ScheduleCalculator.calcYYLC(list));
  167 + //空驶公里
  168 + nh_waybillItem.setM_dblKSLC(ScheduleCalculator.calcKSLC(list));
  169 + //抽减公里
  170 + nh_waybillItem.setM_dblCJLC(ScheduleCalculator.calcCJLC(list));
  171 + //烂班公里
  172 + nh_waybillItem.setM_dblLBLC(ScheduleCalculator.calcLBLC(list));
  173 + //增加公里
  174 + nh_waybillItem.setM_dblZJLC(ScheduleCalculator.calcZJLC(list));
  175 + //总公里
  176 + nh_waybillItem.setM_dblZLC(ScheduleCalculator.calcZLC(list));
  177 + //烂班公里原因
  178 + nh_waybillItem.setM_strLBYY(ScheduleCalculator.joinLBYY(list));
  179 + //抽减公里原因
  180 + nh_waybillItem.setM_strCJYY(ScheduleCalculator.joinCJYY(list));
  181 + //计划班次
  182 + nh_waybillItem.setM_intJHBC(ScheduleCalculator.countJHBC(list));
  183 + //实际计划班次
  184 + nh_waybillItem.setM_intSJJHBC(ScheduleCalculator.countSJJHBC(list));
  185 + //实际班次 ————> 暂时和实际计划班次相同
  186 + nh_waybillItem.setM_intSJBC(ScheduleCalculator.countSJJHBC(list));
  187 + //增加班次
  188 + nh_waybillItem.setM_intZJBC(ScheduleCalculator.countZJBC(list));
  189 + //抽减班次
  190 + nh_waybillItem.setM_intCJBC(ScheduleCalculator.countCJBC(list));
  191 + //烂班工时
  192 + nh_waybillItem.setM_dblLBGS(ScheduleCalculator.calcLBGS(list));
  193 + //路牌
  194 + nh_waybillItem.setM_strLP(list.get(0).getLpName());
  195 + //驾驶员工号
  196 + nh_waybillItem.setM_strJSY(list.get(0).getjGh());
  197 + //售票员工号
  198 + nh_waybillItem.setM_strSPY(nvlGetVal(list.get(0).getsGh()));
  199 + //驾驶员考勤
  200 + nh_waybillItem.setM_strJSYKQ("");
  201 + //售票员考勤
  202 + nh_waybillItem.setM_strSPYKQ("");
  203 + //当班调度员
  204 + nh_waybillItem.setM_strDDY(ScheduleCalculator.calcDDY(list, des));
  205 + //营运状态
  206 + nh_waybillItem.setM_strYYZT("");
  207 + //备注
  208 + nh_waybillItem.setM_strBZ("");
  209 +
  210 + oilInfo = oilInfoMap.get(list.get(0).getClZbh() + "_" + list.get(0).getjGh());
  211 + if (oilInfo != null) {
  212 + //出场存油
  213 + nh_waybillItem.setM_dblCCCY(oilInfo.getCzyl());
  214 + //进场存油
  215 + nh_waybillItem.setM_dblJCCY(oilInfo.getJzyl());
  216 + //加注量1
  217 + nh_waybillItem.setM_dblJZL1(oilInfo.getJzl());
  218 + //加注量2
  219 + nh_waybillItem.setM_dblJZL2(0.0);
  220 + //尿素
  221 + nh_waybillItem.setM_dblNS(oilInfo.getNs());
  222 + //消耗量
  223 + nh_waybillItem.setM_dblYH(oilInfo.getYh());
  224 + //加油地点1
  225 + nh_waybillItem.setM_strJYD1("");
  226 + //加油工工号1
  227 + nh_waybillItem.setM_strJYG1("");
  228 + //油耗类型1
  229 + nh_waybillItem.setM_strYHLX1(oilInfo.getRylx());
  230 + }
  231 +
  232 + nh_waybill.getM_SubInfos().add(nh_waybillItem);
  233 + }
  234 +
  235 + rs[i] = nh_waybill;
  236 + }
  237 + return rs;
  238 + }
  239 +
  240 +
  241 + /**
  242 + * 将实际排班和油耗数据 转换成上南路单需要的数据格式
  243 + *
  244 + * @param listMap
  245 + * @param oilInfoMap
  246 + * @return
  247 + */
  248 + public static SN_waybill[] to_waybill_SN(ArrayListMultimap<String, ScheduleRealInfo> listMap, Map<String, OilInfo> oilInfoMap) throws NoSuchFieldException {
  249 +
  250 + List<String> nbbmArray = new ArrayList<>(listMap.keySet());
  251 + SN_waybill[] rs = new SN_waybill[nbbmArray.size()];
  252 + Field jGhField = ScheduleRealInfo.class.getDeclaredField("jGh");
  253 +
  254 + List<ScheduleRealInfo> list;
  255 + ArrayListMultimap<String, ScheduleRealInfo> jGhListMap;
  256 + ScheduleRealInfo sch;
  257 + SN_waybill sn_waybill;
  258 + SN_waybillItem sn_waybillItem;
  259 +
  260 + OilComp oilComp = new OilComp();
  261 + List<OilInfo> oilArray;
  262 + for (int i = 0; i < nbbmArray.size(); i++) {
  263 + list = listMap.get(nbbmArray.get(i));
  264 + if (list.size() == 0)
  265 + continue;
  266 +
  267 + sch = list.get(0);
  268 + sn_waybill = new SN_waybill();
  269 + sn_waybill.setLine_no(sch.getXlBm());
  270 + sn_waybill.setWork_date(sch.getScheduleDateStr());
  271 + sn_waybill.setComp_id(sch.getFgsBm());
  272 + sn_waybill.setGuidecard(sch.getLpName());
  273 + //实际班次
  274 + sn_waybill.setAct_num(ScheduleCalculator.countSJJHBC(list));
  275 + //晚班实际班次
  276 + sn_waybill.setL_act_num(ScheduleCalculator.countSJJHBC(ScheduleCalculator.lastArray(list)));
  277 + //营业里程
  278 + sn_waybill.setWork_way(ScheduleCalculator.calcYYLC(list));
  279 + //空驶里程
  280 + sn_waybill.setLeisure_way(ScheduleCalculator.calcKSLC(list));
  281 + //总里程
  282 + sn_waybill.setCount_way(ScheduleCalculator.calcZLC(list));
  283 + //路单类型(0普通,1包车)
  284 + sn_waybill.setLd_type("0");
  285 + //油料类型(2、柴油 3、天然气 4、汽油柴油 5、液化气 6、液化气汽油 7、液化气柴油 8、天然气汽油 9、电)
  286 + //暂时全部柴油车
  287 + sn_waybill.setOil_type("2");
  288 +
  289 + //根据车辆获取油量信息
  290 + oilArray = likeGet(oilInfoMap, sch.getClZbh() + "_");
  291 + if(oilArray.size() > 0){
  292 + Collections.sort(oilArray, oilComp);
  293 + //出厂存油
  294 + sn_waybill.setOut_oil(oilArray.get(0).getCzyl());
  295 + //进场存油
  296 + sn_waybill.setEnd_oil(oilArray.get(oilArray.size() - 1).getJzyl());
  297 + //油料消耗
  298 + sn_waybill.setExpend_oil(countOilExpend(oilArray));
  299 + //非营业用油类型 非营业用油类型(1.常规车2.包车3.加开包车)
  300 + sn_waybill.setNowork_oil_type("1");
  301 + //非营业用油
  302 + sn_waybill.setNowork_oil(0);
  303 + //非营业用油油耗量(保养用油)
  304 + sn_waybill.setNowork_oil1(0);
  305 + //非营业用油油耗量(票务用油)
  306 + sn_waybill.setNowork_oil2(0);
  307 + //非营业用油油耗量(其他用油)
  308 + sn_waybill.setNowork_oil3(0);
  309 + //营业用油
  310 + sn_waybill.setWork_oil(countOilExpend(oilArray));
  311 + //其他营业用油
  312 + sn_waybill.setQt_work_oil(0);
  313 + }
  314 + sn_waybill.setDriver_detail(new ArrayList<SN_waybillItem>());
  315 +
  316 + //按 驾驶员 分组班次,构造路单子项
  317 + jGhListMap = new ConvertUtil<ScheduleRealInfo>().groupMultiList(list, "_", jGhField);
  318 + for (String jGh : jGhListMap.keySet()) {
  319 + list = jGhListMap.get(jGh);
  320 + sn_waybillItem = new SN_waybillItem();
  321 + sch = list.get(0);
  322 + //司机编号
  323 + sn_waybillItem.setDriver_no(sch.getjGh());
  324 + //司机名称
  325 + sn_waybillItem.setDriver_name(sch.getjName());
  326 + //售票员编号
  327 + sn_waybillItem.setBusman_no(sch.getsGh());
  328 + //售票员名称
  329 + sn_waybillItem.setBusman_name(sch.getsName());
  330 + //行驶里程
  331 + sn_waybillItem.setDriver_way(ScheduleCalculator.calcYYLC(list));
  332 + //空驶公里
  333 + sn_waybillItem.setKs_way(ScheduleCalculator.calcKSLC(list));
  334 + //柴油加注量、电加注量同一字段
  335 + sn_waybillItem.setDo_oil_2(countOilExpend(oilArray, sch.getjGh()));
  336 +
  337 + sn_waybill.getDriver_detail().add(sn_waybillItem);
  338 + }
  339 +
  340 + rs[i] = sn_waybill;
  341 + }
  342 + return rs;
  343 + }
  344 +
  345 + /**
  346 + * 将实际排班转换成上南需要损失公里数据
  347 + * @param listMap
  348 + * @return
  349 + */
  350 + public static SN_lossMileage[] to_lossMileage_SN(ArrayListMultimap<String, ScheduleRealInfo> listMap) throws NoSuchFieldException {
  351 + List<String> lineArray = new ArrayList<>(listMap.keySet());
  352 + SN_lossMileage[] rs = new SN_lossMileage[lineArray.size()];
  353 +
  354 + List<ScheduleRealInfo> list;
  355 + ScheduleRealInfo sch;
  356 + for (int i = 0; i < lineArray.size(); i++) {
  357 + list = listMap.get(lineArray.get(i));
  358 +
  359 + sch = list.get(0);
  360 + SN_lossMileage lossMileage = new SN_lossMileage();
  361 + //线路编号
  362 + lossMileage.setLine_id(sch.getXlBm());
  363 + //营运日期
  364 + lossMileage.setWork_date(sch.getScheduleDateStr());
  365 + //分公司编号
  366 + lossMileage.setComp_id(sch.getFgsBm());
  367 + //少驶公里
  368 + lossMileage.setLoss_way(ScheduleCalculator.calcCJLC(list));
  369 + //实际公里
  370 + lossMileage.setAct_way(ScheduleCalculator.calcYYLC(list));
  371 + //计划公里
  372 + lossMileage.setJh_way(ScheduleCalculator.calcJHLC(list));
  373 + //路阻损失公里
  374 + lossMileage.setLoss_lz(ScheduleCalculator.calcCJLC2(list, "路阻"));
  375 + //吊慢损失公里
  376 + lossMileage.setLoss_dm(ScheduleCalculator.calcCJLC2(list, "吊慢"));
  377 + //故障损失公里
  378 + lossMileage.setLoss_gz(ScheduleCalculator.calcCJLC2(list, "故障"));
  379 + //纠纷损失公里
  380 + lossMileage.setLoss_jf(ScheduleCalculator.calcCJLC2(list, "纠纷"));
  381 + //肇事损失公里
  382 + lossMileage.setLoss_zs(ScheduleCalculator.calcCJLC2(list, "肇事"));
  383 + //缺人损失公里
  384 + lossMileage.setLoss_qr(ScheduleCalculator.calcCJLC2(list, "缺人"));
  385 + //缺车损失公里
  386 + lossMileage.setLoss_qc(ScheduleCalculator.calcCJLC2(list, "缺车"));
  387 + //客稀损失公里
  388 + lossMileage.setLoss_kx(ScheduleCalculator.calcCJLC2(list, "客稀"));
  389 + //其他损失公里
  390 + lossMileage.setLoss_qt(ScheduleCalculator.calcCJLC2(list, "其他"));
  391 + //实际班次
  392 + lossMileage.setAct_num(ScheduleCalculator.countSJJHBC(list));
  393 + //早班班次
  394 + lossMileage.setEarly_num(ScheduleCalculator.countSJJHBC(ScheduleCalculator.earlyArray(list)));
  395 + //晚班班次
  396 + lossMileage.setLate_num(ScheduleCalculator.countSJJHBC(ScheduleCalculator.lastArray(list)));
  397 + //另加班次
  398 + lossMileage.setL_act_num(ScheduleCalculator.countZJBC(list));
  399 + //早班另加班次
  400 + lossMileage.setL_early_num(ScheduleCalculator.countZJBC(ScheduleCalculator.earlyArray(list)));
  401 + //晚班另加班次
  402 + lossMileage.setL_late_num(ScheduleCalculator.countZJBC(ScheduleCalculator.lastArray(list)));
  403 + //计划班次
  404 + lossMileage.setJ_act_num(ScheduleCalculator.countJHBC(list));
  405 + //早班计划班次
  406 + lossMileage.setJ_early_num(ScheduleCalculator.countJHBC(ScheduleCalculator.earlyArray(list)));
  407 + //晚班计划班次
  408 + lossMileage.setJ_late_num(ScheduleCalculator.countJHBC(ScheduleCalculator.lastArray(list)));
  409 + //放站班次
  410 + lossMileage.setF_act_bc(ScheduleCalculator.countEmpty(list));
  411 + //早班放站班次
  412 + lossMileage.setF_early_bc(ScheduleCalculator.countEmpty(ScheduleCalculator.earlyArray(list)));
  413 + //晚班放站班次
  414 + lossMileage.setF_late_bc(ScheduleCalculator.countEmpty(ScheduleCalculator.lastArray(list)));
  415 + //调头班次
  416 + lossMileage.setDt_act_bc(0);
  417 + //早班调头班次
  418 + lossMileage.setDt_early_bc(0);
  419 + //晚班调头班次
  420 + lossMileage.setDt_late_bc(0);
  421 + //大间隔班次
  422 + lossMileage.setD_act_num(ScheduleCalculator.countSpaceLg(list));
  423 + //早班大间隔班次
  424 + lossMileage.setD_early_num(ScheduleCalculator.countSpaceLg(ScheduleCalculator.earlyArray(list)));
  425 + //晚班大间隔班次
  426 + lossMileage.setD_late_num(ScheduleCalculator.countSpaceLg(ScheduleCalculator.lastArray(list)));
  427 + //最大间隔时间
  428 + lossMileage.setD_act_max(ScheduleCalculator.calcMaxSpace(list));
  429 + //故障分
  430 + lossMileage.setLoss_gzf(0);
  431 + //故障次数
  432 + lossMileage.setLoss_gzcs(0);
  433 +
  434 +
  435 + rs[i] = lossMileage;
  436 + }
  437 + return rs;
  438 + }
  439 +
  440 + private static double countOilExpend(List<OilInfo> oilArray) {
  441 + double sum = 0;
  442 + for(OilInfo oilInfo : oilArray){
  443 + sum = Arith.add(sum, oilInfo.getYh());
  444 + }
  445 + return sum;
  446 + }
  447 +
  448 + private static double countOilExpend(List<OilInfo> oilArray, String jGh) {
  449 + double sum = 0;
  450 + for(OilInfo oilInfo : oilArray){
  451 + if(oilInfo.getJsy().equals(jGh))
  452 + sum = Arith.add(sum, oilInfo.getYh());
  453 + }
  454 + return sum;
  455 + }
  456 +
  457 + public static <T> List<T> likeGet(Map<String, T> map, String key) {
  458 + Set<String> ks = map.keySet();
  459 + List<T> list = new ArrayList<>();
  460 +
  461 + if (StringUtils.isEmpty(key))
  462 + return list;
  463 +
  464 + for (String k : ks) {
  465 + if (k.indexOf(key) != -1) {
  466 + list.add(map.get(k));
  467 + }
  468 + }
  469 + return list;
  470 + }
  471 +
  472 + public static class OilComp implements Comparator<OilInfo>{
  473 +
  474 + @Override
  475 + public int compare(OilInfo o1, OilInfo o2) {
  476 + return o1.getJcsx() - o2.getJcsx();
  477 + }
104 } 478 }
105 } 479 }
src/main/java/com/bsth/ws_server/waybill/LD_Service.java
1 package com.bsth.ws_server.waybill; 1 package com.bsth.ws_server.waybill;
2 2
3 import com.bsth.ws_server.waybill.entity.NH_waybill; 3 import com.bsth.ws_server.waybill.entity.NH_waybill;
  4 +import com.bsth.ws_server.waybill.entity.SN_lossMileage;
  5 +import com.bsth.ws_server.waybill.entity.SN_waybill;
4 6
5 import javax.jws.WebMethod; 7 import javax.jws.WebMethod;
6 import javax.jws.WebParam; 8 import javax.jws.WebParam;
@@ -12,7 +14,7 @@ import javax.xml.ws.Holder; @@ -12,7 +14,7 @@ import javax.xml.ws.Holder;
12 * Created by panzhao on 2017/3/17. 14 * Created by panzhao on 2017/3/17.
13 */ 15 */
14 @WebService( 16 @WebService(
15 - name = "LD_Service", 17 + name = "LD_ServiceSoap",
16 targetNamespace = "http://control.bsth.com/") 18 targetNamespace = "http://control.bsth.com/")
17 public interface LD_Service { 19 public interface LD_Service {
18 20
@@ -34,14 +36,33 @@ public interface LD_Service { @@ -34,14 +36,33 @@ public interface LD_Service {
34 @WebParam(name = "fError", mode = WebParam.Mode.INOUT) Holder<String> fError); 36 @WebParam(name = "fError", mode = WebParam.Mode.INOUT) Holder<String> fError);
35 37
36 /** 38 /**
37 - * 路单接口(上南统计格式)  
38 - * @param password 密码  
39 - * @param rq 日期 39 + * 路单接口(上南格式)
  40 + *
  41 + * @param password 密码
  42 + * @param rq 日期
40 * @param companyId 公司编码 43 * @param companyId 公司编码
41 * @return 44 * @return
42 */ 45 */
43 boolean waybill_SN( 46 boolean waybill_SN(
44 @WebParam(name = "password") String password, 47 @WebParam(name = "password") String password,
45 @WebParam(name = "rq") String rq, 48 @WebParam(name = "rq") String rq,
46 - @WebParam(name = "companyId") String companyId); 49 + @WebParam(name = "companyId") String companyId,
  50 + @WebParam(name = "resultArray", mode = WebParam.Mode.INOUT) Holder<SN_waybill[]> result,
  51 + @WebParam(name = "fError", mode = WebParam.Mode.INOUT) Holder<String> fError);
  52 +
  53 + /**
  54 + * 损失公里(上南格式)
  55 + * @param password
  56 + * @param rq
  57 + * @param companyId
  58 + * @param result
  59 + * @param fError
  60 + * @return
  61 + */
  62 + boolean lossMileage(
  63 + @WebParam(name = "password") String password,
  64 + @WebParam(name = "rq") String rq,
  65 + @WebParam(name = "companyId") String companyId,
  66 + @WebParam(name = "resultArray", mode = WebParam.Mode.INOUT) Holder<SN_lossMileage[]> result,
  67 + @WebParam(name = "fError", mode = WebParam.Mode.INOUT) Holder<String> fError);
47 } 68 }
src/main/java/com/bsth/ws_server/waybill/LD_ServiceSoap.java
1 package com.bsth.ws_server.waybill; 1 package com.bsth.ws_server.waybill;
2 2
  3 +import com.bsth.entity.DutyEmployee;
  4 +import com.bsth.entity.OilInfo;
  5 +import com.bsth.entity.ScheduleRealInfo;
  6 +import com.bsth.old_sys_wsclient.OldWSClient;
  7 +import com.bsth.old_sys_wsclient.nh_ld.ClsLDInfo;
  8 +import com.bsth.redis.OilRedisService;
  9 +import com.bsth.redis.ScheduleRedisService;
  10 +import com.bsth.repository.DutyEmployeeRepository;
  11 +import com.bsth.service.UserService;
  12 +import com.bsth.ws_proxy.WebServiceProxy;
  13 +import com.bsth.ws_server.util.WSDataConver;
3 import com.bsth.ws_server.waybill.entity.NH_waybill; 14 import com.bsth.ws_server.waybill.entity.NH_waybill;
  15 +import com.bsth.ws_server.waybill.entity.SN_lossMileage;
  16 +import com.bsth.ws_server.waybill.entity.SN_waybill;
  17 +import com.google.common.collect.ArrayListMultimap;
  18 +import org.joda.time.format.DateTimeFormat;
  19 +import org.joda.time.format.DateTimeFormatter;
  20 +import org.slf4j.Logger;
  21 +import org.slf4j.LoggerFactory;
  22 +import org.springframework.beans.BeansException;
  23 +import org.springframework.context.ApplicationContext;
  24 +import org.springframework.context.ApplicationContextAware;
  25 +import org.springframework.stereotype.Component;
4 26
5 import javax.jws.WebService; 27 import javax.jws.WebService;
6 import javax.xml.ws.Holder; 28 import javax.xml.ws.Holder;
  29 +import java.util.List;
  30 +import java.util.Map;
7 31
8 /** 32 /**
9 * Created by panzhao on 2017/3/17. 33 * Created by panzhao on 2017/3/17.
10 */ 34 */
  35 +@Component
11 @WebService( 36 @WebService(
12 name = "LD_ServiceSoap", 37 name = "LD_ServiceSoap",
13 portName = "LD_ServiceSoap", 38 portName = "LD_ServiceSoap",
14 serviceName = "LD_Service", 39 serviceName = "LD_Service",
15 targetNamespace = "http://control.bsth.com/", 40 targetNamespace = "http://control.bsth.com/",
16 endpointInterface = "com.bsth.ws_server.waybill.LD_Service") 41 endpointInterface = "com.bsth.ws_server.waybill.LD_Service")
17 -public class LD_ServiceSoap implements LD_Service { 42 +public class LD_ServiceSoap implements LD_Service, ApplicationContextAware {
  43 +
  44 + static OilRedisService oilRedisService;
  45 + static ScheduleRedisService scheduleRedisService;
  46 + static DutyEmployeeRepository dutyEmployeeRepository;
  47 +
  48 + static UserService userService;
  49 +
  50 + Logger logger = LoggerFactory.getLogger(this.getClass());
  51 +
  52 + private static DateTimeFormatter fmtyyyyMMddHHmm = DateTimeFormat.forPattern("yyyy-MM-ddHH:mm");
18 53
19 @Override 54 @Override
20 public boolean waybill_NH(String password, String rq, String companyId, Holder<NH_waybill[]> result, Holder<String> fError) { 55 public boolean waybill_NH(String password, String rq, String companyId, Holder<NH_waybill[]> result, Holder<String> fError) {
21 - return false; 56 + try {
  57 + if(userService.get(password) == null){
  58 + fError.value = "无效的密码!";
  59 + return false;
  60 + }
  61 +
  62 + //实际排班
  63 + ArrayListMultimap<String, ScheduleRealInfo> listMap = scheduleRedisService.findByDateAndGroupByNbbm_bingxing(rq, companyId);
  64 + //油耗信息
  65 + Map<String, OilInfo> oilInfoMap = oilRedisService.findByNbbmGroup(listMap.keySet(), rq);
  66 + //当班调派
  67 + long st = fmtyyyyMMddHHmm.parseMillis(rq + "00:00"), et = fmtyyyyMMddHHmm.parseMillis(rq + "23:59");
  68 + List<DutyEmployee> des = dutyEmployeeRepository.findByTime(st, et);
  69 + //转换成南汇路单需要的格式
  70 + NH_waybill[] array = WSDataConver.to_waybill_NH(listMap, oilInfoMap, des);
  71 + result.value = array;
  72 +
  73 + if(companyId.equals("26") && !WebServiceProxy.isAllNew(companyId)){
  74 + ClsLDInfo[] oldArray = OldWSClient.getNH_LD(companyId, rq);
  75 + //合并新老系统的数据
  76 + result.value = WebServiceProxy.mergerData(result.value, oldArray, companyId);
  77 + }
  78 + } catch (Exception e) {
  79 + logger.error("", e);
  80 + fError.value = "服务器出现异常!";
  81 + return false;
  82 + }
  83 + return true;
  84 + }
  85 +
  86 + @Override
  87 + public boolean waybill_SN(String password, String rq, String companyId, Holder<SN_waybill[]> result, Holder<String> fError) {
  88 + try {
  89 + if(userService.get(password) == null){
  90 + fError.value = "无效的密码!";
  91 + return false;
  92 + }
  93 +
  94 + //实际排班
  95 + ArrayListMultimap<String, ScheduleRealInfo> listMap = scheduleRedisService.findByDateAndGroupByNbbm(rq, companyId);
  96 + //油耗信息
  97 + Map<String, OilInfo> oilInfoMap = oilRedisService.findByNbbmGroup(listMap.keySet(), rq);
  98 + //转换成上南路单需要的格式
  99 + SN_waybill[] array = WSDataConver.to_waybill_SN(listMap, oilInfoMap);
  100 + result.value = array;
  101 + } catch (Exception e) {
  102 + logger.error("", e);
  103 + fError.value = "服务器出现异常!";
  104 + return false;
  105 + }
  106 + return true;
22 } 107 }
23 108
24 @Override 109 @Override
25 - public boolean waybill_SN(String password, String rq, String companyId) { 110 + public boolean lossMileage(String password, String rq, String companyId, Holder<SN_lossMileage[]> result, Holder<String> fError) {
  111 + try {
  112 + if(userService.get(password) == null){
  113 + fError.value = "无效的密码!";
  114 + return false;
  115 + }
  116 +
  117 + //按线路分组的实际排班
  118 + ArrayListMultimap<String, ScheduleRealInfo> listMap = scheduleRedisService.findByDateAndGroupByLine(rq, companyId);
  119 + //转换成上南需要的损失公里数据
  120 + SN_lossMileage[] array = WSDataConver.to_lossMileage_SN(listMap);
  121 + result.value = array;
  122 + } catch (Exception e) {
  123 + logger.error("", e);
  124 + fError.value = "服务器出现异常!";
  125 + return false;
  126 + }
26 return false; 127 return false;
27 } 128 }
  129 +
  130 +
  131 + @Override
  132 + public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
  133 + oilRedisService = applicationContext.getBean(OilRedisService.class);
  134 + scheduleRedisService = applicationContext.getBean(ScheduleRedisService.class);
  135 + dutyEmployeeRepository = applicationContext.getBean(DutyEmployeeRepository.class);
  136 + userService = applicationContext.getBean(UserService.class);
  137 + }
28 } 138 }
src/main/java/com/bsth/ws_server/waybill/entity/NH_waybillItem.java
1 package com.bsth.ws_server.waybill.entity; 1 package com.bsth.ws_server.waybill.entity;
2 2
3 /** 3 /**
4 - * 南汇路单格式 子项 4 + * 南汇路单格式细项(一单多人)
5 * Created by panzhao on 2017/3/17. 5 * Created by panzhao on 2017/3/17.
6 */ 6 */
7 public class NH_waybillItem { 7 public class NH_waybillItem {
src/main/java/com/bsth/ws_server/waybill/entity/SN_lossMileage.java 0 → 100644
  1 +package com.bsth.ws_server.waybill.entity;
  2 +
  3 +/**
  4 + * 上南损失公里数据格式
  5 + * Created by panzhao on 2017/3/23.
  6 + */
  7 +public class SN_lossMileage {
  8 +
  9 + /** 线路编号 */
  10 + private String line_id;
  11 +
  12 + /** 营运日期 */
  13 + private String work_date;
  14 +
  15 + /** 分公司编号 */
  16 + private String comp_id;
  17 +
  18 + /** 少驶公里 */
  19 + private double loss_way;
  20 +
  21 + /** 实际公里 */
  22 + private double act_way;
  23 +
  24 + /** 计划公里 */
  25 + private double jh_way;
  26 +
  27 + /** 路阻损失公里 */
  28 + private double loss_lz;
  29 +
  30 + /** 吊慢损失公里 */
  31 + private double loss_dm;
  32 +
  33 + /** 故障损失公里 */
  34 + private double loss_gz;
  35 +
  36 + /** 纠纷损失公里 */
  37 + private double loss_jf;
  38 +
  39 + /** 肇事损失公里 */
  40 + private double loss_zs;
  41 +
  42 + /** 缺人损失公里 */
  43 + private double loss_qr;
  44 +
  45 + /** 缺车损失公里 */
  46 + private double loss_qc;
  47 +
  48 + /** 客稀损失公里 */
  49 + private double loss_kx;
  50 +
  51 + /** 另加损失公里 */
  52 + private double loss_lj;
  53 +
  54 + /** 其他损失公里 */
  55 + private double loss_qt;
  56 +
  57 + /** 实际班次 */
  58 + private int act_num;
  59 +
  60 + /** 早班班次 */
  61 + private int early_num;
  62 +
  63 + /** 晚班班次 */
  64 + private int late_num;
  65 +
  66 + /** 另加班次 */
  67 + private int l_act_num;
  68 +
  69 + /** 早班另加班次 */
  70 + private int l_early_num;
  71 +
  72 + /** 晚班另加班次 */
  73 + private int l_late_num;
  74 +
  75 + /** 计划班次 */
  76 + private int j_act_num;
  77 +
  78 + /** 早班计划班次 */
  79 + private int j_early_num;
  80 +
  81 + /** 晚班计划班次 */
  82 + private int j_late_num;
  83 +
  84 + /** 放站班次 */
  85 + private int f_act_bc;
  86 +
  87 + /** 早班放站班次 */
  88 + private int f_early_bc;
  89 +
  90 + /** 晚班放站班次 */
  91 + private int f_late_bc;
  92 +
  93 + /** 调头班次 */
  94 + private int dt_act_bc;
  95 +
  96 + /** 早班调头班次 */
  97 + private int dt_early_bc;
  98 +
  99 + /** 晚班调头班次 */
  100 + private int dt_late_bc;
  101 +
  102 + /** 早班大间隔班次 */
  103 + private int d_early_num;
  104 +
  105 + /** 晚班大间隔班次 */
  106 + private int d_late_num;
  107 +
  108 + /** 大间隔班次 */
  109 + private int d_act_num;
  110 +
  111 + /** 最大间隔时间 */
  112 + private int d_act_max;
  113 +
  114 + /** 故障分 */
  115 + private int loss_gzf;
  116 +
  117 + /** 故障次数 */
  118 + private int loss_gzcs;
  119 +
  120 + public String getLine_id() {
  121 + return line_id;
  122 + }
  123 +
  124 + public void setLine_id(String line_id) {
  125 + this.line_id = line_id;
  126 + }
  127 +
  128 + public String getWork_date() {
  129 + return work_date;
  130 + }
  131 +
  132 + public void setWork_date(String work_date) {
  133 + this.work_date = work_date;
  134 + }
  135 +
  136 + public String getComp_id() {
  137 + return comp_id;
  138 + }
  139 +
  140 + public void setComp_id(String comp_id) {
  141 + this.comp_id = comp_id;
  142 + }
  143 +
  144 + public double getLoss_way() {
  145 + return loss_way;
  146 + }
  147 +
  148 + public void setLoss_way(double loss_way) {
  149 + this.loss_way = loss_way;
  150 + }
  151 +
  152 + public double getAct_way() {
  153 + return act_way;
  154 + }
  155 +
  156 + public void setAct_way(double act_way) {
  157 + this.act_way = act_way;
  158 + }
  159 +
  160 + public double getJh_way() {
  161 + return jh_way;
  162 + }
  163 +
  164 + public void setJh_way(double jh_way) {
  165 + this.jh_way = jh_way;
  166 + }
  167 +
  168 + public double getLoss_lz() {
  169 + return loss_lz;
  170 + }
  171 +
  172 + public void setLoss_lz(double loss_lz) {
  173 + this.loss_lz = loss_lz;
  174 + }
  175 +
  176 + public double getLoss_dm() {
  177 + return loss_dm;
  178 + }
  179 +
  180 + public void setLoss_dm(double loss_dm) {
  181 + this.loss_dm = loss_dm;
  182 + }
  183 +
  184 + public double getLoss_gz() {
  185 + return loss_gz;
  186 + }
  187 +
  188 + public void setLoss_gz(double loss_gz) {
  189 + this.loss_gz = loss_gz;
  190 + }
  191 +
  192 + public double getLoss_jf() {
  193 + return loss_jf;
  194 + }
  195 +
  196 + public void setLoss_jf(double loss_jf) {
  197 + this.loss_jf = loss_jf;
  198 + }
  199 +
  200 + public double getLoss_zs() {
  201 + return loss_zs;
  202 + }
  203 +
  204 + public void setLoss_zs(double loss_zs) {
  205 + this.loss_zs = loss_zs;
  206 + }
  207 +
  208 + public double getLoss_qr() {
  209 + return loss_qr;
  210 + }
  211 +
  212 + public void setLoss_qr(double loss_qr) {
  213 + this.loss_qr = loss_qr;
  214 + }
  215 +
  216 + public double getLoss_qc() {
  217 + return loss_qc;
  218 + }
  219 +
  220 + public void setLoss_qc(double loss_qc) {
  221 + this.loss_qc = loss_qc;
  222 + }
  223 +
  224 + public double getLoss_kx() {
  225 + return loss_kx;
  226 + }
  227 +
  228 + public void setLoss_kx(double loss_kx) {
  229 + this.loss_kx = loss_kx;
  230 + }
  231 +
  232 + public double getLoss_lj() {
  233 + return loss_lj;
  234 + }
  235 +
  236 + public void setLoss_lj(double loss_lj) {
  237 + this.loss_lj = loss_lj;
  238 + }
  239 +
  240 + public double getLoss_qt() {
  241 + return loss_qt;
  242 + }
  243 +
  244 + public void setLoss_qt(double loss_qt) {
  245 + this.loss_qt = loss_qt;
  246 + }
  247 +
  248 + public int getAct_num() {
  249 + return act_num;
  250 + }
  251 +
  252 + public void setAct_num(int act_num) {
  253 + this.act_num = act_num;
  254 + }
  255 +
  256 + public int getEarly_num() {
  257 + return early_num;
  258 + }
  259 +
  260 + public void setEarly_num(int early_num) {
  261 + this.early_num = early_num;
  262 + }
  263 +
  264 + public int getLate_num() {
  265 + return late_num;
  266 + }
  267 +
  268 + public void setLate_num(int late_num) {
  269 + this.late_num = late_num;
  270 + }
  271 +
  272 + public int getL_act_num() {
  273 + return l_act_num;
  274 + }
  275 +
  276 + public void setL_act_num(int l_act_num) {
  277 + this.l_act_num = l_act_num;
  278 + }
  279 +
  280 + public int getL_early_num() {
  281 + return l_early_num;
  282 + }
  283 +
  284 + public void setL_early_num(int l_early_num) {
  285 + this.l_early_num = l_early_num;
  286 + }
  287 +
  288 + public int getL_late_num() {
  289 + return l_late_num;
  290 + }
  291 +
  292 + public void setL_late_num(int l_late_num) {
  293 + this.l_late_num = l_late_num;
  294 + }
  295 +
  296 + public int getJ_act_num() {
  297 + return j_act_num;
  298 + }
  299 +
  300 + public void setJ_act_num(int j_act_num) {
  301 + this.j_act_num = j_act_num;
  302 + }
  303 +
  304 + public int getJ_early_num() {
  305 + return j_early_num;
  306 + }
  307 +
  308 + public void setJ_early_num(int j_early_num) {
  309 + this.j_early_num = j_early_num;
  310 + }
  311 +
  312 + public int getJ_late_num() {
  313 + return j_late_num;
  314 + }
  315 +
  316 + public void setJ_late_num(int j_late_num) {
  317 + this.j_late_num = j_late_num;
  318 + }
  319 +
  320 + public int getF_act_bc() {
  321 + return f_act_bc;
  322 + }
  323 +
  324 + public void setF_act_bc(int f_act_bc) {
  325 + this.f_act_bc = f_act_bc;
  326 + }
  327 +
  328 + public int getF_early_bc() {
  329 + return f_early_bc;
  330 + }
  331 +
  332 + public void setF_early_bc(int f_early_bc) {
  333 + this.f_early_bc = f_early_bc;
  334 + }
  335 +
  336 + public int getF_late_bc() {
  337 + return f_late_bc;
  338 + }
  339 +
  340 + public void setF_late_bc(int f_late_bc) {
  341 + this.f_late_bc = f_late_bc;
  342 + }
  343 +
  344 + public int getDt_act_bc() {
  345 + return dt_act_bc;
  346 + }
  347 +
  348 + public void setDt_act_bc(int dt_act_bc) {
  349 + this.dt_act_bc = dt_act_bc;
  350 + }
  351 +
  352 + public int getDt_early_bc() {
  353 + return dt_early_bc;
  354 + }
  355 +
  356 + public void setDt_early_bc(int dt_early_bc) {
  357 + this.dt_early_bc = dt_early_bc;
  358 + }
  359 +
  360 + public int getDt_late_bc() {
  361 + return dt_late_bc;
  362 + }
  363 +
  364 + public void setDt_late_bc(int dt_late_bc) {
  365 + this.dt_late_bc = dt_late_bc;
  366 + }
  367 +
  368 + public int getD_early_num() {
  369 + return d_early_num;
  370 + }
  371 +
  372 + public void setD_early_num(int d_early_num) {
  373 + this.d_early_num = d_early_num;
  374 + }
  375 +
  376 + public int getD_late_num() {
  377 + return d_late_num;
  378 + }
  379 +
  380 + public void setD_late_num(int d_late_num) {
  381 + this.d_late_num = d_late_num;
  382 + }
  383 +
  384 + public int getD_act_num() {
  385 + return d_act_num;
  386 + }
  387 +
  388 + public void setD_act_num(int d_act_num) {
  389 + this.d_act_num = d_act_num;
  390 + }
  391 +
  392 + public int getD_act_max() {
  393 + return d_act_max;
  394 + }
  395 +
  396 + public void setD_act_max(int d_act_max) {
  397 + this.d_act_max = d_act_max;
  398 + }
  399 +
  400 + public int getLoss_gzf() {
  401 + return loss_gzf;
  402 + }
  403 +
  404 + public void setLoss_gzf(int loss_gzf) {
  405 + this.loss_gzf = loss_gzf;
  406 + }
  407 +
  408 + public int getLoss_gzcs() {
  409 + return loss_gzcs;
  410 + }
  411 +
  412 + public void setLoss_gzcs(int loss_gzcs) {
  413 + this.loss_gzcs = loss_gzcs;
  414 + }
  415 +}