Pārlūkot izejas kodu

'新增打印功能'

liaolijun 5 mēneši atpakaļ
vecāks
revīzija
96d884624d
100 mainītis faili ar 17572 papildinājumiem un 0 dzēšanām
  1. 13 0
      .gitee/ISSUE_TEMPLATE.zh-CN.md
  2. 53 0
      .gitee/PULL_REQUEST_TEMPLATE.zh-CN.md
  3. 32 0
      .gitignore
  4. 36 0
      README.en.md
  5. 37 0
      README.md
  6. 248 0
      pom.xml
  7. 34 0
      src/main/java/com/steerinfo/DilApplicationMain.java
  8. 15 0
      src/main/java/com/steerinfo/dil/annotaion/EnableExport.java
  9. 18 0
      src/main/java/com/steerinfo/dil/annotaion/EnableExportField.java
  10. 15 0
      src/main/java/com/steerinfo/dil/annotaion/ImportIndex.java
  11. 17 0
      src/main/java/com/steerinfo/dil/annotaion/LogAround.java
  12. 15 0
      src/main/java/com/steerinfo/dil/annotaion/RequestLimit.java
  13. 178 0
      src/main/java/com/steerinfo/dil/aspect/LogAspect.java
  14. 22 0
      src/main/java/com/steerinfo/dil/config/CorsConfig1.java
  15. 12 0
      src/main/java/com/steerinfo/dil/config/FileUtils.java
  16. 236 0
      src/main/java/com/steerinfo/dil/config/ImageFileUtils.java
  17. 21 0
      src/main/java/com/steerinfo/dil/config/MyFeignRequestInterceptor.java
  18. 77 0
      src/main/java/com/steerinfo/dil/config/RepeatRequestIntercept.java
  19. 140 0
      src/main/java/com/steerinfo/dil/config/RequestFilter.java
  20. 60 0
      src/main/java/com/steerinfo/dil/config/RequestWrapper.java
  21. 89 0
      src/main/java/com/steerinfo/dil/config/SessionInterceptor.java
  22. 114 0
      src/main/java/com/steerinfo/dil/config/SqlInjectFilter.java
  23. 27 0
      src/main/java/com/steerinfo/dil/config/WebConfig.java
  24. 28 0
      src/main/java/com/steerinfo/dil/config/WebExceptionHandler.java
  25. 43 0
      src/main/java/com/steerinfo/dil/config/WebSocketConfig.java
  26. 1098 0
      src/main/java/com/steerinfo/dil/controller/AMScontroller.java
  27. 184 0
      src/main/java/com/steerinfo/dil/controller/BackgroundProcessingController.java
  28. 40 0
      src/main/java/com/steerinfo/dil/controller/DilVersionController.java
  29. 27 0
      src/main/java/com/steerinfo/dil/controller/DzController.java
  30. 248 0
      src/main/java/com/steerinfo/dil/controller/EMSController.java
  31. 1918 0
      src/main/java/com/steerinfo/dil/controller/RMScontroller.java
  32. 203 0
      src/main/java/com/steerinfo/dil/controller/ReportController.java
  33. 434 0
      src/main/java/com/steerinfo/dil/controller/SystemFileController.java
  34. 30 0
      src/main/java/com/steerinfo/dil/controller/TMIcontroller.java
  35. 1235 0
      src/main/java/com/steerinfo/dil/controller/TMSController.java
  36. 480 0
      src/main/java/com/steerinfo/dil/controller/UniversalController.java
  37. 388 0
      src/main/java/com/steerinfo/dil/controller/WMSController.java
  38. 60 0
      src/main/java/com/steerinfo/dil/controller/WebSocketController.java
  39. 19 0
      src/main/java/com/steerinfo/dil/controller/systemOaController.java
  40. 33 0
      src/main/java/com/steerinfo/dil/feign/ATWmsFeign.java
  41. 405 0
      src/main/java/com/steerinfo/dil/feign/AmsFeign.java
  42. 23 0
      src/main/java/com/steerinfo/dil/feign/ColumnDataFeign.java
  43. 48 0
      src/main/java/com/steerinfo/dil/feign/DzFeign.java
  44. 104 0
      src/main/java/com/steerinfo/dil/feign/EmsFeign.java
  45. 113 0
      src/main/java/com/steerinfo/dil/feign/ReportFeign.java
  46. 947 0
      src/main/java/com/steerinfo/dil/feign/RmsFeign.java
  47. 126 0
      src/main/java/com/steerinfo/dil/feign/SSOFeign.java
  48. 21 0
      src/main/java/com/steerinfo/dil/feign/TmiFeign.java
  49. 451 0
      src/main/java/com/steerinfo/dil/feign/TmsFeign.java
  50. 125 0
      src/main/java/com/steerinfo/dil/feign/WMSFeign.java
  51. 51 0
      src/main/java/com/steerinfo/dil/feign/WebSocketFeign.java
  52. 441 0
      src/main/java/com/steerinfo/dil/feign/WlTmsFeign.java
  53. 22 0
      src/main/java/com/steerinfo/dil/interceptors/MyLocaleChangeInterceptor.java
  54. 33 0
      src/main/java/com/steerinfo/dil/mapper/BackgroundProcessingMapper.java
  55. 8 0
      src/main/java/com/steerinfo/dil/mapper/CommonMapper.java
  56. 15 0
      src/main/java/com/steerinfo/dil/mapper/DilAppCidMapper.java
  57. 18 0
      src/main/java/com/steerinfo/dil/mapper/DilCidCapacityMapper.java
  58. 21 0
      src/main/java/com/steerinfo/dil/mapper/DilRoleOrgcodeTableMapper.java
  59. 13 0
      src/main/java/com/steerinfo/dil/mapper/DilTableColumnRoleMapper.java
  60. 25 0
      src/main/java/com/steerinfo/dil/mapper/DilVersionMapper.java
  61. 17 0
      src/main/java/com/steerinfo/dil/mapper/LogResultMapper.java
  62. 406 0
      src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java
  63. 22 0
      src/main/java/com/steerinfo/dil/mapper/RmsReceivingCompanyMapper.java
  64. 19 0
      src/main/java/com/steerinfo/dil/mapper/SystemFileMapper.java
  65. 137 0
      src/main/java/com/steerinfo/dil/mapper/UniversalMapper.java
  66. 289 0
      src/main/java/com/steerinfo/dil/model/DilAppCid.java
  67. 154 0
      src/main/java/com/steerinfo/dil/model/DilCidCapacity.java
  68. 123 0
      src/main/java/com/steerinfo/dil/model/DilRoleOrgcodeTable.java
  69. 78 0
      src/main/java/com/steerinfo/dil/model/DilTableColumnRole.java
  70. 154 0
      src/main/java/com/steerinfo/dil/model/DilVersion.java
  71. 243 0
      src/main/java/com/steerinfo/dil/model/LogResult.java
  72. 454 0
      src/main/java/com/steerinfo/dil/model/OmstruckOrder.java
  73. 129 0
      src/main/java/com/steerinfo/dil/model/RmsReceivingCompany.java
  74. 57 0
      src/main/java/com/steerinfo/dil/model/SystemFile.java
  75. 886 0
      src/main/java/com/steerinfo/dil/model/WmsSlmDlivDir.java
  76. 7 0
      src/main/java/com/steerinfo/dil/service/IBackgroundProcessService.java
  77. 23 0
      src/main/java/com/steerinfo/dil/service/IDilVersionService.java
  78. 28 0
      src/main/java/com/steerinfo/dil/service/ISystemFileService.java
  79. 14 0
      src/main/java/com/steerinfo/dil/service/LogService.java
  80. 23 0
      src/main/java/com/steerinfo/dil/service/RmsReceivingCompanyService.java
  81. 19 0
      src/main/java/com/steerinfo/dil/service/UniversalService.java
  82. 18 0
      src/main/java/com/steerinfo/dil/service/impl/BackgroundProcessingServiceImpl.java
  83. 72 0
      src/main/java/com/steerinfo/dil/service/impl/DilVersionServiceImpl.java
  84. 49 0
      src/main/java/com/steerinfo/dil/service/impl/RmsReceivingCompanyServiceImpl.java
  85. 49 0
      src/main/java/com/steerinfo/dil/service/impl/SystemFileServiceImpl.java
  86. 36 0
      src/main/java/com/steerinfo/dil/service/impl/TestServiceImpl.java
  87. 132 0
      src/main/java/com/steerinfo/dil/service/impl/UniversalServiceImpl.java
  88. 75 0
      src/main/java/com/steerinfo/dil/util/BaseRESTfulController.java
  89. 49 0
      src/main/java/com/steerinfo/dil/util/ColumnDataUtil.java
  90. 365 0
      src/main/java/com/steerinfo/dil/util/DataChange.java
  91. 284 0
      src/main/java/com/steerinfo/dil/util/DateUtils.java
  92. 30 0
      src/main/java/com/steerinfo/dil/util/DisposeRoleData.java
  93. 70 0
      src/main/java/com/steerinfo/dil/util/ESUtil.java
  94. 147 0
      src/main/java/com/steerinfo/dil/util/EasyExcelUitl.java
  95. 587 0
      src/main/java/com/steerinfo/dil/util/ExcelToolUtils.java
  96. 583 0
      src/main/java/com/steerinfo/dil/util/FtpFileUtil.java
  97. 186 0
      src/main/java/com/steerinfo/dil/util/HTTPRequestUtils.java
  98. 126 0
      src/main/java/com/steerinfo/dil/util/HttpUtil.java
  99. 18 0
      src/main/java/com/steerinfo/dil/util/IDutils.java
  100. 427 0
      src/main/java/com/steerinfo/dil/util/POIExcelToHtml.java

+ 13 - 0
.gitee/ISSUE_TEMPLATE.zh-CN.md

@@ -0,0 +1,13 @@
+### 该问题是怎么引起的?
+
+
+
+### 重现步骤
+
+
+
+### 报错信息
+
+
+
+

+ 53 - 0
.gitee/PULL_REQUEST_TEMPLATE.zh-CN.md

@@ -0,0 +1,53 @@
+### 一、内容说明(相关的Issue)
+
+
+
+### 二、建议测试周期和提测地址  
+  建议测试完成时间:xxxx.xx.xx  
+  投产上线时间:xxxx.xx.xx  
+  提测地址:CI环境/压测环境  
+  测试账号:  
+
+### 三、变更内容
+  * 3.1 关联PR列表
+
+  * 3.2 数据库和部署说明  
+    1. 常规更新 
+    2. 重启unicorn
+    3. 重启sidekiq
+    4. 迁移任务:是否有迁移任务,没有写 "无"
+    5. rake脚本:`bundle exec xxx RAILS_ENV = production`;没有写 "无"
+
+  * 3.4 其他技术优化内容(做了什么,变更了什么)
+    - 重构了 xxxx 代码
+    - xxxx 算法优化
+
+
+  * 3.5 废弃通知(什么字段、方法弃用?)
+
+
+
+  * 3.6  后向不兼容变更(是否有无法向后兼容的变更?)
+
+
+  
+### 四、研发自测点(自测哪些?冒烟用例全部自测?)
+  自测测试结论:
+
+
+### 五、测试关注点(需要提醒QA重点关注的、可能会忽略的地方)
+  检查点:
+
+| 需求名称 | 是否影响xx公共模块 | 是否需要xx功能 | 需求升级是否依赖其他子产品 |
+|------|------------|----------|---------------|
+| xxx  | 否          | 需要       | 不需要           |
+|      |            |          |               |
+
+  接口测试:
+
+  性能测试:
+
+  并发测试:
+
+  其他:
+

+ 32 - 0
.gitignore

@@ -0,0 +1,32 @@
+target/
+*.iml
+.idea/
+rebel.xml
+.rebel.xml.bak
+out/artifacts/
+dil-api.iml
+src/test
+src/main/resources/application-dev2.yml
+# Compiled class file
+*.class
+*.xlsx
+# Log file
+*.log
+
+# BlueJ files
+*.ctxt
+
+# Mobile Tools for Java (J2ME)
+.mtj.tmp/
+
+# Package Files #
+*.jar
+*.war
+*.nar
+*.ear
+*.zip
+*.tar.gz
+*.rar
+
+# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
+hs_err_pid*

+ 36 - 0
README.en.md

@@ -0,0 +1,36 @@
+# ANTAI-API
+
+#### Description
+总工程路由分发
+
+#### Software Architecture
+Software architecture description
+
+#### Installation
+
+1.  xxxx
+2.  xxxx
+3.  xxxx
+
+#### Instructions
+
+1.  xxxx
+2.  xxxx
+3.  xxxx
+
+#### Contribution
+
+1.  Fork the repository
+2.  Create Feat_xxx branch
+3.  Commit your code
+4.  Create Pull Request
+
+
+#### Gitee Feature
+
+1.  You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
+2.  Gitee blog [blog.gitee.com](https://blog.gitee.com)
+3.  Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
+4.  The most valuable open source project [GVP](https://gitee.com/gvp)
+5.  The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
+6.  The most popular members  [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

+ 37 - 0
README.md

@@ -0,0 +1,37 @@
+# ANTAI-API
+
+#### 介绍
+总工程路由分发
+
+#### 软件架构
+软件架构说明
+
+
+#### 安装教程
+
+1.  xxxx
+2.  xxxx
+3.  xxxx
+
+#### 使用说明
+
+1.  xxxx
+2.  xxxx
+3.  xxxx
+
+#### 参与贡献
+
+1.  Fork 本仓库
+2.  新建 Feat_xxx 分支
+3.  提交代码
+4.  新建 Pull Request
+
+
+#### 特技
+
+1.  使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
+2.  Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com)
+3.  你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目
+4.  [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
+5.  Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
+6.  Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

+ 248 - 0
pom.xml

@@ -0,0 +1,248 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <groupId>org.example</groupId>
+    <artifactId>antai-api</artifactId>
+    <version>1.0</version>
+
+    <parent>
+        <groupId>org.springframework.boot</groupId>
+        <artifactId>spring-boot-starter-parent</artifactId>
+        <version>2.0.7.RELEASE</version>
+        <!--        <version>2.1.13.RELEASE</version>-->
+    </parent>
+    <!--    <properties>-->
+    <!--        <java.version>1.8</java.version>-->
+    <!--    </properties>-->
+
+    <dependencyManagement>
+        <dependencies>
+            <!--            <dependency>-->
+            <!--                <groupId>com.alibaba.cloud</groupId>-->
+            <!--                <artifactId>spring-cloud-alibaba-dependencies</artifactId>-->
+            <!--                <version>2.1.4.RELEASE</version>-->
+            <!--                <type>pom</type>-->
+            <!--                <scope>import</scope>-->
+            <!--            </dependency>-->
+            <dependency>
+                <groupId>org.springframework.cloud</groupId>
+                <artifactId>spring-cloud-dependencies</artifactId>
+                <!--Spring Cloud的版本-->
+                <version>Finchley.SR2</version>
+                <!--                <version>Greenwich.SR6</version>-->
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+        </dependencies>
+    </dependencyManagement>
+
+    <repositories>
+        <repository>
+            <id>maven-public</id>
+            <name>steerinfo maven-public</name>
+            <url>https://nexus.steerinfo.com/repository/maven-public/</url>
+        </repository>
+    </repositories>
+
+    <distributionManagement>
+        <repository>
+            <id>maven-releases</id>
+            <name>steerinfo nexus-releases</name>
+            <url>http://nexus.steerinfo.com/repository/maven-releases/</url>
+        </repository>
+        <snapshotRepository>
+            <id>maven-snapshots</id>
+            <url>http://nexus.steerinfo.com/repository/maven-snapshots/</url>
+        </snapshotRepository>
+    </distributionManagement>
+
+    <dependencies>
+        <!--        <dependency>-->
+        <!--            <groupId>com.alibaba.cloud</groupId>-->
+        <!--            <artifactId>spring-cloud-starter-alibaba-seata</artifactId>-->
+        <!--        </dependency>-->
+        <!--websocket-->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-websocket</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+            <version>1.2.24</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+            <version>2.0.7.RELEASE</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>2.9.8</version>
+        </dependency>
+
+        <!--mybatisPlus-->
+        <dependency>
+            <groupId>com.baomidou</groupId>
+            <artifactId>mybatis-plus-boot-starter</artifactId>
+            <version>3.4.2</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.11.0</version>
+        </dependency>
+        <!--        <dependency>-->
+        <!--            <groupId>org.springframework.boot</groupId>-->
+        <!--            <artifactId>spring-boot-starter-security</artifactId>-->
+        <!--        </dependency>-->
+
+        <!--swagger-->
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger2</artifactId>
+            <version>2.9.2</version>
+        </dependency>
+        <dependency>
+            <groupId>io.springfox</groupId>
+            <artifactId>springfox-swagger-ui</artifactId>
+            <version>2.9.2</version>
+        </dependency>
+
+        <!--steerinfo-->
+        <dependency>
+            <groupId>com.steerinfo</groupId>
+            <artifactId>framework</artifactId>
+            <version>1.0</version>
+        </dependency>
+        <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis -->
+        <dependency>
+            <groupId>org.mybatis</groupId>
+            <artifactId>mybatis</artifactId>
+            <version>3.5.6</version>
+        </dependency>
+        <!--文件上传-->
+        <dependency>
+            <groupId>commons-net</groupId>
+            <artifactId>commons-net</artifactId>
+            <version>3.6</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-fileupload</groupId>
+            <artifactId>commons-fileupload</artifactId>
+            <version>1.3.2</version>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.4</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml</artifactId>
+            <version>3.17</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi</artifactId>
+            <version>3.17</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-scratchpad</artifactId>
+            <version>3.17</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>poi-ooxml-schemas</artifactId>
+            <version>3.17</version>
+        </dependency>
+        <!--EasyExcel相关依赖-->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>easyexcel</artifactId>
+            <version>3.0.5</version>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-httpclient</groupId>
+            <artifactId>commons-httpclient</artifactId>
+            <version>3.1</version>
+        </dependency>
+
+        <dependency>
+            <groupId>fr.opensagres.xdocreport</groupId>
+            <artifactId>xdocreport</artifactId>
+            <version>2.0.1</version>
+        </dependency>
+        <!-- pdf -->
+        <dependency>
+            <groupId>com.itextpdf</groupId>
+            <artifactId>itextpdf</artifactId>
+            <version>5.5.11</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.poi</groupId>
+            <artifactId>ooxml-schemas</artifactId>
+            <version>1.3</version>
+        </dependency>
+
+    </dependencies>
+    <build>
+        <plugins>
+            <!--             自动生成代码文件 -->
+            <plugin>
+                <groupId>com.steerinfo</groupId>
+                <artifactId>generator-maven-plugin</artifactId>
+                <version>3.0</version>
+                <configuration>
+                    <connUrl>jdbc:oracle:thin:@172.16.90.197:1521/ATTMS</connUrl>
+                    <user>gxmestest</user>
+                    <password>gxmestest</password>
+                    <!--包名-->
+                    <targetPackage>com.steerinfo.dil</targetPackage>
+                    <tables>
+                        <param>log_result</param>
+                    </tables>
+                </configuration>
+                <executions>
+                    <execution>
+                        <phase>compile</phase>
+                        <goals>
+                            <goal>steerinfo</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.springframework.boot</groupId>
+                <artifactId>spring-boot-maven-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>repackage</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <includes>
+                    <include>**/*.xml</include>
+                </includes>
+            </resource>
+            <resource>
+                <directory>src/main/resources</directory>
+            </resource>
+        </resources>
+    </build>
+</project>

+ 34 - 0
src/main/java/com/steerinfo/DilApplicationMain.java

@@ -0,0 +1,34 @@
+package com.steerinfo;
+
+import feign.Retryer;
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.boot.web.servlet.ServletComponentScan;
+import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
+import org.springframework.cloud.openfeign.EnableFeignClients;
+import org.springframework.context.annotation.Bean;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+/**
+ * @Author zhangnan
+ * @Date 2021/4/21 14:32
+ * @Version 1.0
+ */
+@SpringBootApplication
+@ServletComponentScan
+@EnableScheduling
+@MapperScan({"com.steerinfo.dil.mapper"})
+@EnableFeignClients(basePackages = "com.steerinfo.dil.feign")
+@EnableDiscoveryClient
+public class DilApplicationMain {
+    public static void main(String[] args) {
+        SpringApplication.run(DilApplicationMain.class, args);
+    }
+
+    @Bean
+    public Retryer feignRetryer() {
+        // 这里使用一个永不重试的Retryer
+        return Retryer.NEVER_RETRY;
+    }
+}

+ 15 - 0
src/main/java/com/steerinfo/dil/annotaion/EnableExport.java

@@ -0,0 +1,15 @@
+package com.steerinfo.dil.annotaion;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 设置允许导出
+ */
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface EnableExport {
+    String fileName();
+}

+ 18 - 0
src/main/java/com/steerinfo/dil/annotaion/EnableExportField.java

@@ -0,0 +1,18 @@
+package com.steerinfo.dil.annotaion;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 设置该字段允许导出
+ * 并且可以设置宽度
+ */
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface EnableExportField {
+    int colWidth() default 100;
+
+    String colName();
+}

+ 15 - 0
src/main/java/com/steerinfo/dil/annotaion/ImportIndex.java

@@ -0,0 +1,15 @@
+package com.steerinfo.dil.annotaion;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * 导入时索引
+ */
+@Target(ElementType.FIELD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface ImportIndex {
+    int index();
+}

+ 17 - 0
src/main/java/com/steerinfo/dil/annotaion/LogAround.java

@@ -0,0 +1,17 @@
+package com.steerinfo.dil.annotaion;
+
+import java.lang.annotation.*;
+
+/**
+ * 日志注解,打印方法输入输出,并记录到数据库
+ */
+@Documented
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface LogAround {
+    String[] foreignKeys();//日志表外键
+
+    String[] foreignKeyTypes();//日志表外键类型
+
+    String description() default "无";//日志描述
+}

+ 15 - 0
src/main/java/com/steerinfo/dil/annotaion/RequestLimit.java

@@ -0,0 +1,15 @@
+package com.steerinfo.dil.annotaion;
+
+import java.lang.annotation.*;
+
+/**
+ * 请求限制注解,防止更新重复提交
+ */
+@Target({ElementType.METHOD, ElementType.TYPE})
+@Retention(RetentionPolicy.RUNTIME)
+@Documented
+public @interface RequestLimit {
+    int seconds() default 1;//秒
+
+    int maxCount() default 100;//最大访问次数
+}

+ 178 - 0
src/main/java/com/steerinfo/dil/aspect/LogAspect.java

@@ -0,0 +1,178 @@
+package com.steerinfo.dil.aspect;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.steerinfo.dil.annotaion.LogAround;
+import com.steerinfo.dil.mapper.LogResultMapper;
+import com.steerinfo.dil.model.LogResult;
+import com.steerinfo.dil.util.DataChange;
+import com.steerinfo.framework.controller.RESTfulResult;
+import lombok.extern.java.Log;
+import org.apache.log4j.Logger;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.Signature;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.aspectj.lang.reflect.MethodSignature;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import java.lang.reflect.Method;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+/**
+ * 日志 Aspect切面,编写切入点的方法
+ */
+@Aspect
+@Component
+public class LogAspect {
+    @Value("${prefix.logPrefix}")
+    private String logPrefix;
+    @Autowired
+    LogResultMapper logResultMapper;
+
+    static final Logger log = Logger.getLogger(LogAspect.class);
+
+    private DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+
+
+    /**
+     * 定义切入点,所有该注解为切入点
+     */
+    @Pointcut("@annotation(com.steerinfo.dil.annotaion.LogAround)")
+    public void AroundPointCut() {
+    }
+
+    /**
+     * 环绕通知 @Around,日志文件同时记录方法的入参出参,数据库只保留成功的出参
+     *
+     * @param point
+     * @return
+     * @throws Throwable
+     */
+    @Around("AroundPointCut()")
+    public Object around(ProceedingJoinPoint point) throws Throwable {
+        //获取该切点处的方法及入参
+        Method method = ((MethodSignature) point.getSignature()).getMethod();
+        Object[] requestParams = point.getArgs();
+        JSONObject map = null;
+        for (Object param : requestParams) {
+            if (param != null && param instanceof Map) {
+                map = JSONObject.parseObject(JSONObject.toJSONString(param));
+                break;
+            }
+        }
+        if (map == null || map.get("userId") == null || map.get("userName") == null) {
+            log.error("缺乏日志必要参数" + map);
+//            Map<String,Object> resultMap = new HashMap<>();
+//            resultMap.put("code","500");
+//            resultMap.put("message","缺乏日志必要参数");
+//            resultMap.put("data","缺乏日志必要参数"+map);
+//            return resultMap;
+        }
+        //获取切点处的注解及其参数
+        LogAround logAround = method.getAnnotation(LogAround.class);
+        String[] foreignKeys = logAround.foreignKeys();
+        String[] foreignKeyTypes = logAround.foreignKeyTypes();
+        String description = logAround.description();
+        //获取方法签名
+        Signature signature = point.getSignature();
+        String methodName = method.getName();
+        log.info("执行===" + methodName + "===开始");
+        log.info("方法描述:" + description);
+        log.info("方法名:" + signature);
+        log.info("方法参数:" + map);
+        //记录当前时间
+        Date beginTime = new Date();
+        //执行方法,并取得返回值
+        Object response = null;
+        try {
+            response = point.proceed();
+        } catch (Exception e) {
+            //记录错误日志
+            log.error("执行===" + methodName + "===异常:" + e.getClass().getName());
+            log.error("方法描述:" + description);
+            log.error("方法名:" + signature);
+            log.error("方法参数:" + requestParams);
+            throw e;
+        }
+        //解析返回值,记录日志
+        try {
+            RESTfulResult result = JSONObject.parseObject(JSONObject.toJSONString(response), RESTfulResult.class);
+            //获取执行时间
+            long exeCost = System.currentTimeMillis() - beginTime.getTime();
+            if (RESTfulResult.SUCCEED.equals(result.getStatus())) {
+                //执行成功,记录正常日志
+                log.info("方法返回:" + JSON.toJSONString(result));
+                log.info("执行时间(ms):" + exeCost);
+                log.info("执行===" + methodName + "===成功");
+                try {
+                    //data数组
+                    List<Map<String, Object>> datas = new ArrayList<>();
+                    //记录到数据库
+                    List<LogResult> logResults = new ArrayList<>();
+                    //检查返回data类型
+                    if (result.getData() instanceof Map) {
+                        Map<String, Object> data = (Map) result.getData();
+                        datas.add(data);
+                    } else if (result.getData() instanceof List) {
+                        datas = (List) result.getData();
+                    } else {
+                        throw new Exception("无法处理的数据类型!");
+                    }
+                    //批量处理
+                    for (Map<String, Object> data : datas) {
+                        for (int i = 0; i < foreignKeys.length; i++) {
+                            if (data.get(foreignKeys[i]) != null) {
+                                LogResult logResult = new LogResult();
+                                logResult.setLogId(logResultMapper.nextId());
+                                logResult.setForeignKeyId(DataChange.dataToBigDecimal(data.get(foreignKeys[i])));
+                                logResult.setForeignKeyType(foreignKeyTypes[i]);
+                                logResult.setLogContent(map.get("userName") + ":" + result.getMessage());
+                                logResult.setMethodName("" + signature);
+                                logResult.setMethodDescription(description);
+                                logResult.setInsertTime(beginTime);
+                                logResult.setExeCost(DataChange.dataToBigDecimal(exeCost));
+                                logResult.setFilePath(logPrefix + format.format(beginTime));
+                                logResult.setInsertUsername("" + map.get("userId"));
+                                logResult.setRemark("自动记录");
+                                String resultStr = JSON.toJSONString(map);
+                                String info1 = null;
+                                String info2 = null;
+                                if (resultStr.length() > 3000) {
+                                    info1 = resultStr.substring(0,3000);
+                                    info2 = resultStr.substring(3000);
+                                }else{
+                                    info1 = resultStr.toString();
+                                }
+                                logResult.setDatagram1(info1);
+                                logResult.setDatagram2(info2);
+                                logResults.add(logResult);
+                            }
+                        }
+                    }
+                    if (logResults.size() > 0) {
+                        logResultMapper.batchInsert(logResults);
+                    } else {
+                        throw new Exception("目标foreignKey不存在!");
+                    }
+                } catch (Exception e) {
+                    log.info("记录日志失败:" + e.getMessage());
+                }
+            } else {
+                //记录失败日志
+                log.info("方法返回:" + JSON.toJSONString(result));
+                log.info("执行时间(ms):" + exeCost);
+                log.info("执行===" + methodName + "===失败");
+            }
+        } catch (Exception e) {
+            //记录错误日志
+            log.error("===日志解析、记录失败===:\n" + e.getMessage());
+        }
+        return response;
+    }
+}

+ 22 - 0
src/main/java/com/steerinfo/dil/config/CorsConfig1.java

@@ -0,0 +1,22 @@
+package com.steerinfo.dil.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.CorsRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+
+/**
+ *
+ */
+@Configuration
+public class CorsConfig1 implements WebMvcConfigurer {
+
+    @Override
+    public void addCorsMappings(CorsRegistry registry) {
+        registry.addMapping("/**")
+                .allowedOrigins("*")
+                .allowedMethods("GET", "HEAD", "POST", "PUT", "DELETE", "OPTIONS")
+                .allowCredentials(true)
+                .maxAge(3600)
+                .allowedHeaders("*");
+    }
+}

+ 12 - 0
src/main/java/com/steerinfo/dil/config/FileUtils.java

@@ -0,0 +1,12 @@
+package com.steerinfo.dil.config;
+
+import org.springframework.web.multipart.MultipartFile;
+
+import java.util.List;
+
+public interface FileUtils {
+
+    public List<String> updateFiles(MultipartFile files[]) throws Exception;
+
+    public Object downloadFile(String url) throws Exception;
+}

+ 236 - 0
src/main/java/com/steerinfo/dil/config/ImageFileUtils.java

@@ -0,0 +1,236 @@
+package com.steerinfo.dil.config;
+
+import com.steerinfo.framework.utils.misc.IdGenerator;
+import com.steerinfo.dil.util.UploadUtils;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.*;
+
+@Component
+public class ImageFileUtils implements FileUtils {
+
+    @Value(value = "${prefix.filePrefix}")
+    private String filePrefix;//文件前缀
+    @Value(value = "${filePath}")
+    private String path;//文件路径
+
+    public static final HashMap fileTypes = new HashMap();
+
+    static {
+
+        // images
+
+        fileTypes.put("FFD8FF", "jpg");
+
+        fileTypes.put("89504E47", "png");
+
+        fileTypes.put("47494638", "gif");
+
+        fileTypes.put("49492A00", "tif");
+
+        fileTypes.put("424D", "bmp");
+
+        // CAD
+
+        fileTypes.put("41433130", "dwg");
+
+        fileTypes.put("38425053", "psd");
+
+        // 日记本
+
+        fileTypes.put("7B5C727466", "rtf");
+
+        fileTypes.put("3C3F786D6C", "xml");
+
+        fileTypes.put("68746D6C3E", "html");
+
+        // 邮件
+
+        fileTypes.put("44656C69766572792D646174653A", "eml");
+
+        fileTypes.put("D0CF11E0", "doc");
+
+        //excel2003版本文件
+
+        fileTypes.put("D0CF11E0", "xls");
+
+        fileTypes.put("5374616E64617264204A", "mdb");
+
+        fileTypes.put("252150532D41646F6265", "ps");
+
+        fileTypes.put("255044462D312E", "pdf");
+
+        fileTypes.put("504B0304", "docx");
+
+        //excel2007以上版本文件
+
+        fileTypes.put("504B0304", "xlsx");
+
+        fileTypes.put("52617221", "rar");
+
+        fileTypes.put("57415645", "wav");
+
+        fileTypes.put("41564920", "avi");
+
+        fileTypes.put("2E524D46", "rm");
+
+        fileTypes.put("000001BA", "mpg");
+
+        fileTypes.put("000001B3", "mpg");
+
+        fileTypes.put("6D6F6F76", "mov");
+
+        fileTypes.put("3026B2758E66CF11", "asf");
+
+        fileTypes.put("4D546864", "mid");
+
+        fileTypes.put("1F8B08", "gz");
+
+    }
+
+
+    /**
+     * 上传多张图片
+     *
+     * @param files
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public synchronized List<String> updateFiles(MultipartFile files[]) throws Exception {
+        //首先通过Calendard对象获得年月日
+        Calendar calendar = Calendar.getInstance();
+        int year = calendar.get(Calendar.YEAR);
+        int month = calendar.get(Calendar.MONTH);
+        int day = calendar.get(Calendar.DAY_OF_MONTH);
+        //上传文件夹路径
+        List<String> urls = new ArrayList<>();
+        for (int i = 0; i < files.length; i++) {
+            String url = UploadUtils.uploadFile(files[i], path, File.separator + year + File.separator + month + File.separator + day + File.separator);
+            urls.add(url);
+        }
+        return urls;
+    }
+
+
+    /**
+     * 上传单个文件
+     *
+     * @param file
+     * @return
+     * @throws Exception
+     */
+    public String updateFile(MultipartFile file, long workerId) throws Exception {
+        //首先通过Calendard对象获得年月日
+        Calendar calendar = Calendar.getInstance();
+        int year = calendar.get(Calendar.YEAR);
+        int month = calendar.get(Calendar.MONTH);
+        int day = calendar.get(Calendar.DAY_OF_MONTH);
+        String url = filePrefix + UploadUtils.uploadFile(file, path, File.separator + year + File.separator + month + File.separator + day + File.separator);
+        return url;
+    }
+
+    /**
+     * 下载图片获得字节码
+     *
+     * @param filePath
+     * @return
+     * @throws Exception
+     */
+    @Override
+    public Object downloadFile(String filePath) throws Exception {
+        File file = new File(filePath);
+        if (file.isDirectory()) {
+
+            throw new RuntimeException("当前路径是目录");
+
+        }
+        byte[] b = bytes(file);
+        String type = getFileHeader(b);
+        String src = "data:image/" + type + ";base64," + Base64.getEncoder().encodeToString(b);
+        return src;
+    }
+
+
+    /**
+     * @return 文件头信息
+     * @author liang.pan
+     * <p>
+     * 方法描述:根据输入流获取文件头信息
+     */
+    public static String getFileHeader(byte[] b) {
+        String value = bytesToHexString(b);
+
+        if (StringUtils.startsWith(value, "FFD8FF")) {
+            value = value.substring(0, 6);
+        }
+
+        //判断什么类型的
+        Set set = fileTypes.keySet();
+        Iterator iterator = set.iterator();
+        while (iterator.hasNext()) {
+            String key = iterator.next().toString();
+            if (value.contains(key)) {
+                return fileTypes.get(key).toString();
+            }
+        }
+        return null;
+    }
+
+    /**
+     * @param src 要读取文件头信息的文件的byte数组
+     * @return 文件头信息
+     * @author liang.pan
+     * <p>
+     * 方法描述:将要读取文件头信息的文件的byte数组转换成string类型表示
+     */
+    private static String bytesToHexString(byte[] src) {
+        StringBuilder builder = new StringBuilder();
+        if (src == null || src.length <= 0) {
+            return null;
+        }
+        String hv;
+        for (int i = 0; i < src.length; i++) {
+            // 以十六进制(基数 16)无符号整数形式返回一个整数参数的字符串表示形式,并转换为大写
+            hv = Integer.toHexString(src[i] & 0xFF).toUpperCase();
+            if (hv.length() < 2) {
+                builder.append(0);
+            }
+            builder.append(hv);
+        }
+        return builder.toString();
+    }
+
+
+    public byte[] bytes(File file) throws Exception {
+        FileInputStream fin = new FileInputStream(file);
+        try {
+            //可能溢出,简单起见就不考虑太多,如果太大就要另外想办法,比如一次传入固定长度byte[]
+            byte[] bytes = new byte[fin.available()];
+            //将文件内容写入字节数组,提供测试的case
+            fin.read(bytes);
+            fin.close();
+            return bytes;
+        } catch (Exception ex) {
+            throw ex;
+        } finally {
+            if (null != fin) {
+
+                try {
+
+                    fin.close();
+
+                } catch (IOException e) {
+
+                }
+
+            }
+        }
+    }
+}

+ 21 - 0
src/main/java/com/steerinfo/dil/config/MyFeignRequestInterceptor.java

@@ -0,0 +1,21 @@
+package com.steerinfo.dil.config;
+
+import feign.RequestInterceptor;
+import feign.RequestTemplate;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author wzb
+ * @version V1.0.0
+ * @desciption feign请求全局添加Token
+ * @date 2021/4/15 19:15
+ * @className MyFeignRequestInterceptor
+ */
+@Configuration
+public class MyFeignRequestInterceptor implements RequestInterceptor {
+    @Override
+    public void apply(RequestTemplate requestTemplate) {
+        requestTemplate.header("userId", "lb");
+        requestTemplate.header("userName", "lb");
+    }
+}

+ 77 - 0
src/main/java/com/steerinfo/dil/config/RepeatRequestIntercept.java

@@ -0,0 +1,77 @@
+package com.steerinfo.dil.config;
+
+import com.alibaba.fastjson.JSON;
+import com.steerinfo.dil.annotaion.RequestLimit;
+import com.steerinfo.framework.cache.server.redis.RedisCache;
+import com.steerinfo.framework.controller.RESTfulResult;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.messaging.handler.HandlerMethod;
+import org.springframework.stereotype.Component;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.Objects;
+
+@Component
+public class RepeatRequestIntercept extends HandlerInterceptorAdapter {
+    @Autowired
+    private RedisCache redisUtils;
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+        //判断请求是否为方法的请求
+        if (handler instanceof HandlerMethod) {
+            HandlerMethod hm = (HandlerMethod) handler;
+            //获取方法中是否有幂等性注解
+            RequestLimit anno = hm.getMethodAnnotation(RequestLimit.class);
+            //若注解为空则直接返回
+            if (Objects.isNull(anno)) {
+                return true;
+            }
+            int seconds = anno.seconds();
+            int max = anno.maxCount();
+            String key = request.getRemoteAddr() + "-" + request.getMethod() + "-" + request.getRequestURL();
+            Object requestCountObj = redisUtils.get(key);
+            if (Objects.isNull(requestCountObj)) {
+                //若为空则为第一次请求
+                redisUtils.setex(key, 1, "ok");
+            } else {
+                //限定时间内的第n次请求
+                int requestCount = Integer.parseInt(requestCountObj.toString());
+                //判断是否超过最大限定请求次数
+                if (requestCount < max) {
+                    //未超过则请求次数+1
+                    redisUtils.incr(key, 100);
+                } else {
+                    //否则拒绝请求并返回信息
+                    refuse(response);
+                    return false;
+                }
+            }
+        }
+        return true;
+    }
+
+    /**
+     * @param response
+     * @date 2023-08-10 15:25
+     * @author Bummon
+     * @description 拒绝请求并返回结果
+     */
+    private void refuse(HttpServletResponse response) throws IOException {
+        response.setContentType("application/json;charset=utf-8");
+        ServletOutputStream os = response.getOutputStream();
+        RESTfulResult result = new RESTfulResult();
+        result.setFailed();
+        result.setMessage("请求已提交,请勿重复请求");
+        result.setCode("100");
+        String jsonString = JSON.toJSONString(result);
+        os.write(jsonString.getBytes());
+        os.flush();
+        os.close();
+    }
+}

+ 140 - 0
src/main/java/com/steerinfo/dil/config/RequestFilter.java

@@ -0,0 +1,140 @@
+package com.steerinfo.dil.config;
+
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.steerinfo.dil.aspect.LogAspect;
+import com.steerinfo.dil.mapper.BackgroundProcessingMapper;
+import com.steerinfo.dil.util.DisposeRoleData;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.Resource;
+import javax.servlet.*;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.URLDecoder;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class RequestFilter implements Filter {
+    static final Logger log = Logger.getLogger(RequestFilter.class);
+
+    @Override
+    public void destroy() {
+    }
+
+
+    @Resource
+    private BackgroundProcessingMapper backgroundProcessingMapper;
+
+    @Resource
+    private DisposeRoleData disposeRoleData;
+
+    @Override
+    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
+        try {
+            HttpServletRequest httpRequest = (HttpServletRequest) request;
+            String url = httpRequest.getRequestURL().toString();
+            //获取参数,并校验
+            Cookie[] cookies = httpRequest.getCookies();
+            String userId = httpRequest.getHeader("userid");
+            String userName = httpRequest.getHeader("username");
+            String orgCode = httpRequest.getHeader("orgcode");
+            String roleCodes = httpRequest.getHeader("rolecodes");
+            String dilCompanyList = httpRequest.getHeader("dilCompanyList");
+            String rootCompanyMap = httpRequest.getHeader("rootCompanyMap");
+            String accessToken = httpRequest.getHeader("accessToken");
+            String urlFlag = httpRequest.getHeader("urlFlag");
+            //获取cookie用户数据
+            if (cookies != null && cookies.length > 0) {
+                for (Cookie cookie : cookies) {
+                    if (cookie.getName().equals("userId") && userId == null) {
+                        userId = cookie.getValue();
+                    } else if (cookie.getName().equals("userName") && userName == null) {
+                        userName = URLDecoder.decode(cookie.getValue(), "utf-8");
+                    } else if (cookie.getName().equals("orgCode") && orgCode == null) {
+                        orgCode = URLDecoder.decode(cookie.getValue(), "utf-8");
+                    } else if (cookie.getName().equals("roleCodes") && roleCodes == null) {
+                        roleCodes = URLDecoder.decode(cookie.getValue(), "utf-8");
+                    } else if (cookie.getName().equals("dilCompanyList") && dilCompanyList == null) {
+                        dilCompanyList = URLDecoder.decode(cookie.getValue(), "utf-8");
+                    } else if (cookie.getName().equals("rootCompanyMap") && rootCompanyMap == null) {
+                        rootCompanyMap = URLDecoder.decode(cookie.getValue(), "utf-8");
+                    } else if (cookie.getName().equals("accessToken") && accessToken == null) {
+                        accessToken = URLDecoder.decode(cookie.getValue(), "utf-8");
+                    } else if (cookie.getName().equals("urlFlag") && urlFlag == null) {
+                        urlFlag = URLDecoder.decode(cookie.getValue(), "utf-8");
+                    } else if (userId != null && userName != null && orgCode != null && roleCodes != null && dilCompanyList != null && rootCompanyMap != null && urlFlag != null && accessToken != null) {
+                        //都查到了,退出
+                        break;
+                    }
+                }
+            }
+            try {
+                userName = URLDecoder.decode(userName, "utf-8");
+                orgCode = URLDecoder.decode(orgCode, "utf-8");
+                roleCodes = URLDecoder.decode(roleCodes, "utf-8");
+                dilCompanyList = URLDecoder.decode(dilCompanyList, "UTF-8");
+                rootCompanyMap = URLDecoder.decode(rootCompanyMap, "utf-8");
+                urlFlag = URLDecoder.decode(urlFlag, "utf-8");
+                //System.out.println(dilCompanyList.getClass().toString());
+            } catch (Exception e) {
+            }
+            httpRequest.setAttribute("userId", userId);
+            httpRequest.setAttribute("userName", userName);
+            httpRequest.setAttribute("orgCode", orgCode);
+            Object roleCodesObject = JSONObject.parse(roleCodes);
+            httpRequest.setAttribute("roleCodes", roleCodesObject);
+            //Object dilCompanyListObject = JSONObject.parse(dilCompanyList);
+            Object dilCompanyListObject = backgroundProcessingMapper.getCompanyList(userId);
+            httpRequest.setAttribute("dilCompanyList", dilCompanyListObject);
+            Object rootCompanyMapObject = JSONObject.parse(rootCompanyMap);
+            httpRequest.setAttribute("rootCompanyMap", rootCompanyMapObject);
+            httpRequest.setAttribute("urlFlag", urlFlag);
+            //获取RequestBody数据
+            BufferedReader streamReader = new BufferedReader(new InputStreamReader(request.getInputStream(), "UTF-8"));
+            StringBuilder strBuilder = new StringBuilder();
+            String inputStr;
+            while ((inputStr = streamReader.readLine()) != null) {
+                strBuilder.append(inputStr);
+            }
+            if (strBuilder != null && !"".equals(strBuilder.toString())) {
+                //有请求体则写入userId和userName,保存
+                JSONObject params = JSONObject.parseObject(strBuilder.toString());
+                params.put("userId", userId == null ? "无" : userId);
+                params.put("userName", userName == null ? "无" : userName);
+                params.put("orgCode", orgCode == null ? "无" : orgCode);
+                params.put("roleCodes", roleCodesObject);
+                params.put("dilCompanyList", dilCompanyListObject);
+                params.put("rootCompanyMap", rootCompanyMapObject);
+                params.put("accessToken", accessToken);
+                params.put("urlFlag", urlFlag);
+                log.debug("url:" + url);
+                log.debug("params:" + params.toJSONString());
+                //将新的RequestBody写入新的请求对象保存
+                ServletRequest requestWrapper = new RequestWrapper(httpRequest, params.toJSONString());
+                chain.doFilter(requestWrapper, response);
+            } else {
+                log.info("无请求体,使用原生请求处理!");
+                chain.doFilter(request, response);
+            }
+        } catch (Exception e) {
+            log.info("过滤失败,使用原生请求处理!");
+            log.info(e.getMessage());
+            e.printStackTrace();
+            chain.doFilter(request, response);
+        }
+    }
+
+    @Override
+    public void init(FilterConfig arg0) throws ServletException {
+    }
+}
+

+ 60 - 0
src/main/java/com/steerinfo/dil/config/RequestWrapper.java

@@ -0,0 +1,60 @@
+package com.steerinfo.dil.config;
+
+import javax.servlet.ReadListener;
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import java.io.*;
+
+// 继承 HttpServletRequestWrapper 可以重写 InputStream
+public class RequestWrapper extends HttpServletRequestWrapper {
+    //保存请求数据
+    private final String body;
+
+    public RequestWrapper(HttpServletRequest request, String body) {
+        super(request);
+        this.body = body;
+    }
+
+    /**
+     * 重写流
+     *
+     * @return
+     * @throws IOException
+     */
+    @Override
+    public ServletInputStream getInputStream() throws IOException {
+        final ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(body.getBytes());
+        ServletInputStream servletInputStream = new ServletInputStream() {
+            @Override
+            public boolean isFinished() {
+                return false;
+            }
+
+            @Override
+            public boolean isReady() {
+                return false;
+            }
+
+            @Override
+            public void setReadListener(ReadListener readListener) {
+            }
+
+            @Override
+            public int read() throws IOException {
+                return byteArrayInputStream.read();
+            }
+        };
+        return servletInputStream;
+    }
+
+    @Override
+    public BufferedReader getReader() throws IOException {
+        return new BufferedReader(new InputStreamReader(this.getInputStream()));
+    }
+
+    public String getBody() {
+        return this.body;
+    }
+}
+

+ 89 - 0
src/main/java/com/steerinfo/dil/config/SessionInterceptor.java

@@ -0,0 +1,89 @@
+package com.steerinfo.dil.config;
+
+import com.alibaba.fastjson.JSONObject;
+import com.steerinfo.dil.annotaion.LogAround;
+import com.steerinfo.dil.annotaion.RequestLimit;
+import com.steerinfo.framework.controller.RESTfulResult;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+import org.springframework.web.method.HandlerMethod;
+import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
+import springfox.documentation.spring.web.json.Json;
+
+import javax.servlet.ReadListener;
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletRequestWrapper;
+import javax.servlet.http.HttpServletResponse;
+import java.io.*;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Web拦截器,拦截请求并校验
+ */
+@Slf4j
+@Component
+public class SessionInterceptor extends HandlerInterceptorAdapter {
+
+    //暂时使用Map当做Redis缓存
+    private static Map<String, Integer> redisUtil = new HashMap<>();
+
+    @Override
+    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
+        HandlerMethod hm = (HandlerMethod) handler;
+        String requestUrl = "" + request.getRequestURL();
+        if (!requestUrl.contains("/api/v1/bp/bpLogin")
+                && !requestUrl.contains("/api/v1/ams/dispatch")
+                && !requestUrl.contains("/api/v1/report")
+                && !requestUrl.contains("/api/v1/uc/")
+                && !requestUrl.contains("/api/v1/systemfiles/")
+                && !requestUrl.contains("/api/v1/rms/insertPersonnel")
+                && (request.getAttribute("userId") == null || request.getAttribute("userName") == null)) {
+            //无权访问
+            response.setCharacterEncoding("UTF-8");
+            response.setContentType("application/json; charset=utf-8");
+            RESTfulResult result = new RESTfulResult("500", "无权访问111", "无权访问");
+            response.getWriter().write(JSONObject.toJSONString(result));
+            return false;
+        }
+        //获取方法中的注解,看是否有该注解
+        RequestLimit requestLimit = hm.getMethodAnnotation(RequestLimit.class);
+        if (requestLimit != null) {
+            try {
+                String userId = "" + request.getAttribute("userId");
+                String userName = "" + request.getAttribute("userName");
+                int seconds = requestLimit.seconds();
+                int maxCount = requestLimit.maxCount();
+                String methodName = hm.getMethod().getName();
+                //获取请求体
+                BufferedReader streamReader = new BufferedReader(new InputStreamReader(request.getInputStream(), "UTF-8"));
+                StringBuilder strBuilder = new StringBuilder();
+                String inputStr;
+                while ((inputStr = streamReader.readLine()) != null) {
+                    strBuilder.append(inputStr);
+                }
+                Integer count = redisUtil.get(methodName + userId);
+                if (count == null || count < maxCount) {
+                    //未超出,+1
+                    count = (count == null ? 0 : count + 1);
+                    redisUtil.put(methodName + userId, count);
+                } else {
+                    //超出访问次数
+                    //log.info("访问"+methodName+"方法过快,用户  ===> " + userId + " 且在   " + seconds + " 秒内超过最大限制  ===> " + maxCount + " 次数达到    ====> " + count);
+                    response.setCharacterEncoding("UTF-8");
+                    response.setContentType("application/json; charset=utf-8");
+                    RESTfulResult result = new RESTfulResult("500", "访问过快,请稍后再试", "访问过快,请稍后再试");
+                    response.getWriter().write(JSONObject.toJSONString(result));
+                    return false;
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+        return super.preHandle(request, response, handler);
+    }
+
+}

+ 114 - 0
src/main/java/com/steerinfo/dil/config/SqlInjectFilter.java

@@ -0,0 +1,114 @@
+package com.steerinfo.filter;
+
+import java.io.IOException;
+import java.util.Enumeration;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.servlet.Filter;
+import javax.servlet.FilterChain;
+import javax.servlet.FilterConfig;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.annotation.WebFilter;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+import com.alibaba.fastjson.JSONArray;
+import com.steerinfo.framework.constant.RESTCodes;
+import com.steerinfo.framework.controller.RESTfulResult;
+
+/**
+ * SQL注入过滤器
+ *
+ * @author CL
+ */
+/*@Component
+@ConfigurationProperties(prefix = "security.sql")
+@WebFilter(filterName = "SqlInjectFilter", urlPatterns = "/*")*/
+public class SqlInjectFilter implements Filter {
+    private static final Logger log = LoggerFactory.getLogger(SqlInjectFilter.class);
+    /**
+     * 过滤器配置对象
+     */
+    FilterConfig filterConfig = null;
+
+    /**
+     * 初始化
+     */
+    @Override
+    public void init(FilterConfig filterConfig) throws ServletException {
+        this.filterConfig = filterConfig;
+    }
+
+    /**
+     * 拦截
+     */
+    @Override
+    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
+        HttpServletRequest req = (HttpServletRequest) servletRequest;
+        HttpServletResponse res = (HttpServletResponse) servletResponse;
+        // 获得所有请求参数名
+        Enumeration params = req.getParameterNames();
+//        String requestUriMb= req.getRequestURI();
+        String sql = "";
+        String strparams = "";
+        while (params.hasMoreElements()) {
+            // 得到参数名
+            String name = params.nextElement().toString();
+            // 得到参数对应值
+            String[] value = req.getParameterValues(name);
+            for (int i = 0; i < value.length; i++) {
+                sql = sql + value[i];
+                strparams = strparams + " " + value[i];
+            }
+        }
+        if (sqlValidate(sql)) { //&& !requestUriMb.contains("executeSqlDataWf")
+            // res.sendRedirect("error.jsp");
+            log.info("发现sql注入:" + strparams);
+            String msg = "非法请求参数,请检查后再进行操作";
+            RESTfulResult result = new RESTfulResult(RESTCodes.ERROR, msg);
+            res.setCharacterEncoding("UTF-8");
+            res.setHeader("Content-Type", "application/json");
+            res.setContentType("application/json;charset=UTF-8");
+            res.setStatus(HttpServletResponse.SC_OK);
+            res.getWriter().write(JSONArray.toJSON(result).toString());
+        } else {
+            filterChain.doFilter(req, res);
+        }
+    }
+
+    /**
+     * 销毁
+     */
+    @Override
+    public void destroy() {
+        this.filterConfig = null;
+    }
+
+    // 校验
+    protected static boolean sqlValidate(String str) {
+        str = str.toLowerCase();// 统一转为小写
+        // String badStr = "and|exec";
+        String badStr =
+                "'| and | exec | execute | insert | select | delete | update | count | drop | chr | mid | master | truncate | char | declare | sitename | net user | xp_cmdshell | or | like | - | -- | + | , | like | // | / | % | #|insert |select |delete |update";
+        /*
+         * String badStr =
+         * "'|and|exec|execute|insert|create|drop|table|from|grant|use|group_concat|column_name|" +
+         * "information_schema.columns|table_schema|union|where|select|delete|update|order|by|count|*|" +
+         * "chr|mid|master|truncate|char|declare|or|;|-|--|+|,|like|//|/|%|#";
+         */ // 过滤掉的sql关键字,可以手动添加
+        String[] badStrs = badStr.split("\\|");
+        for (int i = 0; i < badStrs.length; i++) {
+            if (str.indexOf(badStrs[i]) != -1) {
+                log.info("匹配到:" + badStrs[i]);
+                return true;
+            }
+        }
+        return false;
+    }
+}

+ 27 - 0
src/main/java/com/steerinfo/dil/config/WebConfig.java

@@ -0,0 +1,27 @@
+package com.steerinfo.dil.config;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
+import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
+
+/**
+ * web配置,可以配置拦截器等
+ */
+@Configuration
+public class WebConfig extends WebMvcConfigurerAdapter {
+
+    @Autowired
+    private SessionInterceptor interceptor;
+
+    @Autowired
+    private RepeatRequestIntercept repeatRequestIntercept;
+
+    @Override
+    public void addInterceptors(InterceptorRegistry registry) {
+
+        registry.addInterceptor(interceptor);
+        registry.addInterceptor(repeatRequestIntercept);
+    }
+
+}

+ 28 - 0
src/main/java/com/steerinfo/dil/config/WebExceptionHandler.java

@@ -0,0 +1,28 @@
+package com.steerinfo.dil.config;
+
+import com.steerinfo.framework.controller.RESTfulResult;
+import org.apache.log4j.Logger;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.text.ParseException;
+
+@ControllerAdvice
+public class WebExceptionHandler {
+
+    static final Logger log = Logger.getLogger(WebExceptionHandler.class);
+
+    @ExceptionHandler(value = Exception.class)
+    @ResponseBody
+    public RESTfulResult exceptionHandler(Exception e) {
+        log.error("全局异常捕获:" + e);
+        e.printStackTrace();
+        if (e instanceof NullPointerException) {
+            return new RESTfulResult("500", "操作失败:缺乏必要参数!", e);
+        } else if (e instanceof ParseException) {
+            return new RESTfulResult("500", "操作失败:格式转换异常!", e);
+        }
+        return new RESTfulResult("500", "操作失败:" + e.getMessage(), e);
+    }
+}

+ 43 - 0
src/main/java/com/steerinfo/dil/config/WebSocketConfig.java

@@ -0,0 +1,43 @@
+package com.steerinfo.dil.config;
+
+import org.springframework.context.annotation.Configuration;
+import org.springframework.messaging.simp.config.ChannelRegistration;
+import org.springframework.messaging.simp.config.MessageBrokerRegistry;
+import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
+import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
+import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;
+
+@Configuration
+@EnableWebSocketMessageBroker
+public class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
+
+    @Override
+    public void registerStompEndpoints(StompEndpointRegistry stompEndpointRegistry) {
+        stompEndpointRegistry
+                .addEndpoint("/webSocket")
+                .setAllowedOrigins("*")
+                .withSockJS(); //使用sockJS
+
+    }
+
+    @Override
+    public void configureMessageBroker(MessageBrokerRegistry registry) {
+        //这里使用的是内存模式,生产环境可以使用rabbitmq或者其他mq。
+        //这里注册两个,主要是目的是将广播和队列分开。
+        //registry.enableStompBrokerRelay().setRelayHost().setRelayPort() 其他方式
+        registry.enableSimpleBroker("/topic");
+        //设置客户端前缀 即@MessageMapping
+        registry.setApplicationDestinationPrefixes("/app");
+        //点对点发送前缀
+        registry.setUserDestinationPrefix("/user");
+    }
+
+    /**
+     * 输入通道参数配置
+     *
+     * @param registration
+     */
+    @Override
+    public void configureClientInboundChannel(ChannelRegistration registration) {
+    }
+}

+ 1098 - 0
src/main/java/com/steerinfo/dil/controller/AMScontroller.java

@@ -0,0 +1,1098 @@
+package com.steerinfo.dil.controller;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.steerinfo.dil.annotaion.LogAround;
+import com.steerinfo.dil.feign.AmsFeign;
+import com.steerinfo.dil.feign.TmsFeign;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ExcelToolUtils;
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiModelProperty;
+import io.swagger.annotations.ApiOperation;
+import org.apache.tools.ant.util.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author luobang
+ * @create 2021-09-17 14:10
+ */
+@RestController
+@RequestMapping("${api.version}/ams")
+public class AMScontroller extends BaseRESTfulController {
+    @Autowired
+    AmsFeign amsFeign;
+
+    @Autowired
+    TmsFeign tmsFeign;
+
+    @ApiOperation(value = "展示采购订单详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getPurchaseOrderList")
+    Map<String, Object> getPurchaseOrderList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize
+    ) {
+        return amsFeign.getPurchaseOrderList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "同步采购订单")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/purchaseOrderSync")
+    @LogAround(foreignKeys = {"orderId"}, foreignKeyTypes = {"采购订单"})
+    public Map<String, Object> purchaseOrderSync(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.purchaseOrderSync(map);
+    }
+
+    @ApiOperation(value = "新增采购订单")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/purchaseOrderAdd")
+    @LogAround(foreignKeys = {"orderId"}, foreignKeyTypes = {"采购订单"})
+    public Map<String, Object> purchaseOrderAdd(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.purchaseOrderAdd(map);
+    }
+
+    @ApiOperation(value = "修改采购订单")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/purchaseOrderUpdate")
+    @LogAround(foreignKeys = {"orderId"}, foreignKeyTypes = {"采购订单"})
+    public Map<String, Object> purchaseOrderUpdate(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.purchaseOrderUpdate(map);
+    }
+
+    @ApiOperation(value = "删除采购订单")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/purchaseOrderDelete")
+    @LogAround(foreignKeys = {"orderId"}, foreignKeyTypes = {"采购订单"})
+    public Map<String, Object> purchaseOrderDelete(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.purchaseOrderDelete(map);
+    }
+
+
+    @ApiOperation(value = "采购需求新增接口", notes = "采购需求新增接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/purchaseRequirementAdd")
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"采购需求"})
+    public Map<String, Object> purchaseRequirementAdd(@RequestBody(required = false) Map<String, Object> map) throws ParseException {
+
+        return amsFeign.purchaseRequirementAdd(map);
+    }
+
+    @ApiOperation(value = "同步生产调拨订单")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/productionOrderSync")
+    @LogAround(foreignKeys = {"orderId"}, foreignKeyTypes = {"采购订单"})
+    public Map<String, Object> productionOrderSync(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.productionOrderSync(map);
+    }
+
+    @ApiOperation(value = "生产需求新增接口", notes = "生产需求新增接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/productionRequirementAdd")
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"采购需求"})
+    public Map<String, Object> productionRequirementAdd(@RequestBody(required = false) Map<String, Object> map) throws ParseException {
+        map.put("insertUsername", map.get("userName").toString());
+        if (map.containsKey("requirementStartTime")) {
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date requirementStartTime = simpleDateFormat.parse(map.get("requirementStartTime").toString());
+            map.put("requirementStartTime", requirementStartTime);
+        }
+
+        if (map.containsKey("requirementEndTime")) {
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date requirementEndTime = simpleDateFormat.parse(map.get("requirementEndTime").toString());
+            map.put("requirementEndTime", requirementEndTime);
+        }
+        if (map.containsKey("dueTime")) {
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date dueTime = simpleDateFormat.parse(map.get("dueTime").toString());
+            map.put("dueTime", dueTime);
+        }
+        return amsFeign.productionRequirementAdd(map);
+    }
+
+    @ApiOperation(value = "采购需求修改接口", notes = "采购需求修改接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/purchaseRequirementUpdate")
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"采购需求"})
+    public Map<String, Object> purchaseRequirementUpdate(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.purchaseRequirementUpdate(map);
+    }
+
+    @ApiOperation(value = "采购需求修改接口", notes = "采购需求修改接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/purchaseRequirementReturn")
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"采购需求"})
+    public Map<String, Object> purchaseRequirementReturn(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.purchaseRequirementReturn(map);
+    }
+
+    @ApiOperation(value = "采购需求修改状态接口", notes = "采购需求修改状态接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/purchaseRequirementChange")
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"采购需求"})
+    public Map<String, Object> purchaseRequirementChange(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.purchaseRequirementChange(map);
+    }
+
+    @ApiOperation(value = "生产需求修改接口", notes = "生产需求修改接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/productionStatusUpdate")
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"生产需求"})
+    public Map<String, Object> productionStatusUpdate(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.productionStatusUpdate(map);
+    }
+
+
+    @ApiOperation(value = "生产需求批量修改接口", notes = "生产需求批量修改接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"生产需求"})
+    @PostMapping(value = "/productionRequirementBatchUpdate")
+    public Map<String, Object> productionRequirementBatchUpdate(@RequestBody(required = false) Map<String, Object> map) throws ParseException {
+        map.put("insertUsername", map.get("userName").toString());
+        if (map.containsKey("requirementStartTime")) {
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date requirementStartTime = simpleDateFormat.parse(map.get("requirementStartTime").toString());
+            map.put("requirementStartTime", requirementStartTime);
+        }
+
+        if (map.containsKey("requirementEndTime")) {
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date requirementEndTime = simpleDateFormat.parse(map.get("requirementEndTime").toString());
+            map.put("requirementEndTime", requirementEndTime);
+        }
+        if (map.containsKey("dueTime")) {
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date dueTime = simpleDateFormat.parse(map.get("dueTime").toString());
+            map.put("dueTime", dueTime);
+        }
+        return amsFeign.productionRequirementBatchUpdate(map);
+    }
+
+    @ApiOperation(value = "生产需求状态修改接口", notes = "生产需求状态修改接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/productionRequirementChange")
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"生产需求"})
+    public Map<String, Object> productionRequirementChange(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.productionRequirementChange(map);
+    }
+
+    @ApiOperation(value = "生产需求状态修改接口批量", notes = "生产需求状态修改接口批量")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/productionRequirementChangeList")
+    public Map<String, Object> productionRequirementChangeList(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.productionRequirementChangeList(map);
+    }
+
+
+    @ApiOperation(value = "展示生产需求详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getproductionRequirementList")
+    Map<String, Object> getproductionRequirementList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                     Integer apiId,
+                                                     Integer pageNum,
+                                                     Integer pageSize
+    ) {
+        return amsFeign.getproductionRequirementList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "展示生产需求详情-大宗")
+    @PostMapping(value = "/getProductionRequirementListDz")
+    Map<String, Object> getProductionRequirementListDz(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                       Integer apiId,
+                                                       Integer pageNum,
+                                                       Integer pageSize
+    ) {
+        return amsFeign.getProductionRequirementListDz(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "修改通知单环保状态")
+    @PostMapping(value = "/updateEnvironmentStatus")
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"调拨通知单"}, description = "修改通知单环保状态")
+    Map<String, Object> updateEnvironmentStatus(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return amsFeign.updateEnvironmentStatus(mapValue);
+    }
+
+
+    @ApiOperation(value = "修改通知单环保状态")
+    @PostMapping(value = "/transProductRequirementFromDz")
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"调拨通知单"}, description = "修改通知单环保状态")
+    Map<String, Object> transProductRequirementFromDz(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return amsFeign.transProductRequirementFromDz(mapValue);
+    }
+
+    @ApiOperation(value = "展示采购需求详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getPurchaseRequirementList")
+    Map<String, Object> getPurchaseRequirementList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                   Integer apiId,
+                                                   Integer pageNum,
+                                                   Integer pageSize
+    ) {
+        return amsFeign.getPurchaseRequirementList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "展示采购计划详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getPurchasePlanList")
+    Map<String, Object> getPurchasePlanList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                            Integer apiId,
+                                            Integer pageNum,
+                                            Integer pageSize
+    ) {
+        return amsFeign.getPurchasePlanList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "采购计划新增接口", notes = "采购计划新增接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/purchasePlanAdd")
+    @LogAround(foreignKeys = {"transPlanId"}, foreignKeyTypes = {"采购计划"})
+    public Map<String, Object> purchasePlanAdd(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.purchasePlanAdd(map);
+    }
+
+    @ApiOperation(value = "采购计划修改接口", notes = "采购计划修改接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/purchasePlanUpdate")
+    @LogAround(foreignKeys = {"transPlanId"}, foreignKeyTypes = {"采购计划"})
+    public Map<String, Object> purchasePlanUpdate(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.purchasePlanUpdate(map);
+    }
+
+    @ApiOperation(value = "采购计划修改状态接口", notes = "采购计划修改状态接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/purchasePlanChange")
+    @LogAround(foreignKeys = {"transPlanId"}, foreignKeyTypes = {"采购计划"})
+    public Map<String, Object> purchasePlanChange(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.purchasePlanChange(map);
+    }
+
+
+    @ApiOperation(value = "采购火运计划删除接口", notes = "采购火运计划删除接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/purchaseTrainPlanDelete")
+    @LogAround(foreignKeys = {"transPlanId"}, foreignKeyTypes = {"采购计划"})
+    public Map<String, Object> purchaseTrainPlanDelete(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.purchaseTrainPlanDelete(map);
+    }
+
+
+    @ApiOperation(value = "采购火运计划批量删除接口", notes = "采购火运计划批量删除接口")
+    @PostMapping(value = "/purchaseTrainPlanBatchDel")
+    @LogAround(foreignKeys = {"transPlanId"}, foreignKeyTypes = {"采购计划"})
+    public Map<String, Object> purchaseTrainPlanBatchDel(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.purchaseTrainPlanBatchDel(map);
+    }
+
+    @ApiOperation(value = "同步销售订单")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/saleOrderSync")
+    @LogAround(foreignKeys = {"orderId"}, foreignKeyTypes = {"销售订单"})
+    public Map<String, Object> saleOrderSync(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.saleOrderSync(map);
+    }
+
+    @ApiOperation(value = "承运合同")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getAmsTransPriceList")
+    public Map<String, Object> getAmsTransPriceList(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                                    Integer pageNum,
+                                                    Integer pageSize) {
+        return amsFeign.list(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增承运合同")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"priceId"}, foreignKeyTypes = {"承运合同"})
+    @PostMapping("/addAmsTransPrice")
+    public Map<String, Object> insertTransPrice(@RequestBody(required = false) Map<String, Object> map) throws ParseException {
+        if (map.containsKey("priceDate")) {
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date priceDate = simpleDateFormat.parse(map.get("priceDate").toString());
+            map.put("priceDate", priceDate);
+        }
+        return amsFeign.addAmsTransPrice(map);
+    }
+
+    @ApiOperation(value = "修改承运合同")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PutMapping(value = "/{id}")
+    @LogAround(foreignKeys = {"priceId"}, foreignKeyTypes = {"承运合同"})
+    public Map<String, Object> purchaseOrderUpdate(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map) {
+        map.put("updateUsername", map.get("userName").toString());
+        return amsFeign.update(id, map);
+    }
+
+    @ApiOperation(value = "承运合同逻辑删除")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PutMapping(value = "/logicdelete")
+    @LogAround(foreignKeys = {"priceId"}, foreignKeyTypes = {"承运合同"})
+    public Map<String, Object> purchaseOrderLogicDelete(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.logicdelete(map);
+    }
+
+    @ApiOperation(value = "同步NC销售合同")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/saleContractSync")
+    @LogAround(foreignKeys = {"orderId"}, foreignKeyTypes = {"销售合同"})
+    public Map<String, Object> saleContractSync(@RequestBody(required = false) HashMap<String, Object> map) {
+        return amsFeign.saleContractSync(map);
+    }
+
+    //工资合同
+    @ApiOperation(value = "工资合同")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getSalaryContrac")
+    public Map<String, Object> getAmsSalaryContracList(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                                       Integer pageNum,
+                                                       Integer pageSize) {
+        return amsFeign.getAmsSalaryContracList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增工资合同")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"contractId"}, foreignKeyTypes = {"工资合同"})
+    @PostMapping("/insertSalaryContrac")
+    public Map<String, Object> insertAmsSalaryContrac(@RequestBody(required = false) Map<String, Object> map) throws ParseException {
+        if (!map.isEmpty()) {
+            if (!map.get("contractSignDate").toString().isEmpty()) {
+                SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+                Date contractSignDate = simpleDateFormat.parse(map.get("contractSignDate").toString());
+                map.put("contractSignDate", contractSignDate);
+            }
+        }
+        map.put("insertUsername", map.get("userName").toString());
+        return amsFeign.insertAmsSalaryContrac(map);
+    }
+
+    @ApiOperation(value = "修改工资合同")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PutMapping(value = "/updateSalaryContrac/{id}")
+    @LogAround(foreignKeys = {"contractId"}, foreignKeyTypes = {"工资合同"})
+    public Map<String, Object> updateAmsSalaryContrac(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map) {
+        map.put("updateUsername", map.get("userName").toString());
+        return amsFeign.updateAmsSalaryContrac(id, map);
+    }
+
+    @ApiOperation(value = "工资合同逻辑删除")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PutMapping(value = "/SalaryContraclogicdelete")
+    @LogAround(foreignKeys = {"contractId"}, foreignKeyTypes = {"工资合同"})
+    public Map<String, Object> logicdeleteAmsSaalryContrac(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.logicdeleteAmsSaalryContrac(map);
+    }
+
+    @ApiOperation(value = "销售需求新增接口", notes = "销售需求新增接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/saleAdd")
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"销售需求"})
+    public Map<String, Object> saleAdd(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.saleAdd(map);
+    }
+
+    @PostMapping(value = "/readExcel")
+    public RESTfulResult readExcel(MultipartFile file, @RequestParam("userCode") String userCode) {
+        return amsFeign.readExcel(file, userCode);
+    }
+
+    @ApiOperation(value = "展示销售需求")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/selectDlivDirNo")
+    Map<String, Object> selectDlivDirNo(@RequestBody(required = false) HashMap<String, Object> mapValue,
+                                        Integer apiId,
+                                        Integer pageNum,
+                                        Integer pageSize) {
+        return amsFeign.selectDlivDirNo(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "修改发货单状态", notes = "修改发货单状态")
+    @ApiImplicitParam(name = "params", value = "修改内容", required = false, dataType = "ArrayList<HashMap<String, Object>>")
+    @PostMapping(value = "/updateOrder")
+    public RESTfulResult udpateOrder(@RequestBody(required = false) HashMap<String, Object> parmas) {
+        return amsFeign.udpateOrder(parmas);
+    }
+
+    @ApiOperation(value = "退货", notes = "根据填写的数据将发货单进行退货")
+    @ApiImplicitParam(name = "params", value = "查询内容", required = false, dataType = "HashMap<String, Object>")
+    @PostMapping(value = "/returnGoods")
+    public RESTfulResult returnGoods(@RequestBody(required = false) HashMap<String, Object> params) {
+        return amsFeign.returnGoods(params);
+    }
+
+    @ApiOperation(value = "撤销退货", notes = "根据发货单号将发货单的退货记录清除")
+    @ApiImplicitParam(name = "id", value = "查询内容", required = false, dataType = "String")
+    @PostMapping(value = "revokeReturnGoods")
+    public RESTfulResult revokeReturnGoods(@RequestBody Map<String, Object> params) {
+        return amsFeign.revokeReturnGoods(params);
+    }
+
+    @ApiOperation(value = "查询发货单第几次退库", notes = "查询发货单第几次退库")
+    @ApiImplicitParam(name = "dlivDirno", value = "查询内容", required = false, dataType = "String")
+    @GetMapping(value = "/getcut/{dlivDirno}")
+    public RESTfulResult getcut(@PathVariable String dlivDirno) {
+        return amsFeign.getcut(dlivDirno);
+    }
+
+    @ApiOperation(value = "修改发货单信息", notes = "根据填写的数据将发货单进行修改")
+    @ApiImplicitParam(name = "params", value = "查询内容", required = false, dataType = "HashMap<String, Object>")
+    @PostMapping(value = "/editButton")
+    public RESTfulResult editButton(@RequestBody(required = false) HashMap<String, Object> params) {
+        return amsFeign.editButton(params);
+    }
+
+    @ApiOperation(value = "删除发货单信息", notes = "根据填写的数据将发货单进行删除")
+    @ApiImplicitParam(name = "params", value = "查询内容", required = false, dataType = "HashMap<String, Object>")
+    @PostMapping(value = "/deleteDlivDirno")
+    public RESTfulResult deleteDlivDirno(@RequestBody(required = false) HashMap<String, Object> params) {
+        return amsFeign.deleteDlivDirno(params);
+    }
+
+
+    @ApiOperation(value = "展示销售合同")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/selectSaleContractPage")
+    Map<String, Object> selectSaleContractPage(@RequestBody(required = false) Map<String, Object> mapValue,
+                                               Integer apiId,
+                                               Integer pageNum,
+                                               Integer pageSize) {
+        return amsFeign.selectSaleContractPage(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+
+    @ApiOperation(value = "展示销售订单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/selectSaleOrderPage")
+    Map<String, Object> selectSaleOrderPage(@RequestBody(required = false) Map<String, Object> mapValue,
+                                            Integer apiId,
+                                            Integer pageNum,
+                                            Integer pageSize) {
+        return amsFeign.selectSaleOrderPage(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+
+    @ApiOperation(value = "生产计划新增接口", notes = "生产计划新增接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/productionPlanAdd")
+    @LogAround(foreignKeys = {"transPlanId"}, foreignKeyTypes = {"生产计划"})
+    public Map<String, Object> productionPlanAdd(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.productionPlanAdd(map);
+    }
+
+    @ApiOperation(value = "生产计划批量新增接口", notes = "生产计划批量新增接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/productionPlanAddList")
+    public Map<String, Object> productionPlanAddList(@RequestBody Map<String, Object> map) {
+        return amsFeign.productionPlanAddList(map);
+    }
+
+
+    @ApiOperation(value = "展示生产订单详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getproductionPlanList")
+    Map<String, Object> getproductionPlanList(@RequestBody(required = false) Map<String, Object> map,
+                                              Integer apiId,
+                                              Integer pageNum,
+                                              Integer pageSize
+    ) {
+        return amsFeign.getproductionPlanList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "生产计划新增接口", notes = "生产计划新增接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/productionPlanChange")
+    @LogAround(foreignKeys = {"transPlanId"}, foreignKeyTypes = {"生产计划"})
+    public Map<String, Object> productionPlanChange(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.productionPlanChange(map);
+    }
+
+    @ApiOperation(value = "生产计划新增接口", notes = "生产计划新增接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PutMapping(value = "/productionPlanlogicdelete")
+    @LogAround(foreignKeys = {"transPlanId"}, foreignKeyTypes = {"生产计划"})
+    public Map<String, Object> productionPlanlogicdelete(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.productionPlanlogicdelete(map);
+    }
+
+    @ApiOperation(value = "生产需求逻辑删除", notes = "生产需求逻辑删除")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/getProductiveRequirementDelete")
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"生产需求"})
+    public Map<String, Object> getProductiveRequirementDelete(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.getProductiveRequirementDelete(map);
+    }
+
+    @ApiOperation(value = "需求计划新增接口", notes = "需求计划新增接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/salePlanAdd")
+    @LogAround(foreignKeys = {"transPlanId"}, foreignKeyTypes = {"需求计划"})
+    public Map<String, Object> salePlanAdd(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.salePlanAdd(map);
+    }
+
+    @ApiOperation(value = "需求计划修改接口", notes = "需求计划修改接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/salePlanUpdate")
+    @LogAround(foreignKeys = {"transPlanId"}, foreignKeyTypes = {"需求计划"})
+    public Map<String, Object> salePlanUpdate(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.salePlanUpdate(map);
+    }
+
+    @ApiOperation(value = "需求计划新增接口", notes = "需求计划新增接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/salePlanDelete")
+    @LogAround(foreignKeys = {"transPlanId"}, foreignKeyTypes = {"需求计划"})
+    public Map<String, Object> salePlanDelete(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.salePlanDelete(map);
+    }
+
+    @ApiOperation(value = "展示销售计划详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getSalePlanList")
+    Map<String, Object> getSalePlanList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                        Integer apiId,
+                                        Integer pageNum,
+                                        Integer pageSize
+    ) {
+        return amsFeign.getSalePlanList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "发运单绑定接口", notes = "发运单绑定接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/bindSale")
+    public RESTfulResult bindSale(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.bindSale(map);
+    }
+
+    @ApiOperation(value = "获取物资数据", notes = "获取物资数据")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "id", value = "物料编码", required = true, dataType = "String")
+    })
+    @PostMapping(value = "/getMaterial")
+    public RESTfulResult bindSale(@RequestParam String prodCode,
+                                  Integer apiId,
+                                  Integer pageNum,
+                                  Integer pageSize) {
+        return amsFeign.getMaterial(prodCode, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "批量生产需求状态修改接口", notes = "生产需求状态修改接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/productionRequirementChanges/{id}")
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"生产需求"})
+    public Map<String, Object> productionRequirementChanges(@PathVariable String id, @RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.productionRequirementChanges(id, map);
+    }
+
+    @ApiOperation(value = "查询派单时需要的发运单信息", notes = "查询派单时需要的发运单信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "planChildId", value = "json格式具体参数", required = true, dataType = "Integer")
+    })
+    @PostMapping(value = "/selectPlanChildById/{planChildId}")
+    public RESTfulResult selectPlanChildById(@PathVariable("planChildId") String planChildId) {
+        return amsFeign.selectPlanChildById(planChildId);
+    }
+
+    @ApiOperation(value = "展示生产订单审批详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getproductionRequirementworkflowList")
+    Map<String, Object> getproductionRequirementworkflowList(@RequestBody(required = false) Map<String, Object> map,
+                                                             Integer apiId,
+                                                             Integer pageNum,
+                                                             Integer pageSize
+    ) {
+        return amsFeign.getproductionRequirementworkflowList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+
+    }
+
+
+    @ApiOperation(value = "展示销售合同")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getProductPlanList")
+    Map<String, Object> getProductPlanList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                           Integer apiId,
+                                           Integer pageNum,
+                                           Integer pageSize) {
+        return amsFeign.getProductPlanList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+
+    @ApiOperation("停用计划")
+    @PostMapping("/deactivatedPlan")
+    Map<String, Object> deactivatedPlan(@RequestBody Map<String, Object> map) {
+        return amsFeign.deactivatedPlan(map);
+    }
+
+    @ApiOperation("需求审批详情")
+    @PostMapping("/requirementApproveDetails")
+    Map<String, Object> requirementApproveDetails(@RequestBody Map<String, Object> map) {
+        return amsFeign.requirementApproveDetails(map);
+    }
+
+    @ApiOperation(value = "展示订单执行情况")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getOrderStatus")
+    RESTfulResult getOrderStatus(@RequestBody(required = false) Map<String, Object> map,
+                                 Integer apiId,
+                                 Integer pageNum,
+                                 Integer pageSize
+    ) {
+        return amsFeign.getOrderStatus(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+
+    }
+
+
+    @ApiOperation(value = "展示调拨订单信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getProductOrderList")
+    Map<String, Object> getProductOrderList(@RequestBody(required = false) Map<String, Object> map,
+                                            Integer apiId,
+                                            Integer pageNum,
+                                            Integer pageSize
+    ) {
+        return amsFeign.getProductOrderList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+
+    }
+
+    @ApiOperation(value = "查询发运通知单修改需要内容", notes = "查询发运通知单修改需要内容")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/getUpdateDlivDirno")
+    public RESTfulResult getUpdateDlivDirno(@RequestBody Map<String, Object> map) {
+        return amsFeign.getUpdateDlivDirno(map);
+    }
+
+    @ApiOperation(value = "发运通知单修改", notes = "发运通知单修改")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/saleUpdate")
+    public RESTfulResult saleUpdate(@RequestBody Map<String, Object> map) {
+        return amsFeign.saleUpdate(map);
+    }
+
+
+    @ApiOperation(value = "批量新增发运通知单", notes = "批量新增发运通知单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/saleAddPl")
+    public RESTfulResult saleAddPl(@RequestBody Map<String, Object> map) {
+        return amsFeign.saleAddPl(map);
+    }
+
+
+    @ApiOperation(value = "打印获取退货重量", notes = "打印获取退货重量")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/getMoney/{id}")
+    public RESTfulResult getMoney(@PathVariable String id) {
+        return amsFeign.getprintstr(id);
+    }
+
+    @ApiOperation(value = "查询临时货位")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/selectcar")
+    RESTfulResult selectcar(@RequestBody(required = false) Map<String, Object> map,
+                            Integer apiId,
+                            Integer pageNum,
+                            Integer pageSize
+    ) {
+        return amsFeign.selectcar(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+
+    }
+
+    @ApiOperation(value = "查询临时货位详细信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/selectcarList")
+    RESTfulResult selectcarList(@RequestBody(required = false) Map<String, Object> map,
+                                Integer apiId,
+                                Integer pageNum,
+                                Integer pageSize
+    ) {
+        return amsFeign.selectcarList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+
+    }
+
+    @ApiOperation("上传凭证")
+    @PostMapping("/transPlanupload")
+    Map<String, Object> transPlanupload(@RequestBody Map<String, Object> map) {
+        return amsFeign.transPlanupload(map);
+    }
+
+    @ApiOperation("新增生产需求编号")
+    @PostMapping("/getSerialNumber")
+    Map<String, Object> addSerialNumber(@RequestBody Map<String, Object> map) {
+        return amsFeign.getSerialNumber(map);
+    }
+
+    @ApiOperation("批量审批运输单价")
+    @PostMapping("approvePriceData")
+    Map<String, Object> approvePriceData(@RequestBody Map<String, Object> map) {
+        return amsFeign.approvePriceData(map);
+    }
+
+    @ApiOperation("匹配运输单价")
+    @PostMapping("/selectUnitPrice")
+    Map<String, Object> selectUnitPrice(@RequestBody Map<String, Object> map) {
+        return amsFeign.selectUnitPrice(map);
+    }
+
+    @ApiOperation("不分页查询派车证")
+    @PostMapping(value = "/amsScheduleDispatchNoPage")
+    public Map<String, Object> amsScheduleDispatchNoPage(@RequestBody HashMap<String, Object> parmas) {
+        return amsFeign.amsScheduleDispatchNoPage(parmas);
+    }
+
+    @ApiOperation("查询司磅地点")
+    @PostMapping("/getSBDDList")
+    RESTfulResult getMaterialOperation(@RequestBody Map<String, Object> map) {
+        return amsFeign.getSBDDList(map);
+    }
+
+    @ApiOperation("获取提货单打印备注")
+    @PostMapping("/selectBalanceRemark")
+    RESTfulResult selectBalanceRemark(@RequestBody Map<String, Object> map) {
+        return amsFeign.selectBalanceRemark(map);
+    }
+
+    @ApiOperation("获取退货打印备注")
+    @PostMapping("/selectReturnGoodsRemark")
+    RESTfulResult selectReturnGoodsRemark(@RequestBody Map<String, Object> map) {
+        return amsFeign.selectReturnGoodsRemark(map);
+    }
+
+    @ApiOperation("销售物流单停用或启用")
+    @PostMapping("/deactivateOrEnable")
+    RESTfulResult deactivateOrEnable(@RequestBody Map<String, Object> map) {
+        return amsFeign.deactivateOrEnable(map);
+    }
+
+    @ApiOperation("销售物流单停用或启用")
+    @PostMapping("/updateBalancePl")
+    RESTfulResult updateBalancePl(@RequestBody Map<String, Object> map) {
+        return amsFeign.updateBalancePl(map);
+    }
+
+    @ApiOperation("重导WMS")
+    @PostMapping("/addWMS")
+    RESTfulResult addWMS(@RequestBody Map<String, Object> map) {
+        return amsFeign.addWMS(map);
+    }
+
+    @ApiOperation("固定需求新增")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @LogAround(foreignKeys = {"fixedNeedsId"}, foreignKeyTypes = {"固定生产需求"})
+    @PostMapping("/fixedNeedsAdd")
+    RESTfulResult fixedNeedsAdd(@RequestBody(required = false) Map<String, Object> map) throws ParseException {
+        map.put("insertUsername", map.get("userName").toString());
+        if (map.containsKey("requirementStartTime")) {
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date requirementStartTime = simpleDateFormat.parse(map.get("requirementStartTime").toString());
+            map.put("requirementStartTime", requirementStartTime);
+        }
+
+        if (map.containsKey("requirementEndTime")) {
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date requirementEndTime = simpleDateFormat.parse(map.get("requirementEndTime").toString());
+            map.put("requirementEndTime", requirementEndTime);
+        }
+        if (map.containsKey("dueTime")) {
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date dueTime = simpleDateFormat.parse(map.get("dueTime").toString());
+            map.put("dueTime", dueTime);
+        }
+        return amsFeign.fixedNeedsAdd(map);
+    }
+
+    ;
+
+    @ApiOperation(value = "查询固定需求")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getfixdNeedsList")
+    RESTfulResult getfixdNeedsList(@RequestBody(required = false) Map<String, Object> map,
+                                   Integer apiId,
+                                   Integer pageNum,
+                                   Integer pageSize
+    ) {
+        return amsFeign.getfixdNeedsList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+
+    }
+
+    @ApiOperation(value = "生产固定需求批量修改接口", notes = "生产固定需求批量修改接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"生产需求"})
+    @PostMapping(value = "/fixedNeedsUpdate")
+    public Map<String, Object> fixedNeedsUpdate(@RequestBody(required = false) Map<String, Object> map) throws ParseException {
+        map.put("insertUsername", map.get("userName").toString());
+        if (map.containsKey("requirementStartTime")) {
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date requirementStartTime = simpleDateFormat.parse(map.get("requirementStartTime").toString());
+            map.put("requirementStartTime", requirementStartTime);
+        }
+
+        if (map.containsKey("requirementEndTime")) {
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date requirementEndTime = simpleDateFormat.parse(map.get("requirementEndTime").toString());
+            map.put("requirementEndTime", requirementEndTime);
+        }
+        if (map.containsKey("dueTime")) {
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            Date dueTime = simpleDateFormat.parse(map.get("dueTime").toString());
+            map.put("dueTime", dueTime);
+        }
+        return amsFeign.fixedNeedsUpdate(map);
+    }
+
+    @ApiOperation(value = "生产固定需求逻辑删除", notes = "生产固定需求逻辑删除")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/getfixedNeedsDelete")
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"生产需求"})
+    public Map<String, Object> getfixedNeedsDelete(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.getfixedNeedsDelete(map);
+    }
+
+    @ApiOperation(value = "批量生产需求状态修改接口", notes = "生产需求状态修改接口")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/fixedNeedsChangeList")
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"生产需求"})
+    public Map<String, Object> fixedNeedsChangeList(@RequestBody(required = false) Map<String, Object> map) {
+        return amsFeign.fixedNeedsChangeList(map);
+    }
+
+
+    @ApiOperation(value = "导入固定需求", notes = "导入固定需求")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/readFixedNeedsExcel")
+    public Map<String, Object> readFixedNeedsExcel(MultipartFile file) throws Exception {
+        return amsFeign.readFixedNeedsExcel(file);
+    }
+
+    @ApiOperation("导入")
+    @PostMapping("/importTransPrice")
+    public Map<String, Object> importTransPrice(@RequestBody MultipartFile file,
+                                                String userId,
+                                                String userName) throws Exception {
+        Map<String, Object> map = new HashMap<>();
+        //获取Excel中包含的对象数组
+        List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
+        map.put("list", list);
+        map.put("setList", list);
+        map.put("userId", userId);
+        map.put("userName", userName);
+        return amsFeign.importTransPrice(map);
+    }
+
+    @ApiOperation("派车")
+    @PostMapping("/dispatch")
+    public Map<String, Object> dispatch() throws Exception {
+        return tmsFeign.fixedDispatch();
+    }
+
+    @ApiOperation("强制修改")
+    @PostMapping("/forcedModification")
+    public Map<String, Object> forcedModification(@RequestBody Map<String, Object> params) throws Exception {
+        return amsFeign.forcedModification(params);
+    }
+
+    @ApiOperation("新增绑定关系")
+    @PostMapping("/addAmsFixedBindRequirement")
+    public Map<String, Object> addAmsFixedBindRequirement(@RequestBody Map<String, Object> params) throws Exception {
+        return amsFeign.addAmsFixedBindRequirement(params);
+    }
+
+    @ApiOperation("请求撤回需求")
+    @PostMapping("/withdrawRequirement")
+    public Map<String, Object> withdrawRequirement(@RequestBody Map<String, Object> params) throws Exception {
+        return amsFeign.withdrawRequirement(params);
+    }
+
+    @ApiOperation(value = "展示生产需求详情-绑定")
+    @PostMapping(value = "/getProductionRequirementListBind")
+    Map<String, Object> getProductionRequirementListBind(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                         Integer apiId,
+                                                         Integer pageNum,
+                                                         Integer pageSize) {
+        return amsFeign.getProductionRequirementListBind(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation("修改绑定需求")
+    @PostMapping("/updateBindRequirement")
+    public Map<String, Object> updateBindRequirement(@RequestBody Map<String, Object> params) throws Exception {
+        return amsFeign.updateBindRequirement(params);
+    }
+
+    @ApiOperation("进入物流调度派车证")
+    @PostMapping("/addDispatchCard")
+    public Map<String, Object> addDispatchCard(@RequestBody Map<String, Object> params) throws Exception {
+        return amsFeign.addDispatchCard(params);
+    }
+
+    @ApiOperation("汽运传火运清洁能源")
+    @PostMapping("/qjnyChange")
+    public Map<String, Object> qjnyChange(@RequestBody Map<String, Object> params) throws Exception {
+        return amsFeign.qjnyChange(params);
+    }
+}

+ 184 - 0
src/main/java/com/steerinfo/dil/controller/BackgroundProcessingController.java

@@ -0,0 +1,184 @@
+package com.steerinfo.dil.controller;
+
+
+import com.steerinfo.dil.aspect.LogAspect;
+import com.steerinfo.dil.feign.SSOFeign;
+import com.steerinfo.dil.mapper.BackgroundProcessingMapper;
+import com.steerinfo.dil.mapper.DilAppCidMapper;
+import com.steerinfo.dil.mapper.OmstruckOrderMapper;
+import com.steerinfo.dil.mapper.UniversalMapper;
+import com.steerinfo.dil.model.DilAppCid;
+import com.steerinfo.dil.model.OmstruckOrder;
+import com.steerinfo.dil.service.impl.BackgroundProcessingServiceImpl;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.DataChange;
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiOperation;
+import oracle.jdbc.proxy.annotation.Post;
+import org.apache.log4j.Logger;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+import com.steerinfo.dil.util.SSOUtil;
+
+import javax.annotation.Resource;
+import java.math.BigDecimal;
+import java.util.*;
+
+/*
+ * 后台处理程序
+ */
+
+@RestController
+@RequestMapping("${api.version}/bp")
+public class BackgroundProcessingController extends BaseRESTfulController {
+
+    @Autowired
+    private BackgroundProcessingMapper backgroundProcessingMapper;
+
+
+    @Resource
+    SSOUtil ssoUtil;
+
+    @Resource
+    DilAppCidMapper dilAppCidMapper;
+
+    static final Logger log = Logger.getLogger(BackgroundProcessingController.class);
+
+    @ApiOperation("登录接口")
+    @PostMapping("bpLogin")
+    public Map<String, Object> bpLogin(@RequestParam String loginName, @RequestParam String password, @RequestParam String app_code, @RequestParam(required = false) String urlFlag) {
+        Map<String, Object> resMap = ssoUtil.individualLogin(loginName, password, app_code);
+        if ("succeed".equals(resMap.get("status"))) {
+            Map<String, Object> dataMap = (Map<String, Object>) resMap.get("data");
+            Map<String, Object> userInfo = (Map<String, Object>) dataMap.get("user");
+            String userId = userInfo.get("userId").toString();
+            List<Map<String, Object>> mapList = (List<Map<String, Object>>) userInfo.get("sysRoles");
+            // 根据用户名去查询该用户绑定的公司及下属公司;7.2改为只查本单位因前端会报错
+            List<Map<String, Object>> companyList = backgroundProcessingMapper.getCurrentCompanyList(loginName);
+            if (companyList != null && companyList.size() > 0) {
+
+            } else {
+                Map<String, Object> stringMap = new HashMap<>();
+                stringMap.put("companyId", -1);
+                companyList.add(stringMap);
+                //resMap.put("status","failed");
+                //resMap.put("message","账号未与单位关联,联系管理人员");
+                //resMap.put("resultMessage","账号未与单位关联,联系管理人员");
+                //resMap.put("code","500");
+                //return resMap;
+            }
+            //遍历角色,查看是否有业务单位权限
+            for (Map<String, Object> map : mapList) {
+                //如果角色包含业务单位
+                if ("businessCompany".equals(map.get("roleCode"))) {
+                    List<Map<String, Object>> businessCompanyList = backgroundProcessingMapper.getCompanyList(userId);
+                    if (businessCompanyList != null) {
+                        companyList.addAll(businessCompanyList);
+                    }
+                    break;
+                } else {
+                    continue;
+                }
+            }
+            //去重
+            HashSet<Object> objects = new HashSet<>();
+            for(Map<String,Object> map : companyList) {
+                objects.add(map.get("companyId"));
+            }
+            List<Map<String,Object>> companyList1 = new ArrayList<>();
+            for(Object set : objects) {
+                Map<String, Object> objectObjectHashMap = new HashMap<>();
+                objectObjectHashMap.put("companyId",set);
+                companyList1.add(objectObjectHashMap);
+            }
+            Map<String, Object> rootCompanyMap = backgroundProcessingMapper.getCompanyRootMap(loginName);
+            //根据companyList查询名字相同的
+            userInfo.put("dilCompanyList", companyList1);
+            if (rootCompanyMap != null && rootCompanyMap.get("isListed") != null) {
+                userInfo.put("rootCompanyMap", rootCompanyMap);
+            }
+            if (urlFlag != null && urlFlag != "" && rootCompanyMap != null && !urlFlag.equals(rootCompanyMap.get("isListed"))) {
+                resMap.put("status", "failed");
+                resMap.put("message", "账号未在该平台注册,请检查账号");
+                resMap.put("resultMessage", "账号未在该平台注册,请检查账号");
+                resMap.put("code", "500");
+                return resMap;
+            }
+            //查询车牌及排班司机id
+            Map<String, Object> capacityMap = backgroundProcessingMapper.getCapacityMap(loginName);
+            if (capacityMap != null) {
+                dataMap.putAll(capacityMap);
+            }
+            //查询登录账号人员id
+            Map<String, Object> personnelMap = backgroundProcessingMapper.getPersonnelMap(loginName);
+            if (personnelMap != null) {
+                dataMap.putAll(personnelMap);
+            }
+            //注册cid
+            System.out.println(dataMap);
+        }
+        return resMap;
+    }
+
+    @ApiOperation("更新cid")
+    @PostMapping("/insertAppCid")
+    public RESTfulResult insertAppCid(@RequestBody DilAppCid dilAppCid) {
+        try {
+            Map<String, Object> searchMap = new HashMap<>();
+            searchMap.put("cid", dilAppCid.getCid());
+            searchMap.put("userCode", dilAppCid.getUserCode());
+            List<DilAppCid> mapList = dilAppCidMapper.selectByParameters(searchMap);
+            if (mapList != null && mapList.size() > 0 && mapList.get(0) != null) {
+                mapList.get(0).setUpdateTime(new Date());
+                dilAppCidMapper.updateByPrimaryKeySelective(mapList.get(0));
+                return success();
+            }
+            dilAppCid.setPrimaryId(dilAppCidMapper.nextId());
+            dilAppCid.setInsertTime(new Date());
+            dilAppCid.setUpdateTime(new Date());
+            dilAppCid.setDeleted(0);
+            dilAppCidMapper.insertSelective(dilAppCid);
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return success("更新成功");
+    }
+
+
+    @ApiOperation("重置密码")
+    @PostMapping("/resetPwd")
+    public RESTfulResult resetPwd(@RequestBody Map<String, Object> map) {
+        try {
+            if (map.get("ssoId") == null || map.get("ssoId").equals("")) {
+                throw new Exception("用户账号不存在,请先联系管理员注册!");
+            }
+            return success(ssoUtil.resetPwd(map.get("ssoId").toString(), map.get("ssoCode").toString()));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return failed(map, e.getMessage());
+        }
+    }
+
+    @ApiOperation("解锁用户")
+    @PostMapping("/unlockUser")
+    public RESTfulResult unlockUser(@RequestBody Map<String, Object> map) {
+        try {
+            if (map.get("ssoId") == null || map.get("ssoId").equals("")) {
+                throw new Exception("用户账号不存在,请先联系管理员注册!");
+            }
+            return success(ssoUtil.unlockUser(map.get("ssoId").toString(), map.get("ssoCode").toString()));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return failed(map, e.getMessage());
+        }
+    }
+
+    @ApiOperation("修改运输订单状态")
+    @PostMapping("/submitOrderStatus")
+    public RESTfulResult submitOrderStatus(@RequestBody Map<String, Object> map) {
+        int i = backgroundProcessingMapper.submitOrderStatus(map);
+        return success();
+    }
+}

+ 40 - 0
src/main/java/com/steerinfo/dil/controller/DilVersionController.java

@@ -0,0 +1,40 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.service.impl.DilVersionServiceImpl;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/12/14 22:42
+ */
+@RestController
+@RequestMapping("${api.version}/appVersion")
+public class DilVersionController {
+
+    @Autowired
+    DilVersionServiceImpl dilVersionService;
+
+    @ApiOperation(value = "查询APP版本号")
+    @PostMapping("/checkVersion")
+    public String getAppVersion() {
+        return dilVersionService.getAppVersion();
+    }
+
+    @ApiOperation(value = "查询PDA版本号")
+    @PostMapping("/getPDAVersion")
+    public String getPDAVersion() {
+        return dilVersionService.getPDAVersion();
+    }
+
+    @ApiOperation(value = "新增APP版本号")
+    @PostMapping("/addAppVersion/{version}")
+    public String addAppVersion(@PathVariable("version") String version) {
+        return dilVersionService.addAppVersion(version);
+
+    }
+}

+ 27 - 0
src/main/java/com/steerinfo/dil/controller/DzController.java

@@ -0,0 +1,27 @@
+package com.steerinfo.dil.controller;
+
+
+import com.steerinfo.dil.feign.DzFeign;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@RequestMapping("${api.version}/dz")
+@RestController
+public class DzController extends BaseRESTfulController {
+
+    @Autowired
+    DzFeign dzFeign;
+
+    @PostMapping("/getDzData")
+    public Map<String, Object> getDzData(@RequestBody Map<String, Object> map) {
+        return dzFeign.getDzData(map);
+    }
+
+
+}

+ 248 - 0
src/main/java/com/steerinfo/dil/controller/EMSController.java

@@ -0,0 +1,248 @@
+package com.steerinfo.dil.controller;
+
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.steerinfo.dil.annotaion.LogAround;
+import com.steerinfo.dil.feign.AmsFeign;
+import com.steerinfo.dil.feign.EmsFeign;
+import com.steerinfo.dil.feign.RmsFeign;
+import com.steerinfo.dil.feign.TmsFeign;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author luobang
+ * @create 2021-09-17 14:11
+ */
+
+@RestController
+@RequestMapping("${api.version}/ems")
+public class EMSController extends BaseRESTfulController {
+    @Autowired
+    private EmsFeign emsFeign;
+    @Autowired
+    private AmsFeign amsFeign;
+    @Autowired
+    private RmsFeign rmsFeign;
+
+
+    @ApiOperation(value = "新增详单明细")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"settlementId"}, foreignKeyTypes = {"新增详单明细"})
+    @PostMapping("/emsdetailsordersAdd")
+    public Map<String, Object> emsdetailsordersAdd(@RequestBody(required = false) Map<String, Object> map) {
+
+        return emsFeign.emsdetailsordersAdd(map);
+    }
+
+
+    @ApiOperation(value = "新增账单明细")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"settlementId"}, foreignKeyTypes = {"新增详单明细"})
+    @PostMapping("/emssettlementordersAdd")
+    public Map<String, Object> emssettlementordersAdd(@RequestBody Map<String, Object> map) {
+        return emsFeign.emssettlementordersAdd(map);
+    }
+
+    @ApiOperation(value = "修改详单明细")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"settlementId"}, foreignKeyTypes = {"新增详单明细"})
+    @PutMapping("/emsdetailsordersupdate/{id}")
+    public Map<String, Object> emsdetailsordersupdate(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map) {
+        map.put("updateUsername", map.get("userName").toString());
+        return emsFeign.emsdetailsordersupdate(id, map);
+    }
+
+    @ApiOperation(value = "更新详单状态")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"settlementId"}, foreignKeyTypes = {"新增详单明细"})
+    @PutMapping("/emsdetailsordersdelete/{id}")
+    public Map<String, Object> emsdetailsordersdelete(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map) {
+        map.put("updateUsername", map.get("userName").toString());
+        return emsFeign.emsdetailsordersdelete(id, map);
+    }
+
+    @ApiOperation(value = "展示账单详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/emssettlementordersList")
+    Map<String, Object> emssettlementordersList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                Integer apiId,
+                                                Integer pageNum,
+                                                Integer pageSize
+    ) {
+        return emsFeign.emssettlementordersList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "展示详单详情")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/emsdetailsordersList")
+    Map<String, Object> emsdetailsordersList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize
+    ) {
+        return emsFeign.emsdetailsordersList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+
+    @ApiOperation(value = "账单详情更新")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"settlementId"}, foreignKeyTypes = {"账单详情更新"})
+    @PutMapping("/emssettlementorderupdate/{id}")
+    public Map<String, Object> emssettlementorderupdate(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map) throws ParseException {
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        if (map.containsKey("settlementStartDate")) {
+            Date settlementStartDate = simpleDateFormat.parse(map.get("settlementStartDate").toString());
+            map.put("settlementStartDate", settlementStartDate);
+        }
+        if (map.containsKey("settlementEndDate")) {
+            Date settlementEndDate = simpleDateFormat.parse(map.get("settlementEndDate").toString());
+
+            map.put("settlementEndDate", settlementEndDate);
+        }
+
+
+        return emsFeign.emssettlementorderupdate(id, map);
+    }
+
+    @ApiOperation(value = "异常处理")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"settlementId"}, foreignKeyTypes = {"异常处理"})
+    @PostMapping("/abnormal")
+    public Map<String, Object> abnormal(@RequestBody(required = false) Map<String, Object> map) {
+        return emsFeign.abnormal(map);
+    }
+
+    @ApiOperation(value = "展示工资绩效")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/emssalarydetailsList")
+    Map<String, Object> emssalarydetailsList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize
+    ) {
+        return emsFeign.emssalarydetailsList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增详单明细")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"settlementId"}, foreignKeyTypes = {"新增详单明细"})
+    @PostMapping("/emsdetailsordersAdd2")
+    public Map<String, Object> emsdetailsordersAdd2(@RequestBody(required = false) Map<String, Object> map) {
+
+        return emsFeign.emsdetailsordersAdd2(map);
+    }
+
+    @ApiOperation(value = "详单审批")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"settlementId"}, foreignKeyTypes = {"新增详单明细"})
+    @PutMapping("/emsdetailsordersapprove/{id}")
+    public Map<String, Object> emsdetailsordersapprove(@PathVariable String id, @RequestBody(required = false) Map<String, Object> map) {
+        return emsFeign.emsdetailsordersapprove(id, map);
+    }
+
+    @ApiOperation(value = "获取异常数据总数")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping("/faildMsg")
+    public Map<String, Object> faildMsg() {
+        return emsFeign.faildMsg();
+    }
+
+
+    @ApiOperation(value = "展示年月工资绩效")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getemssalarydetailsMonthyear")
+    Map<String, Object> getemssalarydetailsMonthyear(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                     Integer apiId,
+                                                     Integer pageNum,
+                                                     Integer pageSize
+    ) {
+        return emsFeign.getemssalarydetailsMonthyear(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "展示票据管理")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getemsticketmanagementslist")
+    Map<String, Object> getemsticketmanagementslist(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                    Integer apiId,
+                                                    Integer pageNum,
+                                                    Integer pageSize
+    ) {
+        return emsFeign.getemsticketmanagementslist(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+
+    @ApiOperation(value = "新增票据管理")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"settlementId"}, foreignKeyTypes = {"新增详单明细"})
+    @PostMapping("/insertemsticketmanagements")
+    public Map<String, Object> insertemsticketmanagements(@RequestBody(required = false) Map<String, Object> map) {
+
+        return emsFeign.insertemsticketmanagements(map);
+    }
+
+    @ApiOperation(value = "票据管理逻辑删除")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"settlementId"}, foreignKeyTypes = {"新增详单明细"})
+    @PostMapping("/deletedemsticketmanagements")
+    public Map<String, Object> deletedemsticketmanagements(@RequestBody(required = false) Map<String, Object> map) {
+
+        return emsFeign.deletedemsticketmanagements(map);
+    }
+
+    @ApiOperation(value = "票据管理逻辑修改")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"settlementId"}, foreignKeyTypes = {"新增详单明细"})
+    @PostMapping("/updateemsticketmanagements")
+    public Map<String, Object> updateemsticketmanagements(@RequestBody(required = false) Map<String, Object> map) {
+
+        return emsFeign.updateemsticketmanagements(map);
+    }
+
+
+    @ApiOperation(value = "一键修复异常")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"settlementId"}, foreignKeyTypes = {"一键修复异常"})
+    @PostMapping("/changerAllabnormal")
+    public Map<String, Object> changerAllabnormal(@RequestBody(required = false) Map<String, Object> map) {
+        return emsFeign.changerAllabnormal(map);
+    }
+}

+ 1918 - 0
src/main/java/com/steerinfo/dil/controller/RMScontroller.java

@@ -0,0 +1,1918 @@
+package com.steerinfo.dil.controller;
+
+import com.alibaba.fastjson.JSONObject;
+import com.steerinfo.dil.annotaion.LogAround;
+import com.steerinfo.dil.annotaion.RequestLimit;
+import com.steerinfo.dil.feign.RmsFeign;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ExcelToolUtils;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.framework.controller.BaseController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.java.Log;
+import oracle.jdbc.proxy.annotation.Post;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+@RestController
+@RequestMapping("${api.version}/rms")
+public class RMScontroller extends BaseRESTfulController {
+    @Autowired
+    RmsFeign rmsFeign;
+
+    @ApiOperation(value = "查询所有作业环节")
+    @PostMapping("/getStepTypeList")
+    public Map<String, Object> getStepTypeList() {
+        return rmsFeign.getStepTypeList();
+    }
+
+    @ApiOperation(value = "查询运输路线")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId", value = "249", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getLineList")
+    public Map<String, Object> getLineList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                           Integer pageNum,
+                                           Integer pageSize,
+                                           Integer apiId) {
+        return rmsFeign.getLineList(mapValue == null ? new HashMap<>() : mapValue, pageNum, pageSize, apiId);
+    }
+
+    @ApiOperation(value = "新增运输路线")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "运输路线", required = false, dataType = "Map"),
+    })
+    @PostMapping("/insertLine")
+    @LogAround(foreignKeys = {"lineId"}, foreignKeyTypes = {"运输路线"})
+    public Map<String, Object> insertLine(@RequestBody(required = false) Map<String, Object> mapVal) {
+        return rmsFeign.insertLine(mapVal);
+    }
+
+    @ApiOperation(value = "删除运输路线")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "运输路线", required = false, dataType = "Map"),
+    })
+    @PostMapping("/deleteLine")
+    @LogAround(foreignKeys = {"lineId"}, foreignKeyTypes = {"运输路线"})
+    public Map<String, Object> deleteLine(@RequestBody(required = false) Map<String, Object> mapVal) {
+        return rmsFeign.deleteLine(mapVal);
+    }
+
+    @ApiOperation(value = "审批/拒审运输路线")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "运输路线", required = false, dataType = "Map"),
+    })
+    @PostMapping("/approveTransLine")
+    @LogAround(foreignKeys = {"lineId"}, foreignKeyTypes = {"运输路线"})
+    public Map<String, Object> approveTransLine(@RequestBody(required = false) Map<String, Object> mapVal) {
+        return rmsFeign.approveTransLine(mapVal);
+    }
+
+    @ApiOperation(value = "根据id查询线路详情", notes = "")
+    @ApiImplicitParam(name = "rmsLineStep", value = "rmsLineStep", required = true, dataType = "rmsLineStep")
+    @PostMapping(value = "/getRmsLineStep/{id}")
+    public Map<String, Object> getRmsLineStep(@PathVariable("id") BigDecimal id) {
+        return rmsFeign.getRmsLineStep(id);
+    }
+
+    @ApiOperation(value = "根据id查询线路匹配规则", notes = "")
+    @ApiImplicitParam(name = "rmsLineRule", value = "rmsLineRule", required = true, dataType = "rmsLineRule")
+    @PostMapping(value = "/getRulesByLineId")
+    public Map<String, Object> getRulesByLineId(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.getRulesByLineId(map);
+    }
+
+    @ApiOperation(value = "保存运输路线的匹配规则", notes = "")
+    @ApiImplicitParam(name = "rmsLineRule", value = "rmsLineRule", required = true, dataType = "rmsLineRule")
+    @PostMapping(value = "/saveLineRule")
+    public Map<String, Object> saveLineRule(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.saveLineRule(map);
+    }
+
+
+    //================物资类型
+    @PostMapping("/getMaterialTypeList")
+    @ApiOperation(value = "查询物资种类列表")
+    public Map<String, Object> getMaterialTypeList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                   Integer pageNum,
+                                                   Integer pageSize,
+                                                   Integer apiId,
+                                                   String con) {
+
+        return rmsFeign.getMaterialTypeList(mapValue == null ? new HashMap<>() : mapValue, pageNum, pageSize, apiId, con);
+    }
+
+    @PostMapping("/getMaterialTypeListByCompany")
+    @ApiOperation(value = "查询物资种类列表")
+    public Map<String, Object> getMaterialTypeListByCompany(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                            Integer pageNum,
+                                                            Integer pageSize,
+                                                            Integer apiId,
+                                                            String con) {
+
+        return rmsFeign.getMaterialTypeListByCompany(mapValue == null ? new HashMap<>() : mapValue, pageNum, pageSize, apiId, con);
+    }
+
+    @ApiOperation("新增物资类型")
+    @PostMapping("/insertMaterialType")
+    @LogAround(foreignKeys = {"materialTypeId"}, foreignKeyTypes = "物资类型", description = "新增物资类型")
+    public RESTfulResult insertMaterialType(@RequestBody(required = false) Map<String, Object> map) {
+        List dilCompanyList = (List) map.get("dilCompanyList");
+        if (dilCompanyList != null && dilCompanyList.size() > 0) {
+            Map<String, Object> stringObjectMap = (Map<String, Object>) dilCompanyList.get(0);
+            map.put("companyId", stringObjectMap.get("companyId"));
+        }
+        return rmsFeign.insertMaterialType(map);
+    }
+
+    @ApiOperation("导入物资类型")
+    @PostMapping("/importMaterialType")
+    public RESTfulResult insertMaterialTypeExcel(@RequestBody MultipartFile file,
+                                                 String remark,
+                                                 String userId,
+                                                 String userName) throws Exception {
+        Map<String, Object> map = new HashMap<>();
+        //获取Excel中包含的对象数组
+        List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
+        map.put("list", list);
+        Set<String> set = new HashSet<>();
+        for (Map<String, Object> item : list) {
+            //校验行
+            if (
+                    item.get("名称") == null || item.get("名称").equals("")
+                            || item.get("编码") == null || item.get("编码").equals("")
+                            || item.get("NC主键") == null || item.get("NC主键").equals("")
+            ) {
+                throw new Exception("单元格数据异常,请检查模板或数据是否正确!");
+            }
+            set.add(item.get("NC主键").toString());
+            map.put(item.get("NC主键").toString(), item);
+        }
+        //去重
+        String[] setList = set.toArray(new String[0]);
+        if (setList.length != list.size()) {
+            throw new Exception("NC主键不允许重复!");
+        }
+        map.put("setList", setList);
+        map.put("userId", userId);
+        map.put("userName", userName);
+        map.put("remark", remark);
+        return rmsFeign.importMaterialType(map);
+    }
+
+    @ApiOperation(value = "删除物资类型")
+    @ApiImplicitParam(name = "rmsMaterialType", value = "rmsMaterialType", required = true, dataType = "rmsMaterialType")
+    @PostMapping(value = "/deleteMaterialType")
+    @LogAround(foreignKeys = {"materialTypeId"}, foreignKeyTypes = "物资类型", description = "删除物资类型")
+    public RESTfulResult deleteMaterialType(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.deleteMaterialType(map);
+    }
+
+    @ApiOperation(value = "同步物资类型")
+    @ApiImplicitParam(name = "rmsMaterialType", value = "rmsMaterialType", required = true, dataType = "rmsMaterialType")
+    @PostMapping(value = "/syncMaterialType")
+    @LogAround(foreignKeys = {"materialTypeId"}, foreignKeyTypes = "物资类型", description = "修改物资类型")
+    public Map<String, Object> syncMaterialType(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.syncMaterialType(map);
+    }
+
+    @ApiOperation(value = "更新物资类型")
+    @ApiImplicitParam(name = "rmsMaterialType", value = "rmsMaterialType", required = true, dataType = "rmsMaterialType")
+    @PostMapping(value = "/updateMaterialType")
+    @LogAround(foreignKeys = {"materialTypeId"}, foreignKeyTypes = "物资类型", description = "修改物资类型")
+    public Map<String, Object> updateMaterialType(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.updateMaterialType(map);
+    }
+
+    @ApiOperation(value = "根据id查询物资类型信息", notes = "")
+    @ApiImplicitParam(name = "rmsMaterialType", value = "rmsMaterialType", required = true, dataType = "rmsMaterialType")
+    @PostMapping(value = "/getMaterialTypeById/{id}")
+    public Map<String, Object> getMaterialTypeById(@PathVariable("id") BigDecimal id) {
+        return rmsFeign.getMaterialTypeById(id);
+    }
+
+    @ApiOperation(value = "物资树形结构", notes = "")
+    @ApiImplicitParam(name = "rmsMaterialType", value = "rmsMaterialType", required = true, dataType = "rmsMaterialType")
+    @PostMapping(value = "/getMaterialTree")
+    public Map<String, Object> getMaterialTree(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.getMaterialTree(map);
+    }
+
+
+    //====================物资
+    @ApiOperation(value = "获取物资列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getMaterialList")
+    public Map<String, Object> getMaterialList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                               Integer apiId,
+                                               Integer pageNum,
+                                               Integer pageSize
+    ) {
+        return rmsFeign.getMaterialList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增物资", notes = "根据rmsMaterial对象创建")
+    @ApiImplicitParam(name = "rmsMaterial", value = "详细实体rmsMaterial", required = true, dataType = "rmsMaterial")
+    @PostMapping(value = "/insertMaterial")
+    @LogAround(foreignKeys = {"materialId"}, foreignKeyTypes = {"物资"}, description = "新增物资")
+    public Map<String, Object> insertMaterial(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.insertMaterial(map);
+    }
+
+    @ApiOperation(value = "删除", notes = "根据rmsCarrier对象创建")
+    @ApiImplicitParam(name = "rmsMaterial", value = "详细实体rmsMaterial", required = true, dataType = "rmsMaterial")
+    @PostMapping(value = "/deleteMaterial")
+    @LogAround(foreignKeys = {"materialId"}, foreignKeyTypes = {"物资"}, description = "删除物资")
+    public Map<String, Object> deleteMaterial(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.deleteMaterial(map);
+    }
+
+    @ApiOperation(value = "更新物资", notes = "根据rmsMaterial对象创建")
+    @ApiImplicitParam(name = "rmsMaterial", value = "详细实体rmsMaterial", required = true, dataType = "rmsMaterial")
+    @PostMapping(value = "/updateMaterial")
+    @LogAround(foreignKeys = {"materialId"}, foreignKeyTypes = {"物资"}, description = "修改物资")
+    public Map<String, Object> updateMaterial(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.updateMaterial(map);
+    }
+
+    @ApiOperation(value = "根据id查询原料信息", notes = "根据rmsCarrier对象创建")
+    @ApiImplicitParam(name = "rmsMaterial", value = "详细实体rmsMaterial", required = true, dataType = "rmsMaterial")
+    @PostMapping(value = "/getMaterialById/{id}")
+    public Map<String, Object> getMaterialById(@PathVariable("id") BigDecimal id) {
+        return rmsFeign.getMaterialById(id);
+    }
+
+    @ApiOperation(value = "同步物资", notes = "根据rmsMaterial对象创建")
+    @ApiImplicitParam(name = "rmsMaterial", value = "详细实体rmsMaterial", required = true, dataType = "rmsMaterial")
+    @PostMapping(value = "/syncMaterial")
+    @LogAround(foreignKeys = {"materialId"}, foreignKeyTypes = {"物资"}, description = "同步物资")
+    public Map<String, Object> syncMaterial(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.syncMaterial(map);
+    }
+
+    @ApiOperation("导入物资")
+    @PostMapping("/importMaterial")
+    public RESTfulResult importMaterial(@RequestBody MultipartFile file,
+                                        String remark,
+                                        String userId,
+                                        String userName) throws Exception {
+        Map<String, Object> map = new HashMap<>();
+        //获取Excel中包含的对象数组
+        List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
+        map.put("list", list);
+        Set<String> set = new HashSet<>();
+        for (Map<String, Object> item : list) {
+            //校验行
+            if (
+                    item.get("名称") == null || item.get("名称").equals("")
+                            || item.get("编码") == null || item.get("编码").equals("")
+                            || item.get("类型") == null || item.get("类型").equals("")
+                            || item.get("NC主键") == null || item.get("NC主键").equals("")
+            ) {
+                throw new Exception("单元格数据异常,请检查模板或数据是否正确!");
+            }
+            set.add(item.get("NC主键").toString());
+            map.put(item.get("NC主键").toString(), item);
+        }
+        //去重
+        String[] setList = set.toArray(new String[0]);
+        if (setList.length != list.size()) {
+            throw new Exception("NC主键不允许重复!");
+        }
+        map.put("setList", setList);
+        map.put("userId", userId);
+        map.put("userName", userName);
+        return rmsFeign.importMaterial(map);
+    }
+
+    //====================物资
+    @ApiOperation(value = "获取物资产量列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getMaterialYieldList")
+    public Map<String, Object> getMaterialYieldList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                    Integer apiId,
+                                                    Integer pageNum,
+                                                    Integer pageSize
+    ) {
+        return rmsFeign.getMaterialYieldList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "获取物资产量列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getRmsBaseProductionCostList")
+    public Map<String, Object> getRmsBaseProductionCostList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                            Integer apiId,
+                                                            Integer pageNum,
+                                                            Integer pageSize
+    ) {
+        return rmsFeign.getRmsBaseProductionCostList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @PostMapping("/insertRmsBaseProductionCost")
+    public Map<String, Object> insertRmsBaseProductionCost(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.insertRmsBaseProductionCost(mapValue);
+    }
+
+    @PostMapping("/updateRmsBaseProductionCost")
+    public Map<String, Object> updateRmsBaseProductionCost(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.updateRmsBaseProductionCost(mapValue);
+    }
+
+    @PostMapping("/deleteRmsBaseProductionCost")
+    public Map<String, Object> deleteRmsBaseProductionCost(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.deleteRmsBaseProductionCost(mapValue);
+    }
+
+    @PostMapping("/getRmsBasePurchaseCostList")
+    public Map<String, Object> getRmsBasePurchaseCostList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                          Integer apiId,
+                                                          Integer pageNum,
+                                                          Integer pageSize
+    ) {
+        return rmsFeign.getRmsBasePurchaseCostList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @PostMapping("/insertRmsBasePurchaseCost")
+    public Map<String, Object> insertRmsBasePurchaseCost(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.insertRmsBasePurchaseCost(mapValue);
+    }
+
+    @PostMapping("/updateRmsBasePurchaseCost")
+    public Map<String, Object> updateRmsBasePurchaseCost(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.updateRmsBasePurchaseCost(mapValue);
+    }
+
+    @PostMapping("/deleteRmsBasePurchaseCost")
+    public Map<String, Object> deleteRmsBasePurchaseCost(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.deleteRmsBasePurchaseCost(mapValue);
+    }
+
+    @PostMapping("/getRmsBaseSaleCostList")
+    public Map<String, Object> getRmsBaseSaleCostList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                      Integer apiId,
+                                                      Integer pageNum,
+                                                      Integer pageSize
+    ) {
+        return rmsFeign.getRmsBaseSaleCostList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @PostMapping("/insertRmsBaseSaleCost")
+    public Map<String, Object> insertRmsBaseSaleCost(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.insertRmsBaseSaleCost(mapValue);
+    }
+
+    @PostMapping("/updateRmsBaseSaleCost")
+    public Map<String, Object> updateRmsBaseSaleCost(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.updateRmsBaseSaleCost(mapValue);
+    }
+
+    @PostMapping("/deleteRmsBaseSaleCost")
+    public Map<String, Object> deleteRmsBaseSaleCost(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.deleteRmsBaseSaleCost(mapValue);
+    }
+
+    @PostMapping("/insertMaterialYield")
+    public Map<String, Object> insertMaterialYield(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.insertMaterialYield(mapValue);
+    }
+
+    @PostMapping("/updateMaterialYield")
+    public Map<String, Object> updateMaterialYield(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.updateMaterialYield(mapValue);
+    }
+
+    @PostMapping("/deleteMaterialYield")
+    public Map<String, Object> deleteMaterialYield(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.deleteMaterialYield(mapValue);
+    }
+
+
+    //====================作业点
+    @ApiOperation(value = "获取作业点列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getOperationPointList")
+    public Map<String, Object> getOperationPointList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                     Integer apiId,
+                                                     Integer pageNum,
+                                                     Integer pageSize
+    ) {
+        return rmsFeign.getOperationPointList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增作业点", notes = "根据rmsOperationPoint对象创建")
+    @ApiImplicitParam(name = "rmsOperationPoint", value = "详细实体rmsOperationPoint", required = true, dataType = "rmsOperationPoint")
+    @PostMapping(value = "/insertOperationPoint")
+    @LogAround(foreignKeys = {"operationPointId"}, foreignKeyTypes = {"作业点"}, description = "新增作业点")
+    public Map<String, Object> insertOperationPoint(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.insertOperationPoint(map);
+    }
+
+    @ApiOperation(value = "删除", notes = "根据rmsCarrier对象创建")
+    @ApiImplicitParam(name = "rmsOperationPoint", value = "详细实体rmsOperationPoint", required = true, dataType = "rmsOperationPoint")
+    @PostMapping(value = "/deleteOperationPoint")
+    @LogAround(foreignKeys = {"operationPointId"}, foreignKeyTypes = {"作业点"}, description = "删除作业点")
+    public Map<String, Object> deleteOperationPoint(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.deleteOperationPoint(map);
+    }
+
+    @ApiOperation(value = "更新作业点", notes = "根据rmsOperationPoint对象创建")
+    @ApiImplicitParam(name = "rmsOperationPoint", value = "详细实体rmsOperationPoint", required = true, dataType = "rmsOperationPoint")
+    @PostMapping(value = "/updateOperationPoint")
+    @LogAround(foreignKeys = {"operationPointId"}, foreignKeyTypes = {"作业点"}, description = "修改作业点")
+    public Map<String, Object> updateOperationPoint(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.updateOperationPoint(map);
+    }
+
+    @ApiOperation("导入作业点")
+    @PostMapping("/importOperationPoint")
+    public RESTfulResult importOperationPoint(@RequestBody MultipartFile file,
+                                              String userId,
+                                              String userName) throws Exception {
+        Map<String, Object> map = new HashMap<>();
+        //获取Excel中包含的对象数组
+        List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
+        map.put("list", list);
+        Set<String> set = new HashSet<>();
+        for (Map<String, Object> item : list) {
+            //校验行
+            if (
+                    item.get("名称") == null || item.get("名称").equals("")
+                            || item.get("编码") == null || item.get("编码").equals("")
+                            || item.get("类型") == null || item.get("类型").equals("")
+                            || item.get("NC主键") == null || item.get("NC主键").equals("")
+                            || item.get("所属单位") == null || item.get("所属单位").equals("")
+            ) {
+                throw new Exception("单元格数据异常,请检查模板或数据是否正确!");
+            }
+            //隔开用于查询是否数据库存在
+            set.add(item.get("NC主键").toString());
+            //key-value结构方便数据库去重后获取值
+            map.put(item.get("NC主键").toString(), item);
+        }
+        //去重
+        String[] setList = set.toArray(new String[0]);
+        if (setList.length != list.size()) {
+            throw new Exception("NC主键不允许重复!");
+        }
+        map.put("setList", setList);
+        map.put("userId", userId);
+        map.put("userName", userName);
+        return rmsFeign.importOperationPoint(map);
+    }
+
+    @ApiOperation(value = "根据id查询原料信息", notes = "根据rmsCarrier对象创建")
+    @ApiImplicitParam(name = "rmsOperationPoint", value = "详细实体rmsOperationPoint", required = true, dataType = "rmsOperationPoint")
+    @PostMapping(value = "/getOperationPointById/{id}")
+    public Map<String, Object> getOperationPointById(@PathVariable("id") BigDecimal id) {
+        return rmsFeign.getOperationPointById(id);
+    }
+
+    @ApiOperation(value = "更新作业点同步作业点", notes = "根据rmsOperationPoint对象创建")
+    @ApiImplicitParam(name = "rmsOperationPoint", value = "详细实体rmsOperationPoint", required = true, dataType = "rmsOperationPoint")
+    @PostMapping(value = "/syncOperationPoint")
+    @LogAround(foreignKeys = {"operationPointId"}, foreignKeyTypes = {"作业点"}, description = "同步作业点")
+    public Map<String, Object> syncOperationPoint(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.syncOperationPoint(map);
+    }
+
+
+    @ApiOperation(value = "作业点一览", notes = "树形结构")
+    @PostMapping(value = "/getOperationPointTree")
+    public Map<String, Object> getOperationPointTree(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.getOperationPointTree(map);
+    }
+
+    //============人员信息
+    @ApiOperation(value = "获取人员信息列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
+    })
+
+    @PostMapping("/getPersonnelList")
+    public Map<String, Object> getPersonnelList(@RequestBody(required = false) Map<String, Object> mapVal,
+                                                Integer apiId,
+                                                Integer pageNum,
+                                                Integer pageSize,
+                                                String con
+    ) {
+        return rmsFeign.getPersonnelList(mapVal == null ? new HashMap<>() : mapVal, apiId, pageNum, pageSize, con);
+    }
+
+    @ApiOperation(value = "新增人员信息", notes = "根据rmsMaterial对象创建")
+    @ApiImplicitParam(name = "rmsPersonnel", value = "详细实体rmsPersonnel", required = true, dataType = "rmsPersonnel")
+    @PostMapping(value = "/insertPersonnel")
+    @LogAround(foreignKeys = {"personnelId"}, foreignKeyTypes = {"人员"})
+    public Map<String, Object> insertPersonnel(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.insertPersonnel(map);
+    }
+
+    @ApiOperation(value = "新增司机信息", notes = "根据rmsMaterial对象创建")
+    @ApiImplicitParam(name = "rmsPersonnel", value = "详细实体rmsPersonnel", required = true, dataType = "rmsPersonnel")
+    @PostMapping(value = "/insertDriver")
+    @LogAround(foreignKeys = {"personnelId"}, foreignKeyTypes = {"人员"})
+    public Map<String, Object> insertDriver(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.insertDriver(map);
+    }
+
+    @ApiOperation(value = "删除", notes = "根据rmsPersonnel对象创建")
+    @ApiImplicitParam(name = "rmsMaterial", value = "详细实体rmsPersonnel", required = true, dataType = "rmsPersonnel")
+    @PostMapping(value = "/deletePersonnel")
+    @LogAround(foreignKeys = {"personnelId"}, foreignKeyTypes = {"人员"})
+    public Map<String, Object> deletePersonnel(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.deletePersonnel(map);
+    }
+
+    @ApiOperation(value = "更新人员信息", notes = "根据rmsMaterial对象创建")
+    @ApiImplicitParam(name = "rmsPersonnel", value = "详细实体rmsPersonnel", required = true, dataType = "rmsPersonnel")
+    @PostMapping(value = "/updatePersonnel")
+    @LogAround(foreignKeys = {"personnelId"}, foreignKeyTypes = {"人员"})
+    public Map<String, Object> updatePersonnel(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.updatePersonnel(map);
+    }
+
+    @ApiOperation(value = "审批/拒审人员(司机)")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "人员", required = false, dataType = "Map"),
+    })
+    @PostMapping("/approvePersonnel")
+    @LogAround(foreignKeys = {"personnelId"}, foreignKeyTypes = {"人员"})
+    public Map<String, Object> approvePersonnel(@RequestBody(required = false) Map<String, Object> mapVal) {
+        return rmsFeign.approvePersonnel(mapVal);
+    }
+
+    @ApiOperation(value = "根据id更新详细人员信息", notes = "根据rmsPersonnel对象创建")
+    @ApiImplicitParam(name = "rmsPersonnel", value = "详细实体rmsPersonnel", required = true, dataType = "rmsPersonnel")
+    @PostMapping(value = "/getPersonnelById")
+    public Map<String, Object> getPersonnelById(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.getPersonnelById(map);
+    }
+
+    @ApiOperation(value = "根据id更新详细人员信息", notes = "根据rmsPersonnel对象创建")
+    @ApiImplicitParam(name = "rmsPersonnel", value = "详细实体rmsPersonnel", required = true, dataType = "rmsPersonnel")
+    @PostMapping(value = "/syncPersonnel")
+    @LogAround(foreignKeys = {"personnelId"}, foreignKeyTypes = {"人员"})
+    public Map<String, Object> syncPersonnel(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.syncPersonnel(map);
+    }
+
+    @ApiOperation("导入人员信息")
+    @PostMapping("/importPersonnel")
+    public RESTfulResult importPersonnel(@RequestBody MultipartFile file,
+                                         String userId,
+                                         String userName) throws Exception {
+        Map<String, Object> map = new HashMap<>();
+        //获取Excel中包含的对象数组
+        List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
+        map.put("list", list);
+        Set<String> set = new HashSet<>();
+        for (Map<String, Object> item : list) {
+            //校验行
+            if (
+                    item.get("姓名") == null || item.get("姓名").equals("")
+                            || item.get("编码") == null || item.get("编码").equals("")
+                            || item.get("身份证号") == null || item.get("身份证号").equals("")
+                            || item.get("所属单位") == null || item.get("所属单位").equals("")
+                            || item.get("NC主键") == null || item.get("NC主键").equals("")
+            ) {
+                throw new Exception("单元格数据异常,请检查模板或数据是否正确!");
+            }
+            //隔开用于查询是否数据库存在
+            set.add(item.get("NC主键").toString() + item.get("所属单位").toString());
+            map.put(item.get("NC主键").toString() + item.get("所属单位").toString(), item);
+        }
+        //去重
+        String[] setList = set.toArray(new String[0]);
+        if (setList.length != list.size()) {
+            throw new Exception("NC主键-所属单位不允许重复!");
+        }
+        map.put("setList", setList);
+        map.put("userId", userId);
+        map.put("userName", userName);
+        return rmsFeign.importPersonnel(map);
+    }
+
+    @ApiOperation("导入人员信息")
+    @PostMapping("/importPersonnelSyncSSO")
+    public RESTfulResult importPersonnelSyncSSO(@RequestBody MultipartFile file,
+                                                String userId,
+                                                String userName) throws Exception {
+        Map<String, Object> map = new HashMap<>();
+        //获取Excel中包含的对象数组
+        List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
+        map.put("list", list);
+        for (Map<String, Object> item : list) {
+            //校验行
+            if (
+                    item.get("姓名") == null || item.get("姓名").equals("")
+                            //|| item.get("身份证号")==null || item.get("身份证号").equals("")
+                            || item.get("手机") == null || item.get("手机").equals("")
+                            || item.get("单位") == null || item.get("单位").equals("")
+                //|| item.get("岗位名称")==null || item.get("岗位名称").equals("")
+            ) {
+                throw new Exception("单元格数据异常,请检查模板或数据是否正确!");
+            }
+            item.put("companyId", item.get("单位"));
+            item.put("personnelPost", item.get("岗位名称"));
+            item.put("personnelName", item.get("姓名"));
+            item.put("personnelPhone", item.get("手机"));
+            item.put("identityCard", item.get("身份证号"));
+            item.put("roleName", item.get("角色"));
+        }
+        map.put("userId", userId);
+        map.put("userName", userName);
+        return rmsFeign.importPersonnelSyncSSO(map);
+    }
+
+
+    //================公司
+    @ApiOperation(value = "展示公司信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getCompanyList")
+    public Map<String, Object> getCompanyList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                              Integer apiId,
+                                              Integer pageNum,
+                                              Integer pageSize
+    ) {
+        return rmsFeign.getCompanyList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "展示公司信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getCompanyListNoPage")
+    public Map<String, Object> getCompanyListNoPage(@RequestBody(required = false) Map<String, Object> mapValue
+    ) {
+        return rmsFeign.getCompanyListNoPage(mapValue == null ? new HashMap<>() : mapValue);
+    }
+
+    @ApiOperation(value = "新增公司信息", notes = "根据rmsCompany对象创建")
+    @ApiImplicitParam(name = "rmsCompany", value = "详细实体rmsCompany", required = true, dataType = "rmsCompany")
+    @PostMapping(value = "/insertCompany")
+    @LogAround(foreignKeys = {"companyId"}, foreignKeyTypes = "公司", description = "新增公司单位")
+    public Map<String, Object> insertCompany(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.insertCompany(map);
+    }
+
+    @ApiOperation(value = "删除")
+    @ApiImplicitParam(name = "公司id", value = "id", required = true, dataType = "int")
+    @PostMapping(value = "/deleteCompany")
+    @LogAround(foreignKeys = {"companyId"}, foreignKeyTypes = "公司", description = "删除公司单位")
+    public Map<String, Object> deleteCompany(@RequestBody Map<String, Object> map) {
+        return rmsFeign.deleteCompany(map);
+    }
+
+    @ApiOperation(value = "更新公司信息", notes = "根据rmsCompany对象创建")
+    @ApiImplicitParam(name = "rmsCompany", value = "详细实体rmsCompany", required = true, dataType = "rmsCompany")
+    @PostMapping(value = "/updateCompany")
+    @LogAround(foreignKeys = {"companyId"}, foreignKeyTypes = "公司", description = "修改公司单位")
+    public Map<String, Object> updateCompany(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.updateCompany(map);
+    }
+
+    @ApiOperation(value = "根据id查询公司信息", notes = "根据rmsCompany对象创建")
+    @ApiImplicitParam(name = "公司id", value = "id", required = true, dataType = "int")
+    @PostMapping(value = "/getCompanyById/{id}")
+    public Map<String, Object> getCompanyById(@PathVariable("id") BigDecimal id) {
+        return rmsFeign.getCompanyById(id);
+    }
+
+    @ApiOperation(value = "同步公司", notes = "根据rmsCompany对象创建")
+    @ApiImplicitParam(name = "rmsCompany", value = "详细实体rmsCompany", required = true, dataType = "rmsCompany")
+    @PostMapping(value = "/syncCompany")
+    @LogAround(foreignKeys = {"companyId"}, foreignKeyTypes = {"公司"}, description = "同步公司")
+    public Map<String, Object> syncCompany(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.syncCompany(map);
+    }
+
+    @ApiOperation("导入公司")
+    @PostMapping("/importCompany")
+    public RESTfulResult importCompany(@RequestBody MultipartFile file,
+                                       String remark,
+                                       String userId,
+                                       String userName) throws Exception {
+        Map<String, Object> map = new HashMap<>();
+        //获取Excel中包含的对象数组
+        List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
+        map.put("list", list);
+        Set<String> set = new HashSet<>();
+        for (Map<String, Object> item : list) {
+            //校验行
+            if (
+                    item.get("名称") == null || item.get("名称").equals("")
+                            || item.get("编码") == null || item.get("编码").equals("")
+                            || item.get("类型") == null || item.get("类型").equals("")
+                            || item.get("NC主键") == null || item.get("NC主键").equals("")
+            ) {
+                throw new Exception("单元格数据异常,请检查模板或数据是否正确!");
+            }
+            set.add(item.get("NC主键").toString() + "-" + item.get("类型").toString());
+            map.put(item.get("NC主键").toString() + "-" + item.get("类型").toString(), item);
+        }
+        //去重
+        String[] setList = set.toArray(new String[0]);
+        if (setList.length != list.size()) {
+            throw new Exception("NC主键-类型不允许重复!");
+        }
+        map.put("setList", setList);
+        map.put("userId", userId);
+        map.put("userName", userName);
+        map.put("remark", remark);
+        return rmsFeign.importCompany(map);
+    }
+
+    //运力
+    @ApiOperation(value = "新增运力信息", notes = "根据rmsCapacity对象创建")
+    @ApiImplicitParam(name = "rmsCapacity", value = "详细实体rmsCapacity", required = true, dataType = "rmsCapacity")
+    @PostMapping(value = "/insertCapacity")
+    @LogAround(foreignKeys = {"capacityId"}, foreignKeyTypes = {"运力"})
+    public Map<String, Object> insertCapacity(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.insertCapacity(map);
+    }
+
+    @ApiOperation(value = "新增车牌号", notes = "根据rmsCapacity对象创建")
+    @ApiImplicitParam(name = "rmsCapacity", value = "详细实体rmsCapacity", required = true, dataType = "rmsCapacity")
+    @PostMapping(value = "/insertCapacityName")
+    @LogAround(foreignKeys = {"capacityId"}, foreignKeyTypes = {"车牌号"})
+    public Map<String, Object> insertCapacityName(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.insertCapacityName(map);
+    }
+
+    @ApiOperation(value = "删除", notes = "根据rmsCarrier对象创建")
+    @ApiImplicitParam(name = "运力id", value = "id", required = true, dataType = "int")
+    @PostMapping(value = "/deleteCapacity")
+    @LogAround(foreignKeys = {"capacityId"}, foreignKeyTypes = {"运力"})
+    public Map<String, Object> deleteCapacity(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.deleteCapacity(map);
+    }
+
+    @ApiOperation(value = "审批/拒审运力")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "运力", required = false, dataType = "Map"),
+    })
+    @PostMapping("/approveCapacity")
+    @LogAround(foreignKeys = {"capacityId"}, foreignKeyTypes = {"运力"})
+    public Map<String, Object> approveCapacity(@RequestBody(required = false) Map<String, Object> mapVal) {
+        return rmsFeign.approveCapacity(mapVal);
+    }
+
+    @ApiOperation(value = "获取运力详细信息", notes = "根据url的id来获取详细信息")
+    @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "BigDecimal")
+    @PostMapping(value = "/getCapacityById")
+    public Map<String, Object> getCapacityById(@RequestBody Map<String, Object> map) {
+        return rmsFeign.getCapacityById(map);
+    }
+
+    @ApiOperation(value = "更新详细信息", notes = "根据url的id来指定更新对象,并根据传过来的rmsCapacity信息来更新详细信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "Short"),
+            @ApiImplicitParam(name = "rmsCapacity", value = "详细实体rmsCapacity", required = true, dataType = "RmsCapacity")
+    })
+    @PostMapping(value = "/updateCapacity", produces = "application/json;charset=UTF-8")
+    @LogAround(foreignKeys = {"capacityId"}, foreignKeyTypes = {"运力"})
+    public Map<String, Object> updateCapacity(@RequestBody Map<String, Object> map) {
+        return rmsFeign.updateCapacity(map);
+    }
+
+    @PostMapping("/getCapacityList")
+    @ApiOperation(value = "模糊查询运力")
+    public Map<String, Object> getCapacityList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                               Integer pageNum,
+                                               Integer pageSize,
+                                               Integer apiId,
+                                               String con,
+                                               String carrierSSOId) {
+
+        return rmsFeign.getCapacityList(mapValue == null ? new HashMap<>() : mapValue, pageNum, pageSize, apiId, con, carrierSSOId);
+    }
+
+    @ApiOperation("导入车辆")
+    @PostMapping("/importCapacity")
+    public Map<String, Object> importCapacity(@RequestBody MultipartFile file,
+                                              String userId,
+                                              String userName) throws Exception {
+        Map<String, Object> map = new HashMap<>();
+        //获取Excel中包含的对象数组
+        List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
+        map.put("list", list);
+        Set<String> set = new HashSet<>();
+        for (Map<String, Object> item : list) {
+            //校验行
+            if (
+                    item.get("车牌号") == null || item.get("车牌号").equals("")
+            ) {
+                throw new Exception("单元格数据异常,请检查模板或数据是否正确!");
+            }
+            item.put("车牌号", item.get("车牌号").toString().toUpperCase());
+            //隔开用于查询是否数据库存在
+            set.add(item.get("车牌号").toString());
+            //key-value结构方便数据库去重后获取值
+            map.put(item.get("车牌号").toString(), item);
+        }
+        //去重
+        String[] setList = set.toArray(new String[0]);
+        if (setList.length != list.size()) {
+            throw new Exception("车号不允许重复!");
+        }
+        map.put("setList", setList);
+        map.put("userId", userId);
+        map.put("userName", userName);
+        return rmsFeign.importCapacity(map);
+    }
+
+    @ApiOperation("导入车辆")
+    @PostMapping("/importCapacityDriver")
+    public Map<String, Object> importCapacityDriver(@RequestBody MultipartFile file,
+                                                    String userId,
+                                                    String userName) throws Exception {
+        Map<String, Object> map = new HashMap<>();
+        //获取Excel中包含的对象数组
+        List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
+        map.put("list", list);
+        map.put("setList", list);
+        map.put("userId", userId);
+        map.put("userName", userName);
+        return rmsFeign.importCapacityDriver(map);
+    }
+
+
+    @ApiOperation(value = "删除", notes = "根据rmsCarrier对象创建")
+    @ApiImplicitParam(name = "仓库id", value = "id", required = true, dataType = "int")
+    @PostMapping(value = "/deleteWarehouse/{id}")
+    public Map<String, Object> deleteWarehouse(@PathVariable("id") BigDecimal id) {
+        return rmsFeign.deleteWarehouse(id);
+    }
+
+    @ApiOperation(value = "更新详细信息", notes = "根据url的id来指定更新对象,并根据传过来的rmsCarDriver信息来更新详细信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "BigDecimal"),
+            @ApiImplicitParam(name = "rmsWarehouse", value = "详细实体rmsWarehouse", required = true, dataType = "RmsWarehouse")
+    })
+    @PostMapping(value = "/updateWarehouse", produces = "application/json;charset=UTF-8")
+    public Map<String, Object> updateWarehouse(@RequestBody Map<String, Object> map) {
+        return rmsFeign.updateWarehouse(map);
+    }
+
+    @ApiOperation(value = "获取详细信息", notes = "根据url的id来获取详细信息")
+    @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "BigDecimal")
+    @PostMapping(value = "/getWarehouseById/{id}")
+    public Map<String, Object> getWarehouseById(@PathVariable("id") BigDecimal id) {
+        return rmsFeign.getWarehouseById(id);
+    }
+
+    @PostMapping("/getWarehouseList")
+    @ApiOperation(value = "模糊查询原料仓库")
+    public Map<String, Object> getWarehouseList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                Integer pageNum,
+                                                Integer pageSize,
+                                                Integer apiId,
+                                                String con) {
+
+        return rmsFeign.getWarehouseList(mapValue == null ? new HashMap<>() : mapValue, pageNum, pageSize, apiId, con);
+    }
+
+    @ApiOperation(value = "展示司机排班信息", notes = "分页查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "196", required = false, dataType = "BigDecimal"),
+    })
+    @PostMapping(value = "/getCapacityDriverList")
+    public Map<String, Object> getCapacityDriverList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                     Integer pageNum,
+                                                     Integer pageSize,
+                                                     Integer apiId) {
+        return rmsFeign.getCapacityDriverList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "展示司机排班信息", notes = "分页查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "apiId", value = "196", required = false, dataType = "BigDecimal"),
+    })
+    @PostMapping(value = "/getCapacityDriverListWithCarNo")
+    public Map<String, Object> getCapacityDriverListWithCarNo(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                              Integer pageNum,
+                                                              Integer pageSize,
+                                                              Integer apiId) {
+        return rmsFeign.getCapacityDriverListWithCarNo(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "创建", notes = "根据RmsDriverCapacity对象创建")
+    @ApiImplicitParam(name = "rmsCapacityDriver", value = "详细实体rmsDriverCapacity", required = true, dataType = "RmsDriverCapacity")
+    @PostMapping(value = "/insertCapacityDriver")
+    @LogAround(foreignKeys = {"capacityDriverId"}, foreignKeyTypes = {"司机排班"})
+    public Map<String, Object> insertCapacityDriver(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.insertCapacityDriver(map);
+    }
+
+    @ApiOperation(value = "修改", notes = "根据RmsDriverCapacity对象创建")
+    @ApiImplicitParam(name = "rmsCapacityDriver", value = "详细实体rmsDriverCapacity", required = true, dataType = "RmsDriverCapacity")
+    @PostMapping(value = "/updateCapacityDriver")
+    @LogAround(foreignKeys = {"capacityDriverId"}, foreignKeyTypes = {"司机排班"})
+    public Map<String, Object> updateCapacityDriver(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.updateCapacityDriver(map);
+    }
+
+    @ApiOperation(value = "创建", notes = "根据RmsDriverCapacity对象创建")
+    @ApiImplicitParam(name = "rmsCapacityDriver", value = "详细实体rmsDriverCapacity", required = true, dataType = "RmsDriverCapacity")
+    @PostMapping(value = "/deleteCapacityDriver")
+    @LogAround(foreignKeys = {"capacityDriverId"}, foreignKeyTypes = {"司机排班"})
+    public Map<String, Object> deleteCapacityDriver(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.deleteCapacityDriver(map);
+    }
+
+
+    @ApiOperation(value = "展示门岗信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
+    })
+
+    @PostMapping("/getGatepostList")
+    public Map<String, Object> getGatepostList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                               Integer apiId,
+                                               Integer pageNum,
+                                               Integer pageSize,
+                                               String con
+    ) {
+        return rmsFeign.getGatepostList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize, con);
+    }
+
+    @ApiOperation(value = "新增门岗信息", notes = "根据rmsGatepost对象创建")
+    @ApiImplicitParam(name = "rmsGatepost", value = "详细实体rmsGatepost", required = true, dataType = "rmsGatepost")
+    @PostMapping(value = "/insertGatepost")
+    public Map<String, Object> insertGatepost(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.insertGatepost(map);
+    }
+
+    @ApiOperation(value = "删除", notes = "根据rmsGatepost对象创建")
+    @ApiImplicitParam(name = "门岗id", value = "id", required = true, dataType = "int")
+    @PostMapping(value = "/deleteGatepost/{id}")
+    public Map<String, Object> deleteGatepost(@PathVariable("id") BigDecimal id) {
+        return rmsFeign.deleteGatepost(id);
+    }
+
+    @ApiOperation(value = "更新门岗信息", notes = "根据rmsGatepost对象创建")
+    @ApiImplicitParam(name = "rmsGatepost", value = "详细实体rmsGatepost", required = true, dataType = "rmsGatepost")
+    @PostMapping(value = "/updateGatepost")
+    public Map<String, Object> updateGatepost(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.updateGatepost(map);
+    }
+
+    @ApiOperation(value = "根据id查询门岗信息", notes = "根据rmsGatepost对象创建")
+    @ApiImplicitParam(name = "门岗id", value = "id", required = true, dataType = "int")
+    @PostMapping(value = "/getGatepostById/{id}")
+    public Map<String, Object> getGatepostById(@PathVariable("id") BigDecimal id) {
+        return rmsFeign.getGatepostById(id);
+    }
+
+    @ApiOperation(value = "根据id查询门岗规则信息", notes = "根据rmsGatepost对象创建")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "门岗id", value = "id", required = true, dataType = "int")
+    })
+    @PostMapping(value = "/getGatepostRulesById/{id}")
+    public Map<String, Object> getGatepostRulesById(@PathVariable("id") BigDecimal id,
+                                                    Integer apiId) {
+        return rmsFeign.getGatepostRulesById(id, apiId);
+    }
+
+    @ApiOperation(value = "展示门岗规则信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
+    })
+
+    @PostMapping("/getGatepostRulesList")
+    public Map<String, Object> getGatepostRulesList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                    Integer apiId,
+                                                    Integer pageNum,
+                                                    Integer pageSize,
+                                                    String con
+    ) {
+        return rmsFeign.getGatepostRulesList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize, con);
+    }
+
+    @ApiOperation(value = "删除", notes = "根据rulesId删除")
+    @ApiImplicitParam(name = "门岗规则id", value = "rulesId", required = true, dataType = "int")
+    @PostMapping(value = "/deleteGatepostRules/{rulesId}")
+    public Map<String, Object> deleteGatepostRules(@PathVariable("rulesId") BigDecimal rulesId) {
+        return rmsFeign.deleteGatepostRules(rulesId);
+    }
+
+    @ApiOperation(value = "新增门岗规则")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "门岗规则", required = false, dataType = "Map"),
+    })
+    @PostMapping("/insertGatepostRule")
+    public Map<String, Object> insertGatepostRule(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.insertGatepostRule(mapValue);
+    }
+
+    @ApiOperation(value = "获取门岗名")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "门岗id", value = "gatepostId", required = true, dataType = "int")
+    })
+    @PostMapping("/getGatepostName/{gatepostId}")
+    public Map<String, Object> getGatepostName(@PathVariable("gatepostId") BigDecimal gatepostId) {
+        return rmsFeign.getGatepostName(gatepostId);
+    }
+
+
+    //*******************************下拉框************************
+    @GetMapping("getCapacityTypeId")
+    @ApiOperation(value = "得到下拉运力id")
+    public Map<String, Object> getCapacityTypeId() {
+        return rmsFeign.getCapacityTypeId();
+    }
+
+
+    @GetMapping("getMaterialTypeId")
+    @ApiOperation(value = "得到下拉物资类型id")
+    public Map<String, Object> getMaterialTypeId() {
+        return rmsFeign.getMaterialTypeId();
+    }
+
+
+    @GetMapping("getTransportTypeId")
+    @ApiOperation(value = "运输类型下拉")
+    public Map<String, Object> getTransportTypeId() {
+        return rmsFeign.getTransportTypeId();
+    }
+
+
+    @PostMapping(value = "/getNoticeList")
+    public Map<String, Object> getNoticeList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize,
+                                             String con
+    ) {
+        if (mapValue == null) {
+            mapValue = new HashMap<>();
+        }
+        return rmsFeign.getNoticeList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize, con);
+    }
+
+    @ApiOperation(value = "新增公告信息", notes = "根据DilNotice对象创建")
+    @ApiImplicitParam(name = "dilNotice", value = "详细实体dilNotice", required = true, dataType = "DilNotice")
+    @PostMapping(value = "/insertNotice")
+    public Map<String, Object> insertNotice(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.insertNotice(map);
+    }
+
+    @ApiOperation(value = "更新公告信息", notes = "根据dilNotice对象创建")
+    @ApiImplicitParam(name = "dilNotice", value = "详细实体dilNotice", required = true, dataType = "dilNotice")
+    @PostMapping(value = "/updateNotice", produces = "application/json;charset=UTF-8")
+    public Map<String, Object> updateNotice(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.updateNotice(map);
+    }
+
+    @ApiOperation(value = "删除", notes = "根据url的id来指定删除对象")
+    @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "BigDecimal")
+    @PostMapping(value = "/deleteNotice/{id}")//BigDecimal
+    public Map<String, Object> deleteNotice(@PathVariable("id") BigDecimal id) {
+        return rmsFeign.deleteNotice(id);
+    }
+
+
+    @ApiOperation(value = "获取详细信息", notes = "根据url的id来获取详细信息")
+    @ApiImplicitParam(paramType = "path", name = "公告id", value = "ID", required = true, dataType = "BigDecimal")
+    @PostMapping(value = "/getNoticeById/{id}")
+    public Map<String, Object> getNoticeById(@PathVariable("id") BigDecimal id) {
+        return rmsFeign.getNoticeById(id);
+    }
+
+    //油价
+    @ApiOperation(value = "获取油价信息", notes = "分页查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
+    })
+
+
+    @PostMapping(value = "/getOilPriceResultList")
+    public Map<String, Object> getOilPriceResultList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                     Integer apiId,
+                                                     Integer pageNum,
+                                                     Integer pageSize,
+                                                     String con
+    ) {
+        if (mapValue == null) {
+            mapValue = new HashMap<>();
+        }
+        return rmsFeign.getOilPriceResultList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize, con);
+    }
+
+    @ApiOperation(value = "新增油价信息", notes = "根据DilNotice对象创建")
+    @ApiImplicitParam(name = "addOilPrice", value = "详细实体dilNotice", required = true, dataType = "DilNotice")
+    @PostMapping(value = "/insertOilPrice")
+    public Map<String, Object> insertOilPrice(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.insertOilPrice(map);
+    }
+
+    @ApiOperation(value = "更新油价信息", notes = "根据油价ID来更新油价")
+    @PostMapping(value = "/updateOilPrice")
+    public Map<String, Object> updateOilPrice(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.updateOilPrice(mapValue);
+    }
+
+    @ApiOperation(value = "删除", notes = "根据url的id来指定删除对象")
+    @ApiImplicitParam(paramType = "path", name = "id", value = "ID", required = true, dataType = "BigDecimal")
+    @PostMapping(value = "/deleteOilPrice/{id}")//BigDecimal
+    public Map<String, Object> deleteOilPrice(@PathVariable("id") BigDecimal id) {
+        return rmsFeign.deleteOilPrice(id);
+    }
+
+    @ApiOperation(value = "获取详细信息", notes = "根据url的id来获取详细信息")
+    @ApiImplicitParam(paramType = "path", name = "公告id", value = "ID", required = true, dataType = "BigDecimal")
+    @PostMapping(value = "/getOilPriceById/{id}")
+    public Map<String, Object> getOilPriceById(@PathVariable("id") BigDecimal id) {
+        return rmsFeign.getOilPriceById(id);
+    }
+
+    //根据运力id查询公司
+    @PostMapping(value = "getCarrierNameById/{id}")
+    public Map<String, Object> getCarrierNameById(@PathVariable("id") BigDecimal id) {
+        return rmsFeign.getCarrierNameById(id);
+    }
+
+    //根据司机id查询公司
+    @PostMapping(value = "getCarrierNameByDriverId/{id}")
+    public Map<String, Object> getCarrierNameByDriverId(@PathVariable("id") BigDecimal id) {
+        return rmsFeign.getCarrierNameByDriverId(id);
+    }
+
+
+    @ApiOperation(value = "创建", notes = "添加油品名称")
+    @ApiImplicitParam(name = "oilTypeName", value = "油品名称", required = true, dataType = "String")
+    @PostMapping(value = "/addOilType")
+    public Map<String, Object> addOilType(String oilTypeName) {
+        return rmsFeign.addOilType(oilTypeName);
+    }
+
+    @ApiOperation(value = "创建", notes = "查询油品名称")
+    @PostMapping(value = "/oilNameSelect")
+    public Map<String, Object> oilNameSelect() {
+        return rmsFeign.oilNameSelect();
+    }
+
+    @ApiOperation("解除公司和车辆的绑定关系")
+    @PostMapping("/deleteCapacityCarrier")
+    public RESTfulResult deleteCapacityCarrier(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.deleteCapacityCarrier(map != null ? map : new HashMap<>());
+    }
+
+
+    @ApiOperation("渲染运力修改数据")
+    @PostMapping("/getCapacityInfoById/{id}")
+    public Map<String, Object> getCapacityInfoById(@PathVariable("id") Integer id) {
+        return rmsFeign.getCapacityInfoById(id);
+    }
+
+    @ApiOperation(value = "查询运力类型")
+    @PostMapping("/getCapacityType")
+    public Map<String, Object> getCapacityType(@RequestBody(required = false) Map<String, Object> map,
+                                               Integer apiId,
+                                               Integer pageNum,
+                                               Integer pageSize) {
+        if (map == null) {
+            map = new HashMap<>();
+        }
+        return rmsFeign.getCapacityType(map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增运力类型")
+    @PostMapping(value = "/insertCapacityType")
+    @LogAround(foreignKeys = {"capacityTypeId"}, foreignKeyTypes = {"运力类型"})
+    public Map<String, Object> insertCapacityType(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.insertCapacityType(map);
+    }
+
+    @ApiOperation(value = "新增运力类型")
+    @PostMapping(value = "/updateCapacityType")
+    @LogAround(foreignKeys = {"capacityTypeId"}, foreignKeyTypes = {"运力类型"})
+    public Map<String, Object> updateCapacityType(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.updateCapacityType(map);
+    }
+
+    @ApiOperation(value = "删除运力类型")
+    @PostMapping(value = "/deleteCapacityType")
+    @LogAround(foreignKeys = {"capacityTypeId"}, foreignKeyTypes = {"运力类型"})
+    public Map<String, Object> deleteCapacityType(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.deleteCapacityType(map);
+    }
+
+    @ApiOperation(value = "查询运输范围")
+    @PostMapping("/getTransRangeList")
+    public Map<String, Object> getTransRangeList(@RequestBody(required = false) Map<String, Object> map,
+                                                 Integer apiId,
+                                                 Integer pageNum,
+                                                 Integer pageSize) {
+        if (map == null) {
+            map = new HashMap<>();
+        }
+        return rmsFeign.getTransRangeList(map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "查询运输范围")
+    @PostMapping("/getTransRangeListByCompany")
+    public Map<String, Object> getTransRangeListByCompany(@RequestBody(required = false) Map<String, Object> map,
+                                                          Integer apiId,
+                                                          Integer pageNum,
+                                                          Integer pageSize) {
+        if (map == null) {
+            map = new HashMap<>();
+        }
+        return rmsFeign.getTransRangeListByCompany(map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增运输范围")
+    @PostMapping(value = "/insertTransRange")
+    @LogAround(foreignKeys = {"transRangeId"}, foreignKeyTypes = "运输范围")
+    public Map<String, Object> insertTransRange(@RequestBody(required = false) Map<String, Object> map) {
+        List dilCompanyList = (List) map.get("dilCompanyList");
+        if (dilCompanyList != null && dilCompanyList.size() > 0) {
+            Map<String, Object> stringObjectMap = (Map<String, Object>) dilCompanyList.get(0);
+            map.put("companyId", stringObjectMap.get("companyId"));
+        }
+        return rmsFeign.insertTransRange(map);
+    }
+
+    @ApiOperation(value = "删除运输范围")
+    @PostMapping(value = "/deleteTransRange")
+    @LogAround(foreignKeys = {"transRangeId"}, foreignKeyTypes = "运输范围")
+    public Map<String, Object> deleteTransRange(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.deleteTransRange(map);
+    }
+
+    @ApiOperation("导入运输范围")
+    @PostMapping("/importTransRange")
+    public RESTfulResult importTransRange(@RequestBody MultipartFile file,
+                                          String userId,
+                                          String userName) throws Exception {
+        Map<String, Object> map = new HashMap<>();
+        //获取Excel中包含的对象数组
+        List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
+        map.put("list", list);
+        Set<String> set = new HashSet<>();
+        for (Map<String, Object> item : list) {
+            //校验行
+            if (
+                    item.get("起点") == null || item.get("起点").equals("")
+                            || item.get("终点") == null || item.get("终点").equals("")
+            ) {
+                throw new Exception("单元格数据异常(起点/终点),请检查模板或数据是否正确!");
+            }
+            //隔开用于查询是否数据库存在
+            set.add(item.get("起点").toString() + "," + item.get("终点").toString());
+        }
+        //去重
+        String[] transRanges = set.toArray(new String[0]);
+        if (transRanges.length != list.size()) {
+            throw new Exception("不允许重复!");
+        }
+        map.put("list", transRanges);
+        map.put("userId", userId);
+        map.put("userName", userName);
+        return rmsFeign.importTransRange(map);
+    }
+
+    @ApiOperation(value = "查询并新增装卸点")
+    @PostMapping("queryInsertTransRange")
+    public Map<String, Object> queryInsertTransRange(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.queryInsertTransRange(map);
+    }
+
+    @ApiOperation(value = "新增集装箱数据")
+    @PostMapping("insetShipContainer")
+    public Map<String, Object> insetShipContainer(@RequestBody(required = false) Map<String, Object> map) {
+
+        return rmsFeign.insetShipContainer(map);
+    }
+
+    @ApiOperation(value = "修改集装箱数据")
+    @PostMapping("updateShipContainer")
+    public Map<String, Object> updateShipContainer(@RequestBody List<Map<String, Object>> mapList) {
+        return rmsFeign.updateShipContainer(mapList);
+    }
+
+    @ApiOperation("查询集装箱数据")
+    @PostMapping("getShippingContainer")
+    public Map<String, Object> getShippingContainer(@RequestBody(required = false) Map<String, Object> map,
+                                                    @RequestParam(required = false) Integer apiId,
+                                                    @RequestParam(required = false) Integer pageNum,
+                                                    @RequestParam(required = false) Integer pageSize) {
+        if (map == null) {
+            map = new HashMap<>();
+        }
+        return rmsFeign.getShippingContainer(map, apiId, pageNum, pageSize);
+    }
+
+    //   ========================= 岗位信息维护
+    @ApiOperation(value = "岗位信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getrmsrmsjobinfos")
+    public Map<String, Object> getAmsTransPriceList(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                                    Integer pageNum,
+                                                    Integer pageSize) {
+        return rmsFeign.list(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增岗位信息")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"jobId"}, foreignKeyTypes = {"岗位信息"})
+    @PostMapping("/add")
+    public Map<String, Object> insertTransPrice(@RequestBody(required = false) Map<String, Object> map) {
+        map.put("insertUsername", map.get("userName").toString());
+        return rmsFeign.add(map);
+    }
+
+    @ApiOperation(value = "修改岗位信息")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PutMapping(value = "/{id}")
+    @LogAround(foreignKeys = {"jobId"}, foreignKeyTypes = {"岗位信息"})
+    public Map<String, Object> purchaseOrderUpdate(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map) {
+        map.put("updateUsername", map.get("userName").toString());
+        return rmsFeign.update(id, map);
+    }
+
+    @ApiOperation(value = "岗位信息逻辑删除")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PutMapping(value = "/logicdelete")
+    @LogAround(foreignKeys = {"jobId"}, foreignKeyTypes = {"岗位信息"})
+    public Map<String, Object> purchaseOrderLogicDelete(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.logicdelete(map);
+    }
+
+    @PostMapping(value = "/readExcel")
+    public RESTfulResult readExcel(MultipartFile file) {
+        return rmsFeign.readExcel(file);
+    }
+
+    //   ========================= 提取比例维护
+    @ApiOperation(value = "提取比例")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getrmsextractscales")
+    public Map<String, Object> getextractscalelist(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                                   Integer pageNum,
+                                                   Integer pageSize) {
+        return rmsFeign.extractscalelist(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增提取比例")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"scaleId"}, foreignKeyTypes = {"提取比例"})
+    @PostMapping("/addextractscale")
+    public Map<String, Object> insertExtractscale(@RequestBody(required = false) Map<String, Object> map) {
+        map.put("insertUsername", map.get("userName").toString());
+        return rmsFeign.addExtractscale(map);
+    }
+
+    @ApiOperation(value = "提取比例逻辑删除")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PutMapping(value = "/extractscalelogicdelete")
+    @LogAround(foreignKeys = {"scaleId"}, foreignKeyTypes = {"提取比例"})
+    public Map<String, Object> ExtractscaleLogicDelete(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.Extractscalelogicdelete(map);
+    }
+
+    @ApiOperation(value = "修改提取比例")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/extractscale/updateRmsExtractScale")
+    @LogAround(foreignKeys = {"scaleId"}, foreignKeyTypes = {"提取比例"})
+    public Map<String, Object> updateRmsExtractScale(@RequestBody(required = false) Map<String, Object> map) {
+        map.put("updateUsername", map.get("userName").toString());
+        return rmsFeign.updateRmsExtractScale(map);
+    }
+
+    //   ========================= 计算公式
+
+    @ApiOperation(value = "计算公式")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getformula")
+    public Map<String, Object> geteformulalist(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                               Integer pageNum,
+                                               Integer pageSize) {
+        return rmsFeign.FormulaList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增计算公式")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"formulaId"}, foreignKeyTypes = {"计算公式"})
+    @PostMapping("/addformula")
+    public Map<String, Object> insertformula(@RequestBody(required = false) Map<String, Object> map) {
+        map.put("insertUsername", map.get("userName").toString());
+        return rmsFeign.addFormula(map);
+    }
+
+    @ApiOperation(value = "计算公式逻辑删除")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PutMapping(value = "/formulalogicdelete")
+    @LogAround(foreignKeys = {"formulaId"}, foreignKeyTypes = {"计算公式"})
+    public Map<String, Object> formulaLogicDelete(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.Formulalogicdelete(map);
+    }
+
+    @ApiOperation(value = "修改计算公式")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PutMapping(value = "/formulaupadete/{id}")
+    @LogAround(foreignKeys = {"formulaId"}, foreignKeyTypes = {"计算公式"})
+    public Map<String, Object> formulaUpdate(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map) {
+        map.put("updateUsername", map.get("userName").toString());
+        return rmsFeign.Formulaupdate(id, map);
+    }
+
+    //   ========================= 需求快捷匹配
+
+    @ApiOperation(value = "需求快捷匹配")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getrmsdemandruless")
+    public Map<String, Object> getrmsdemandrulesslist(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                                      Integer pageNum,
+                                                      Integer pageSize) {
+        return rmsFeign.rmsdemandrulesslist(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增需求快捷匹配")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"rulesId"}, foreignKeyTypes = {"计算公式"})
+    @PostMapping("/addrmsdemandruless")
+    public Map<String, Object> insertrmsdemandruless(@RequestBody(required = false) Map<String, Object> map) {
+        map.put("insertUsername", map.get("userName").toString());
+        return rmsFeign.addrmsdemandruless(map);
+    }
+
+
+    @ApiOperation(value = "修改需求快捷匹配")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PutMapping(value = "/rmsdemandrulessUpdate/{id}")
+    @LogAround(foreignKeys = {"rulesId"}, foreignKeyTypes = {"需求快捷匹配"})
+    public Map<String, Object> rmsdemandrulessUpdate(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map) {
+        map.put("updateUsername", map.get("userName").toString());
+        return rmsFeign.rmsdemandrulessupdate(id, map);
+    }
+
+    //   ========================= 费用类别
+
+    @ApiOperation(value = "费用类别")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/rmsexpansecategorysList")
+    public Map<String, Object> getrmsexpansecategorys(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                                      Integer pageNum,
+                                                      Integer pageSize) {
+        return rmsFeign.rmsexpansecategorysList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增费用类别")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"categoryId"}, foreignKeyTypes = {"费用类别"})
+    @PostMapping("/rmsexpansecategorysInsert")
+    public Map<String, Object> insertrmsexpansecategorys(@RequestBody(required = false) Map<String, Object> map) {
+        map.put("insertUsername", map.get("userName").toString());
+        return rmsFeign.addrmsexpansecategorys(map);
+    }
+
+    @ApiOperation(value = "费用类别删除")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PutMapping(value = "/rmsexpansecategorysDelete")
+    @LogAround(foreignKeys = {"categoryId"}, foreignKeyTypes = {"费用类别"})
+    public Map<String, Object> rmsexpansecategorysDelete(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.rmsexpansecategorysdelete(map);
+    }
+
+    @ApiOperation(value = "修改费用类别")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PutMapping(value = "/rmsexpansecategorysUpdate/{id}")
+    @LogAround(foreignKeys = {"categoryId"}, foreignKeyTypes = {"费用类别"})
+    public Map<String, Object> rmsexpansecategorysUpdate(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map) {
+        map.put("updateUsername", map.get("userName").toString());
+        return rmsFeign.rmsexpansecategorysupdate(id, map);
+    }
+
+    @ApiOperation(value = "业务类型")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getBusinessType")
+    public Map<String, Object> getBusinessType(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                               Integer pageNum,
+                                               Integer pageSize) {
+        return rmsFeign.getBusinessType(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "业务类型")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getBusinessTypeByCompany")
+    public Map<String, Object> getBusinessTypeByCompany(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                                        Integer pageNum,
+                                                        Integer pageSize) {
+        return rmsFeign.getBusinessTypeByCompany(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+
+    @ApiOperation(value = "新增业务类型")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"categoryId"}, foreignKeyTypes = {"业务类型"})
+    @PostMapping("/insertBusinessType")
+    public Map<String, Object> insertBusinessType(@RequestBody(required = false) Map<String, Object> map) {
+        map.put("insertUsername", map.get("userName").toString());
+        return rmsFeign.insertBusinessType(map);
+    }
+
+    @ApiOperation(value = "审批流程")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getapprovelines")
+    public Map<String, Object> getrmsapprovelines(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                  Integer pageNum,
+                                                  Integer pageSize,
+                                                  Integer apiId) {
+        return rmsFeign.getrmsapprovelines(mapValue == null ? new HashMap<>() : mapValue, pageNum, pageSize, apiId);
+    }
+
+    @ApiOperation(value = "新增审批流程")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"categoryId"}, foreignKeyTypes = {"业务类型"})
+    @PostMapping("/addapprovelines")
+    public Map<String, Object> addapprovelines(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.addapprovelines(map);
+    }
+
+    @ApiOperation(value = "更新审批流程")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"categoryId"}, foreignKeyTypes = {"业务类型"})
+    @PostMapping("/updateapprovelines")
+    public Map<String, Object> updateapprovelines(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.updateapprovelines(map);
+    }
+
+    @ApiOperation(value = "删除审批流程")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"categoryId"}, foreignKeyTypes = {"业务类型"})
+    @PostMapping("/approvelinesdelete")
+    public Map<String, Object> approvelinesdelete(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.approvelinesdelete(map);
+    }
+
+    @ApiOperation(value = "燃料类型")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getFuelTypeList")
+    public Map<String, Object> getFuelTypeList(@RequestBody(required = false) Map<String, Object> map,
+                                               @RequestParam("apiId") Integer apiId,
+                                               @RequestParam("pageNum") Integer pageNum,
+                                               @RequestParam("pageSize") Integer pageSize) {
+        return rmsFeign.getFuelTypeList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增燃料类型")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"fuelTypeId"}, foreignKeyTypes = {"燃料类型"})
+    @PostMapping("/insertFuelType")
+    public Map<String, Object> insertFuelType(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.insertFuelType(map);
+    }
+
+    @ApiOperation(value = "删除燃料类型")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"fuelTypeId"}, foreignKeyTypes = {"燃料类型"})
+    @PostMapping("/deleteFuelType")
+    public Map<String, Object> deleteFuelType(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.deleteFuelType(map);
+    }
+
+    @ApiOperation(value = "新增地图顶点")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"vertexId"}, foreignKeyTypes = {"地图顶点"})
+    @PostMapping("/addVertex")
+    public Map<String, Object> addVertex(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.addVertex(map);
+    }
+
+    @ApiOperation(value = "查询地图顶点")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping("/getVertex")
+    public Map<String, Object> getVertex() {
+        return rmsFeign.getVertex();
+    }
+
+    @ApiOperation(value = "新增地图边线")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {}, foreignKeyTypes = {"地图边线"})
+    @PostMapping("/addEdge")
+    public Map<String, Object> addEdge(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.addEdge(map);
+    }
+
+    @ApiOperation(value = "删除地图边线")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {}, foreignKeyTypes = {"地图边线"})
+    @PostMapping("/deleteEdge")
+    public Map<String, Object> deleteVertex(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.deleteEdge(map);
+    }
+
+    @ApiOperation(value = "查询地图边线")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping("/getEdge")
+    public Map<String, Object> getEdge() {
+        return rmsFeign.getEdge();
+    }
+
+    @ApiOperation(value = "查询导航信息")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping("/navigation")
+    public Map<String, Object> navigation(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.navigation(map);
+    }
+
+    //查询公共代码
+    @PostMapping("/getPublicCode")
+    @ApiOperation(value = "查询公共代码列表")
+    public Map<String, Object> getPublicCode(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize) {
+        return rmsFeign.getPublicCode(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    //标准信息
+    @PostMapping("/getStandardInfo")
+    public Map<String, Object> getStandardInfo(@RequestBody(required = false) Map<String, Object> mapValue,
+                                               Integer apiId,
+                                               Integer pageNum,
+                                               Integer pageSize) {
+        return rmsFeign.getStandardInfo(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @PostMapping("/addStandardInfo")
+    public Map<String, Object> addStandardInfo(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.addStandardInfo(mapValue);
+    }
+
+    @PostMapping("/updStandardInfo")
+    public Map<String, Object> updStandardInfo(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.updStandardInfo(mapValue);
+    }
+
+    @PostMapping("/delStandardInfo")
+    public Map<String, Object> delStandardInfo(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.delStandardInfo(mapValue);
+    }
+
+
+    //油价
+    @PostMapping("/getOilPrice")
+    public Map<String, Object> getOilPrice(@RequestBody(required = false) Map<String, Object> mapValue,
+                                           Integer apiId,
+                                           Integer pageNum,
+                                           Integer pageSize) {
+        return rmsFeign.getOilPrice(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @PostMapping("/addOilPrice")
+    public Map<String, Object> addOilPrice(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.addOilPrice(mapValue);
+    }
+
+    @PostMapping("/updOilPrice")
+    public Map<String, Object> updOilPrice(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.updOilPrice(mapValue);
+    }
+
+    @PostMapping("/delOilPrice")
+    public Map<String, Object> delOilPrice(@RequestBody(required = false) Map<String, Object> mapValue) {
+        return rmsFeign.delOilPrice(mapValue);
+    }
+
+    @PostMapping("/updateInnerCode")
+    public Map<String, Object> updateInnerCode(@RequestBody Map<String, Object> mapValue) {
+        return rmsFeign.updateInnerCode(mapValue);
+    }
+
+    @ApiOperation(value = "获取业务类型与控制关系列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "表头和参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "status", value = "状态码", required = false, dataType = "Integer"),
+    })
+    @PostMapping("/getBusinessTypeControlList")
+    public Map<String, Object> getBusinessTypeControlList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                          Integer apiId,
+                                                          Integer pageNum,
+                                                          Integer pageSize
+    ) {
+        return rmsFeign.getBusinessTypeControlList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @PostMapping("/addBusinessTypeControl")
+    public Map<String, Object> addBusinessTypeControl(@RequestBody Map<String, Object> mapValue) {
+        return rmsFeign.addBusinessTypeControl(mapValue);
+    }
+
+    @PostMapping("/updateBusinessTypeControl")
+    public Map<String, Object> updateBusinessTypeControl(@RequestBody Map<String, Object> mapValue) {
+        return rmsFeign.updateBusinessTypeControl(mapValue);
+    }
+
+    @PostMapping("/deleteBusinessTypeControl")
+    public Map<String, Object> deleteBusinessTypeControl(@RequestBody Map<String, Object> mapValue) {
+        return rmsFeign.deleteBusinessTypeControl(mapValue);
+    }
+
+    @PostMapping("/getBusinessTypeControl")
+    public Map<String, Object> getBusinessTypeControl(@RequestBody(required = false) Map<String, Object> mapValue
+    ) {
+        return rmsFeign.getBusinessTypeControl(mapValue);
+    }
+
+    @PostMapping(value = "/relevance")
+    public Map<String, Object> relevance(@RequestBody HashMap<String, Object> map) {
+        return rmsFeign.relevance(map);
+    }
+
+    @PostMapping(value = "/cancelRelevance")
+    public Map<String, Object> cancelRelevance(@RequestBody HashMap<String, Object> map) {
+        return rmsFeign.cancelRelevance(map);
+    }
+
+    @PostMapping(value = "/getMaterialMapList")
+    public RESTfulResult getMaterialMapList(@RequestBody HashMap<String, Object> map,
+                                            Integer apiId,
+                                            Integer pageNum,
+                                            Integer pageSize) {
+        return rmsFeign.getMaterialMapList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    //================客户-到站
+    @PostMapping("/getCompanyArrivalList")
+    public Map<String, Object> getCompanyArrivalList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                     Integer apiId,
+                                                     Integer pageNum,
+                                                     Integer pageSize
+    ) {
+        return rmsFeign.getCompanyArrivalList(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @PostMapping(value = "/insertCompanyArrival")
+    @LogAround(foreignKeys = {"companyId"}, foreignKeyTypes = "公司", description = "新增公司单位")
+    public Map<String, Object> insertCompanyArrival(@RequestBody(required = false) Map<String, Object> map) {
+        return rmsFeign.insertCompanyArrival(map);
+    }
+
+    @PostMapping(value = "/deleteCompanyArrival")
+    @LogAround(foreignKeys = {"companyId"}, foreignKeyTypes = "公司", description = "删除公司单位")
+    public Map<String, Object> deleteCompanyArrival(@RequestBody Map<String, Object> map) {
+        return rmsFeign.deleteCompanyArrival(map);
+    }
+
+    @PostMapping("/importCompanyArrival")
+    public RESTfulResult importCompanyArrival(@RequestBody MultipartFile file,
+                                              String remark,
+                                              String userId,
+                                              String userName) throws Exception {
+        Map<String, Object> map = new HashMap<>();
+        //获取Excel中包含的对象数组
+        List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
+        map.put("list", list);
+        Set<String> set = new HashSet<>();
+        for (Map<String, Object> item : list) {
+            //校验行
+            if (
+                    item.get("客户") == null || item.get("客户").equals("")
+                            || item.get("到站") == null || item.get("到站").equals("")
+            ) {
+                throw new Exception("单元格数据异常,请检查模板或数据是否正确!");
+            }
+            set.add(item.get("客户").toString() + "-" + item.get("到站").toString());
+            map.put(item.get("客户").toString() + "-" + item.get("到站").toString(), item);
+        }
+        //去重
+        String[] setList = set.toArray(new String[0]);
+        if (setList.length != list.size()) {
+            throw new Exception("客户-到站不允许重复!");
+        }
+        map.put("setList", setList);
+        map.put("userId", userId);
+        map.put("userName", userName);
+        map.put("remark", remark);
+        return rmsFeign.importCompanyArrival(map);
+    }
+
+    @PostMapping(value = "/addMaterialMap")
+    @LogAround(foreignKeys = {"materialCode"}, foreignKeyTypes = "物料编码", description = "增加精准物料")
+    public RESTfulResult addMaterialMap(@RequestBody Map<String, Object> map) {
+        return rmsFeign.addMaterialMap(map);
+    }
+
+    @PostMapping(value = "/delMaterialMap")
+    @LogAround(foreignKeys = {"prodCodePk"}, foreignKeyTypes = "物料编码", description = "删除精准物料")
+    public RESTfulResult delMaterialMap(@RequestBody Map<String, Object> map) {
+        return rmsFeign.delMaterialMap(map);
+    }
+}

+ 203 - 0
src/main/java/com/steerinfo/dil/controller/ReportController.java

@@ -0,0 +1,203 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.ReportFeign;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@RestController
+@RequestMapping("${api.version}/report")
+public class ReportController {
+
+    @Autowired
+    ReportFeign reportFeign;
+
+    @ApiOperation(value = "展示汽运监控")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getQYMonitors")
+    Map<String, Object> getQYMonitors(@RequestBody(required = false) HashMap<String, Object> mapValue,
+                                      Integer apiId,
+                                      Integer pageNum,
+                                      Integer pageSize) {
+        return reportFeign.getQYMonitors(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "展示厂内车辆数")
+    @PostMapping(value = "/getFactoryCarNum")
+    Map<String, Object> getFactoryCarNum(@RequestBody(required = false) HashMap<String, Object> mapValue,
+                                         Integer apiId,
+                                         Integer pageNum,
+                                         Integer pageSize) {
+        return reportFeign.getFactoryCarNum(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "展示型钢汽运销售去向")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getDestination")
+    Map<String, Object> getDestination(@RequestBody(required = false) HashMap<String, Object> mapValue,
+                                       Integer apiId,
+                                       Integer pageNum,
+                                       Integer pageSize) {
+        return reportFeign.getDestination(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "查询转库单报表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getTransferOrder")
+    Map<String, Object> getTransferOrder(@RequestBody(required = false) HashMap<String, Object> mapValue,
+                                         Integer apiId,
+                                         Integer pageNum,
+                                         Integer pageSize) {
+        return reportFeign.getTransferOrder(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "查询转库单明细")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "mapValue", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getTransferOrderDetails")
+    Map<String, Object> getTransferOrderDetails(@RequestBody(required = false) HashMap<String, Object> mapValue,
+                                                Integer apiId,
+                                                Integer pageNum,
+                                                Integer pageSize) {
+        return reportFeign.getTransferOrderDetails(mapValue == null ? new HashMap<>() : mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "查询发货四证")
+    @PostMapping(value = "/getSaleFourLicenceReport")
+    Map<String, Object> getSaleFourLicenceReport(@RequestBody(required = false) HashMap<String, Object> mapValue) {
+        return reportFeign.getSaleFourLicenceReport(mapValue);
+    }
+
+
+    @ApiOperation(value = "承运商报表")
+    @PostMapping(value = "/getTransReportCarrier")
+    Map<String, Object> getTransReportCarrier(@RequestBody(required = false) HashMap<String, Object> mapValue,
+                                              Integer apiId,
+                                              Integer pageNum,
+                                              Integer pageSize) {
+        return reportFeign.getTransReportCarrier(mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "型钢报表")
+    @PostMapping(value = "/getTransReportXG")
+    Map<String, Object> getTransReportXG(@RequestBody(required = false) HashMap<String, Object> mapValue,
+                                         Integer apiId,
+                                         Integer pageNum,
+                                         Integer pageSize) {
+        return reportFeign.getTransReportXG(mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "修改运价")
+    @PostMapping(value = "/updateTransUnitPrice")
+    Map<String, Object> updateTransUnitPrice(@RequestBody(required = false) HashMap<String, Object> map) {
+        return reportFeign.updateTransUnitPrice(map);
+    }
+
+    @ApiOperation(value = "发运单查询")
+    @PostMapping(value = "/selecttype")
+    Map<String, Object> selecttype(@RequestBody(required = false) HashMap<String, Object> mapValue,
+                                   Integer apiId,
+                                   Integer pageNum,
+                                   Integer pageSize) {
+        return reportFeign.selecttype(mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "发运单汇总查询")
+    @PostMapping(value = "/selectSum")
+    Map<String, Object> selectSum(@RequestBody(required = false) HashMap<String, Object> mapValue) {
+        return reportFeign.selectSum(mapValue);
+    }
+
+    @ApiOperation(value = "派车单查询")
+    @PostMapping(value = "/selecttype1")
+    Map<String, Object> selecttype1(@RequestBody(required = false) HashMap<String, Object> mapValue,
+                                    Integer apiId,
+                                    Integer pageNum,
+                                    Integer pageSize) {
+        return reportFeign.selecttype1(mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "每日汇总")
+    @PostMapping(value = "/dailySummary")
+    Map<String, Object> dailySummary(@RequestBody(required = false) Map<String, Object> params) {
+        return reportFeign.dailySummary(params);
+    }
+
+    @ApiOperation(value = "职工考勤数据管理")
+    @PostMapping(value = "/staffAttendanceList")
+    Map<String, Object> staffAttendanceList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                            Integer apiId,
+                                            Integer pageNum,
+                                            Integer pageSize) {
+        return reportFeign.staffAttendanceList(mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "日报表修改")
+    @PostMapping(value = "/updateOperateDaily")
+    Map<String, Object> updateOperateDaily(@RequestBody Map<String,Object> map) {
+        return reportFeign.updateOperateDaily(map);
+    }
+
+    @ApiOperation("查询日报数据")
+    @PostMapping("getOperateDaily")
+    Map<String, Object> getOperateDaily(@RequestBody(required = false) Map<String, Object> mapValue,
+                                        Integer apiId,
+                                        Integer pageNum,
+                                        Integer pageSize) {
+        return reportFeign.getOperateDaily(mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation("查询日报数据")
+    @PostMapping("getDailySyncReport")
+    Map<String, Object> getDailySyncReport(@RequestBody(required = false) Map<String, Object> mapValue,
+                                        Integer apiId,
+                                        Integer pageNum,
+                                        Integer pageSize) {
+        return reportFeign.getDailySyncReport(mapValue, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation("匹配导入数据")
+    @PostMapping("matchImport")
+    Map<String, Object> matchImport(@RequestBody Map<String,Object> map) {
+        return reportFeign.matchImport(map);
+    }
+
+    @ApiOperation("同步报表数据")
+    @PostMapping("syncReportOperate")
+    Map<String, Object> syncReportOperate(@RequestBody Map<String,Object> map) {
+        return reportFeign.syncReportOperate(map);
+    }
+
+    @ApiOperation("syncCountData")
+    @PostMapping("syncCountData")
+    Map<String, Object> syncCountData(@RequestBody Map<String,Object> map) {
+        return reportFeign.syncCountData(map);
+    }
+}

+ 434 - 0
src/main/java/com/steerinfo/dil/controller/SystemFileController.java

@@ -0,0 +1,434 @@
+package com.steerinfo.dil.controller;
+
+import com.google.common.collect.Iterators;
+import com.steerinfo.dil.mapper.SystemFileMapper;
+import com.steerinfo.dil.util.FtpFileUtil;
+import com.steerinfo.dil.util.IDutils;
+import com.steerinfo.framework.controller.BaseRESTfulController;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageList;
+import com.steerinfo.framework.utils.collection.ListUtils;
+import com.steerinfo.dil.model.SystemFile;
+import com.steerinfo.dil.service.ISystemFileService;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartRequest;
+
+import javax.annotation.Resource;
+import javax.imageio.ImageIO;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.*;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * SystemFile RESTful接口:
+ *
+ * @author generator
+ * @version 1.0-SNAPSHORT 2023-10-30 09:19
+ * 类描述
+ * 修订历史:
+ * 日期:2023-10-30
+ * 作者:generator
+ * 参考:
+ * 描述:SystemFile RESTful接口
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ * @see null
+ */
+@RestController
+@RequestMapping("/${api.version}/systemfiles")
+public class SystemFileController extends BaseRESTfulController {
+
+    @Autowired
+    ISystemFileService systemFileService;
+
+
+    @Resource
+    SystemFileMapper systemFileMapper;
+
+
+    @Autowired
+    private FtpFileUtil ftpFileUtil;
+
+    //同一个信息包含多个上传文件信息
+    @PostMapping("/insertFile")
+    public RESTfulResult insertFile(String fileuuid, @ModelAttribute MultipartFile[] file) {
+        String filenames = "";
+        for (int i = 0; i < file.length; i++) {
+            filenames += file[i].getOriginalFilename() + ";";
+        }
+        String filesid = "";
+        if (file != null) {
+            for (int i = 0; i < file.length; i++) {
+                try {
+                    //获取系统时间
+                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("/yyyy/MM/dd");
+                    //获取文件名
+                    String oldName = file[i].getOriginalFilename();
+                    //取当前时间的长整形值包含毫秒
+                    String newName = IDutils.getImageName();
+                    //重新命名文件
+                    newName = newName + oldName.substring(oldName.lastIndexOf("."));
+                    String filePath = simpleDateFormat.format(new Date());
+                    //获取输入流
+                    InputStream inputStream = file[i].getInputStream();
+                    boolean result = ftpFileUtil.uploadToFtp(inputStream, filePath, newName, false);
+                    inputStream.close();
+                    if (result) {
+                        SystemFile uploadFile = new SystemFile();
+                        uploadFile.setFilename(oldName);
+                        uploadFile.setFilepath(filePath + "/" + newName);
+                        uploadFile.setId(fileuuid);
+                        SystemFile modela = systemFileService.add(uploadFile);
+                        if (modela != null) {
+                            filesid += "," + modela.getId();
+                        }
+                    } else {
+                        return failed(null, "上传文件失败");
+                    }
+                } catch (Exception e) {
+                    e.getMessage();
+                }
+            }
+            return success(filesid);
+
+        } else {
+            return failed();
+        }
+
+    }
+
+    @PostMapping("/insertFiles2")
+    public RESTfulResult insertFiles2(@RequestParam String fileuuid, @ModelAttribute MultipartFile[] file) {
+        String filenames = "";
+        for (int i = 0; i < file.length; i++) {
+            filenames += file[i].getOriginalFilename() + ";";
+        }
+        String filesid = "";
+
+        String[] fileuuids = fileuuid.split(",");
+        if (file != null) {
+            for (int i = 0; i < file.length; i++) {
+                try {
+                    //获取系统时间
+                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("/yyyy/MM/dd");
+                    //获取文件名
+                    String oldName = file[i].getOriginalFilename();
+                    //取当前时间的长整形值包含毫秒
+                    String newName = IDutils.getImageName();
+                    //重新命名文件
+                    newName = newName + oldName.substring(oldName.lastIndexOf("."));
+                    String filePath = simpleDateFormat.format(new Date());
+                    //获取输入流
+                    InputStream inputStream = file[i].getInputStream();
+                    boolean result = ftpFileUtil.uploadToFtp(inputStream, filePath, newName, false);
+                    inputStream.close();
+                    if (result) {
+                        SystemFile uploadFile = new SystemFile();
+                        uploadFile.setFilename(oldName);
+                        uploadFile.setFilepath(filePath + "/" + newName);
+                        uploadFile.setId(fileuuids[i]);
+                        SystemFile modela = systemFileService.add(uploadFile);
+                        if (modela != null) {
+                            filesid += "," + modela.getId();
+                        }
+                    } else {
+                        return failed(null, "上传文件失败");
+                    }
+                } catch (Exception e) {
+                    e.getMessage();
+                }
+            }
+            return success(filesid);
+
+        } else {
+            return failed();
+        }
+
+    }
+
+    @PostMapping("/insertFiles")
+    public RESTfulResult insertFiles(String[] fileUuids, String[] fileNames, String[] fileTypes, Map<Object, MultipartFile> FileList, MultipartRequest request) throws Exception {
+
+
+        List<MultipartFile> files = new ArrayList<>();
+        int index = -1;
+        for (int j = 0; j < fileTypes.length; j++) {
+            for (int i = 0; i < 21; i++) {
+                MultipartFile file = request.getFile("file" + j + "" + i);
+                if (file != null) {
+                    files.add(file);
+                    if (index < 0) {
+                        index = i;
+                    }
+                }
+            }
+        }
+
+        if (files.size() == 0) {
+            return failed("传输失败");
+        }
+        for (int i = 0; i < fileUuids.length; i++) {
+            //获取系统时间
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("/yyyy/MM/dd");
+            //获取文件名
+            String oldName = fileNames[i].toString();
+            //取当前时间的长整形值包含毫秒
+            String newName = IDutils.getImageName();
+            //重新命名文件
+
+            String filePath = simpleDateFormat.format(new Date()) + "/" + fileTypes[i].toString();
+            //获取输入流
+            String fileTypeName = files.get(i).getOriginalFilename();
+            fileTypeName = fileTypeName.substring(fileTypeName.lastIndexOf("."));
+            newName = oldName + "(" + newName + ")" + fileTypeName;
+            InputStream inputStream = files.get(i).getInputStream();
+            boolean result = ftpFileUtil.uploadToFtp(inputStream, filePath, newName, false);
+            inputStream.close();
+            if (result) {
+                SystemFile uploadFile = new SystemFile();
+                uploadFile.setFilename(oldName);
+                uploadFile.setFilepath(filePath + "/" + newName);
+                uploadFile.setId(fileUuids[i]);
+                SystemFile modela = systemFileService.add(uploadFile);
+                if (modela != null) {
+                    fileUuids[i] += "," + modela.getId();
+                }
+            } else {
+                return failed(null, "上传文件失败");
+            }
+        }
+
+        return success();
+
+    }
+
+    @PostMapping("/previewfile")
+    public RESTfulResult previewfile(@RequestBody HashMap parmas) {
+        String filename = parmas.get("filename").toString();
+        String filepath = parmas.get("filepath").toString();
+        if (filename == null || filename.isEmpty()) {
+            return failed("该图片不存在!");
+        }
+        if (filepath == null || filepath.isEmpty()) {
+            return failed("该图片地址不存在!");
+        }
+        try {
+            String result = ftpFileUtil.downloadFile(filename, filepath);
+            return success(result);
+        } catch (IOException e) {
+            e.getMessage();
+            return failed();
+        }
+    }
+
+    @PostMapping("/previewfile2")
+    public RESTfulResult previewfile2(@RequestBody HashMap parmas) {
+        try {
+            if (parmas.get("id") == null) {
+                return failed(1, "当前详单没有图片");
+            }
+            SystemFile value = systemFileMapper.selectByPrimaryKey(parmas.get("id").toString());
+            if (value == null) {
+                return failed(1, "该文件不存在!请查验文件是否被清除或已损坏!");
+            }
+            String fileName = value.getFilename();
+            String filepath = value.getFilepath();
+            if (fileName == null || fileName.isEmpty()) {
+                return failed(1, "该文件不存在!");
+            }
+            if (filepath == null || filepath.isEmpty()) {
+                return failed(1, "该文件地址不存在!");
+            }
+            String result = ftpFileUtil.downloadFile(fileName, filepath);
+            return success(result);
+        } catch (IOException e) {
+            e.getMessage();
+            return failed();
+        }
+
+    }
+
+    @PostMapping("/updateFile")
+    public RESTfulResult updateFile(String alternateFields1, @ModelAttribute MultipartFile[] file) {
+        systemFileService.delete(alternateFields1);
+        String filenames = "";
+        for (int i = 0; i < file.length; i++) {
+            filenames += file[i].getOriginalFilename() + ";";
+        }
+        String filesid = "";
+        if (file != null) {
+            for (int i = 0; i < file.length; i++) {
+                try {
+
+                    //获取系统时间
+                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("/yyyy/MM/dd");
+                    //获取文件名
+                    String oldName = file[i].getOriginalFilename();
+                    //取当前时间的长整形值包含毫秒
+                    String newName = IDutils.getImageName();
+                    //重新命名文件
+                    newName = newName + oldName.substring(oldName.lastIndexOf("."));
+                    String filePath = simpleDateFormat.format(new Date());
+                    //获取输入流
+                    InputStream inputStream = file[i].getInputStream();
+                    boolean result = ftpFileUtil.uploadToFtp(inputStream, filePath, newName, false);
+                    inputStream.close();
+                    if (result) {
+                        SystemFile uploadFile = new SystemFile();
+                        uploadFile.setFilename(oldName);
+                        uploadFile.setFilepath(filePath + "/" + newName);
+                        uploadFile.setId(alternateFields1);
+                        SystemFile modela = systemFileService.add(uploadFile);
+                        if (modela != null) {
+                            filesid += "," + modela.getId();
+                        }
+                    } else {
+                        return failed(null, "上传文件失败");
+                    }
+                } catch (Exception e) {
+                    e.getMessage();
+                }
+            }
+            return success(filesid);
+
+        } else {
+            return failed();
+        }
+
+    }
+
+    @PostMapping("/previewfileList")
+    public RESTfulResult previewfileList(@RequestBody HashMap map) {
+        String uuid = map.get("uuid").toString();
+        String[] uuidList = uuid.split(";");
+        //遍历数组,去找文件名称和路径
+        List<Map<String, Object>> mapList = systemFileMapper.getFileInfo(uuidList);
+        List<Map<String, Object>> resultList = new ArrayList<>();
+        for (Map<String, Object> parmas : mapList) {
+            String filename = parmas.get("FILENAME").toString();
+            String filepath = parmas.get("FILEPATH").toString();
+            if (filename == null || filename.isEmpty()) {
+                return failed("该图片不存在!");
+            }
+            if (filepath == null || filepath.isEmpty()) {
+                return failed("该图片地址不存在!");
+            }
+            try {
+                Map<String, Object> result = ftpFileUtil.downloadFileNew(filename, filepath);
+                //如果是返回base64,则给这个;网络路径则给netUrl
+                result.put("dataType", "base");
+                resultList.add(result);
+            } catch (IOException e) {
+                e.getMessage();
+                continue;
+            }
+        }
+        return success(resultList);
+
+    }
+
+
+    @PostMapping("/insertFilesReal")
+    public RESTfulResult insertFilesReal(MultipartRequest request, String[] uuidTypes) throws Exception {
+        //List<MultipartFile> files  = new ArrayList<>();
+        //获取多个文件
+        MultiValueMap<String, MultipartFile> multiFileMap = request.getMultiFileMap();
+        List<MultipartFile> files = multiFileMap.get("file");
+        System.out.println(uuidTypes + "uuidTypes");
+        System.out.println(request);
+        if (files == null) {
+            return success();
+        }
+        if (files.size() == 0) {
+            return failed("传输失败");
+        }
+        int index = 0;
+        for (MultipartFile file : files) {
+            String uuidType = uuidTypes[index];
+            String fileMediaType = file.getContentType();
+            String newName = uuidType.split(";")[0];
+
+            String uuid = uuidType.split(";")[0];
+            String fileType = uuidType.split(";")[1];
+            InputStream inputStream = file.getInputStream();
+            if (fileMediaType != null && fileMediaType.contains("image")) {
+                newName = uuidType.split(";")[0] + "." + fileMediaType.split("/")[1];
+                ////如果是图片
+                //BufferedImage originalImage = ImageIO.read(inputStream);
+                //// 确保原始图片有效且可以读取
+                //if (originalImage != null) {
+                //    // 添加水印逻辑
+                //    inputStream = addWatermark(originalImage);
+                //    // 保存或返回带有水印的图片
+                //    // ...
+                //}
+            }
+            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("/yyyy/MM/dd");
+            String filePath = "/" + fileType + simpleDateFormat.format(new Date());
+            boolean result = ftpFileUtil.uploadToFtp(inputStream, filePath, newName, false);
+            inputStream.close();
+            if (result) {
+                SystemFile uploadFile = new SystemFile();
+                uploadFile.setFilename(newName);
+                uploadFile.setFilepath(filePath + "/" + newName);
+                uploadFile.setId(uuid);
+                SystemFile modela = systemFileService.add(uploadFile);
+                if (modela != null) {
+                    uuid += "," + modela.getId();
+                }
+            } else {
+                return failed(null, "上传文件失败");
+            }
+            index++;
+        }
+        return success();
+    }
+
+    //private InputStream addWatermark(BufferedImage originalImage) {
+    //    int width = originalImage.getWidth();
+    //    int height = originalImage.getHeight();
+    //
+    //    //BufferedImage watermarkedImage = Scalr.resize(originalImage, width, height, Scalr.Mode.FIT_EXACT);
+    //
+    //    Graphics2D graphics = watermarkedImage.createGraphics();
+    //
+    //    // 设置水印样式
+    //    graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON);
+    //    Font font = new Font("Arial", Font.BOLD, 30);
+    //    graphics.setFont(font);
+    //    Color color = new Color(255, 0, 0, 128);
+    //    graphics.setColor(color);
+    //
+    //    // 添加水印文字
+    //    graphics.drawString("Your Watermark Text", 10, height - 40); // 示例位置
+    //
+    //    graphics.dispose();
+    //
+    //    // 将带水印的图片转为InputStream
+    //    ByteArrayOutputStream baos = new ByteArrayOutputStream();
+    //    ImageIO.write(watermarkedImage, "jpg", baos);
+    //    InputStream watermarkedStream = new ByteArrayInputStream(baos.toByteArray());
+    //
+    //    return watermarkedStream;
+    //}
+    //读取文件
+    @PostMapping("/readExcel")
+    public RESTfulResult readExcel(@RequestParam String path) {
+        File file = new File(path);
+
+        return success();
+    }
+
+
+}

+ 30 - 0
src/main/java/com/steerinfo/dil/controller/TMIcontroller.java

@@ -0,0 +1,30 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.annotaion.LogAround;
+import com.steerinfo.dil.feign.RmsFeign;
+import com.steerinfo.dil.feign.TmiFeign;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ExcelToolUtils;
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.math.BigDecimal;
+import java.util.*;
+
+@RestController
+@RequestMapping("${api.version}/tmi")
+public class TMIcontroller extends BaseRESTfulController {
+    @Autowired
+    TmiFeign tmiFeign;
+
+    @ApiOperation("将车号同步wms")
+    @PostMapping("addWmsCarNo")
+    public Map<String,Object> addWmsCarNo(@RequestBody Map<String,Object> map) {
+        return tmiFeign.addWmsCarNo(map);
+    }
+}

+ 1235 - 0
src/main/java/com/steerinfo/dil/controller/TMSController.java

@@ -0,0 +1,1235 @@
+package com.steerinfo.dil.controller;
+
+
+import com.steerinfo.dil.annotaion.LogAround;
+import com.steerinfo.dil.annotaion.RequestLimit;
+import com.steerinfo.dil.feign.AmsFeign;
+import com.steerinfo.dil.feign.RmsFeign;
+import com.steerinfo.dil.feign.TmsFeign;
+import com.steerinfo.dil.feign.WlTmsFeign;
+import com.steerinfo.dil.mapper.UniversalMapper;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ExcelToolUtils;
+import com.steerinfo.dil.util.Util;
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import oracle.jdbc.proxy.annotation.Post;
+import org.apache.commons.io.FilenameUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.OutputStreamWriter;
+import java.math.BigDecimal;
+import java.text.DateFormat;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.stream.Collectors;
+
+import com.steerinfo.dil.util.DataChange;
+import org.springframework.web.multipart.MultipartRequest;
+
+/**
+ * @author luobang
+ * @create 2021-09-17 14:11
+ */
+
+@RestController
+@RequestMapping("${api.version}/tms")
+public class TMSController extends BaseRESTfulController {
+    @Autowired
+    private TmsFeign tmsFeign;
+
+    @Autowired
+    private AmsFeign amsFeign;
+
+    @Autowired
+    private RmsFeign rmsFeign;
+
+    @Autowired
+    WlTmsFeign wlTmsFeign;
+
+    @Autowired
+    private UniversalMapper universalMapper;
+
+    @ApiOperation(value = "车辆实绩")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getcomprehensiveresults")
+    public Map<String, Object> getecomprehensiveresultslist(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                                            Integer pageNum,
+                                                            Integer pageSize) {
+        return tmsFeign.getAmsSalaryContracList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增车辆实绩")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计算公式"})
+    @PostMapping("/addcomprehensiveresults")
+    public Map<String, Object> insertcomprehensiveresults(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.addComprehensiveResult(map);
+    }
+
+    @ApiOperation(value = "车辆实绩删除")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PutMapping(value = "/comprehensiveresultslogicdelete")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计算公式"})
+    public Map<String, Object> comprehensiveresultsLogicDelete(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.logicdeleteAmsSaalryContrac(map);
+    }
+
+    @ApiOperation(value = "修改车辆实绩")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/comprehensiveresultsupadete")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计算公式"})
+    public Map<String, Object> comprehensiveresultsUpdate(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.updateAmsSalaryContrac(map);
+    }
+
+    @ApiOperation(value = "修改车辆实绩")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/tmscomprehensiveresults/batchUpdate")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计算公式"})
+    public Map<String, Object> tmscomprehensiveresultsBatchUpdate(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.tmscomprehensiveresultsBatchUpdate((List) map.get("list"));
+    }
+
+    @ApiOperation(value = "派发运输订单")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/dispatchOrder")
+    @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
+    public Map<String, Object> dispatchOrder(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.dispatchOrder(map);
+    }
+
+    @ApiOperation(value = "批量派发运输订单")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/batchDispatch")
+    @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
+    public Map<String, Object> batchDispatch(@RequestBody(required = false) Map<String, Object> map) {
+        return wlTmsFeign.batchDispatch(map);
+    }
+
+    @ApiOperation(value = "批量派发运输订单")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/batchDispatchSc")
+    @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
+    public Map<String, Object> batchDispatchSc(@RequestBody(required = false) Map<String, Object> map) {
+        return wlTmsFeign.batchDispatchSc(map);
+    }
+
+    @ApiOperation(value = "修改运输订单")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/updateTransOrder")
+    @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
+    public Map<String, Object> updateTransOrder(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.updateTransOrder(map);
+    }
+
+    @ApiOperation(value = "合并运输订单")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/mergeTransOrder")
+    @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
+    public Map<String, Object> mergeTransOrder(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.mergeTransOrder(map);
+    }
+
+    @ApiOperation(value = "更改运输订单状态")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/changeTransOrder")
+    @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
+    public Map<String, Object> changeTransOrder(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.changeTransOrder(map);
+    }
+
+    @ApiOperation(value = "司机接收运单")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/receiptOrder")
+    @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
+    public Map<String, Object> receiptOrder(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.receiptOrder(map);
+    }
+
+    @ApiOperation(value = "查询运输订单")
+    @PostMapping("/getTransOrderList")
+    public Map<String, Object> getTransOrderList(@RequestBody(required = false) Map<String, Object> map,
+                                                 Integer apiId,
+                                                 Integer pageNum,
+                                                 Integer pageSize) {
+        return wlTmsFeign.getTransOrderList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "查询运输订单所有运输实绩")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/getTransResult")
+    public Map<String, Object> getTransResult(@RequestBody(required = false) Map<String, Object> map) {
+        return wlTmsFeign.getTransResult(map);
+    }
+
+    @ApiOperation(value = "同步进厂")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/syncEnfactoryResult")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"进厂实绩"})
+    public Map<String, Object> syncEnfactoryResult(@RequestBody(required = false) Map<String, Object> map) {
+        return wlTmsFeign.syncEnfactoryResult(map);
+    }
+
+    @ApiOperation(value = "同步出厂")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/syncOutfactoryResult")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"出厂实绩"})
+    public Map<String, Object> syncOutfactoryResult(@RequestBody(required = false) Map<String, Object> map) {
+        return wlTmsFeign.syncOutfactoryResult(map);
+    }
+
+    @ApiOperation(value = "同步计量")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/syncWeightResult")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计量实绩"})
+    public Map<String, Object> syncWeightResult(@RequestBody(required = false) Map<String, Object> map) {
+        return wlTmsFeign.syncWeightResult(map);
+    }
+
+
+    @ApiOperation(value = "计时")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/startend")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计时"})
+    public Map<String, Object> start(@RequestBody(required = false) Map<String, Object> map) {
+        return wlTmsFeign.startend(map);
+    }
+
+
+    @ApiOperation(value = "计时")
+    @PostMapping(value = "/updCountResult")
+    @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"计次"})
+    public Map<String, Object> updCountResult(@RequestBody(required = false) Map<String, Object> map) {
+        return wlTmsFeign.updCountResult(map);
+    }
+
+    @ApiOperation(value = "审批计时")
+    @PostMapping(value = "/approveTimeResult")
+    @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"计时"})
+    public Map<String, Object> approveTimeResult(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.approveTimeResult(map);
+    }
+
+    @ApiOperation(value = "计时复报")
+    @PostMapping(value = "/resendTimeResult")
+    @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"计时复报"})
+    public Map<String, Object> resendTimeResult(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.resendTimeResult(map);
+    }
+
+    @ApiOperation(value = "查询计时")
+    @PostMapping("/tmstimingresultsList")
+    public Map<String, Object> tmstimingresultsList(@RequestBody(required = false) Map<String, Object> map,
+                                                    Integer apiId,
+                                                    Integer pageNum,
+                                                    Integer pageSize) {
+        return tmsFeign.tmstimingresultsList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "查询计时")
+    @PostMapping("/getOrderTimeList")
+    public Map<String, Object> getOrderTimeList(@RequestBody(required = false) Map<String, Object> map,
+                                                Integer apiId,
+                                                Integer pageNum,
+                                                Integer pageSize) {
+        return tmsFeign.getOrderTimeList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "查询计时")
+    @PostMapping("/getTimeList")
+    public Map<String, Object> getOrderTimeList(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.getTimeList(map);
+    }
+
+    @ApiOperation(value = "修改计时")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/tmstimingresultsUpdate")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"修改计时"})
+    public Map<String, Object> tmstimingresultsUpdate(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.tmstimingresultsUpdate(map);
+    }
+
+    @ApiOperation(value = "销售派发运输订单")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/saleDispatchOrder")
+    @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
+    public Map<String, Object> saleDispatchOrder(@RequestBody(required = false) Map<String, Object> map) {
+        return wlTmsFeign.saleDispatchOrder(map);
+    }
+
+    @ApiOperation(value = "批量销售派发运输订单")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/saleDispatchOrderList")
+    @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
+    public Map<String, Object> saleDispatchOrderList(@RequestBody(required = false) Map<String, Object> map) {
+        return wlTmsFeign.saleDispatchOrderList(map);
+    }
+
+    @ApiOperation(value = "查询销售运输订单")
+    @PostMapping("/getSaleTransOrderList")
+    public Map<String, Object> getSaleTransOrderList(@RequestBody(required = false) Map<String, Object> map,
+                                                     Integer apiId,
+                                                     Integer pageNum,
+                                                     Integer pageSize) {
+        return tmsFeign.getSaleTransOrderList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "同步质检")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/syncQualityResult")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"质检实绩"})
+    public Map<String, Object> syncQualityResult(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.syncQualityResult(map);
+    }
+
+    @ApiOperation(value = "签到")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/signIn")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"签到实绩"})
+    public Map<String, Object> signIn(@RequestBody(required = false) Map<String, Object> map) {
+        return wlTmsFeign.signIn(map);
+    }
+
+    @ApiOperation(value = "换车头")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/replaceFront")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"换车头实绩"})
+    public Map<String, Object> replaceFront(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.replaceFront(map);
+    }
+
+    @ApiOperation(value = "装货")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/load")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"装货实绩"})
+    public Map<String, Object> load(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.load(map);
+    }
+
+    @ApiOperation(value = "装货修改")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/loadUpd")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"装货实绩"})
+    public Map<String, Object> loadUpd(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.loadUpd(map);
+    }
+
+    @ApiOperation(value = "卸货")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/unload")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"卸货实绩"})
+    public Map<String, Object> unload(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.unload(map);
+    }
+
+    @ApiOperation(value = "卸货修改")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/unloadUpd")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"卸货实绩"})
+    public Map<String, Object> unloadUpd(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.unloadUpd(map);
+    }
+
+    @ApiOperation(value = "抵达")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/arrival")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"抵达实绩"})
+    public Map<String, Object> arrival(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.arrival(map);
+    }
+
+    @ApiOperation(value = "签收")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/receipt")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"签收实绩"})
+    public Map<String, Object> receipt(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.receipt(map);
+    }
+
+
+    @ApiOperation(value = "查询厂内车辆数")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/getCountEnfactory")
+    public Map<String, Object> getCountEnfactory(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.getCountEnfactory(map == null ? new HashMap<>() : map);
+    }
+
+    @ApiOperation(value = "查询签到")
+    @PostMapping("/getSignInResultList")
+    public Map<String, Object> getSignInResultList(@RequestBody(required = false) Map<String, Object> map,
+                                                   Integer apiId,
+                                                   Integer pageNum,
+                                                   Integer pageSize) {
+        return tmsFeign.getSignInResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "查询换车头")
+    @PostMapping("/getReplaceFrontResultList")
+    public Map<String, Object> getReplaceFrontResultList(@RequestBody(required = false) Map<String, Object> map,
+                                                         Integer apiId,
+                                                         Integer pageNum,
+                                                         Integer pageSize) {
+        return tmsFeign.getReplaceFrontResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "查询进厂")
+    @PostMapping("/getEnfactoryResultList")
+    public Map<String, Object> getEnfactoryResultList(@RequestBody(required = false) Map<String, Object> map,
+                                                      Integer apiId,
+                                                      Integer pageNum,
+                                                      Integer pageSize) {
+        return tmsFeign.getEnfactoryResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "查询出厂")
+    @PostMapping("/getOutfactoryResultList")
+    public Map<String, Object> getTmsOutfactoryResultList
+            (@RequestBody(required = false) Map<String, Object> map,
+             Integer apiId,
+             Integer pageNum,
+             Integer pageSize) {
+        return tmsFeign.getOutfactoryResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "查询装货")
+    @PostMapping("/getLoadResultList")
+    public Map<String, Object> getLoadResultList(@RequestBody(required = false) Map<String, Object> map,
+                                                 Integer apiId,
+                                                 Integer pageNum,
+                                                 Integer pageSize) {
+        return tmsFeign.getLoadResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+
+    @ApiOperation(value = "查询卸货")
+    @PostMapping("/getUnloadResultList")
+    public Map<String, Object> getUnloadResultList(@RequestBody(required = false) Map<String, Object> map,
+                                                   Integer apiId,
+                                                   Integer pageNum,
+                                                   Integer pageSize) {
+        return tmsFeign.getUnloadResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "查询计量")
+    @PostMapping("/getWeightResultList")
+    public Map<String, Object> getWeightResultList(@RequestBody(required = false) Map<String, Object> map,
+                                                   Integer apiId,
+                                                   Integer pageNum,
+                                                   Integer pageSize) {
+        return tmsFeign.getWeightResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "查询质检")
+    @PostMapping("/getQualityResultList")
+    public Map<String, Object> getQualityResult(@RequestBody(required = false) Map<String, Object> map,
+                                                Integer apiId,
+                                                Integer pageNum,
+                                                Integer pageSize) {
+        return tmsFeign.getQualityResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "查询抵达")
+    @PostMapping("/getArrivalResultList")
+    public Map<String, Object> getArrivalResultList(@RequestBody(required = false) Map<String, Object> map,
+                                                    Integer apiId,
+                                                    Integer pageNum,
+                                                    Integer pageSize) {
+        return tmsFeign.getArrivalResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "查询签收")
+    @PostMapping("/getReceiptResultList")
+    public Map<String, Object> getReceiptResultList(@RequestBody(required = false) Map<String, Object> map,
+                                                    Integer apiId,
+                                                    Integer pageNum,
+                                                    Integer pageSize) {
+        return tmsFeign.getReceiptResultList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+
+    }
+
+
+    @ApiOperation(value = "采购火运装货作业")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/purchaseTrainLoad")
+//    @LogAround(foreignKeys = {"resultId"},foreignKeyTypes = {"装货实绩"})
+    public Map<String, Object> purchaseTrainLoad(@RequestBody MultipartFile file,
+                                                 String businessType,
+                                                 String userId,
+                                                 String userName) throws Exception {
+        Map<String, Object> map = new HashMap<>();
+        //获取Excel中包含的对象数组
+        List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
+        map.put("list", list);
+        //统计通知单的重量车数和车牌号
+        Set<String> capacitySet = new HashSet<>();//车牌号
+        List<String> requirementList = new ArrayList<>();
+        String loadDate = null;
+        for (Map<String, Object> item : list) {
+            //校验行
+            if (item.get("通知单号") == null || item.get("通知单号").equals("")
+                    || item.get("车号") == null || item.get("车号").equals("")
+                    || item.get("发站") == null || item.get("发站").equals("")
+                    || item.get("到站") == null || item.get("到站").equals("")
+                    || item.get("装车日期") == null || item.get("装车日期").equals("")) {
+                throw new Exception("单元格数据异常(通知单号/车号/装车日期/发站/到站),请检查模板或数据是否正确!");
+            }
+            BigDecimal tareWeight = DataChange.dataToBigDecimal(item.get("皮重"));
+            BigDecimal grossWeight = DataChange.dataToBigDecimal(item.get("毛重"));
+            BigDecimal netWeight = DataChange.dataToBigDecimal(item.get("净重"));
+            if (tareWeight.compareTo(BigDecimal.ZERO) > 0 && grossWeight.compareTo(BigDecimal.ZERO) > 0) {
+                item.put("净重", grossWeight.subtract(tareWeight));
+            } else if (netWeight.compareTo(BigDecimal.ZERO) > 0) {
+                item.put("净重", netWeight);
+            } else {
+                throw new Exception("单元格数据异常:净重/皮重/毛重,请检查模板或数据是否正确!");
+            }
+            //通知单统计
+            String requirementNumber = item.get("通知单号").toString();
+            if (map.get(requirementNumber) != null) {
+                //已存在,修改
+                Map<String, Object> requirementMap = (Map<String, Object>) map.get(requirementNumber);
+                BigDecimal weight = DataChange.dataToBigDecimal(requirementMap.get("weight"));
+                BigDecimal truckNumber = DataChange.dataToBigDecimal(requirementMap.get("truckNumber"));
+                String loadTime = requirementMap.get("loadTime").toString();
+                List<Map<String, Object>> trainList = (ArrayList) requirementMap.get("trainList");
+                weight = weight.add(DataChange.dataToBigDecimal(item.get("净重")));
+                truckNumber = truckNumber.add(new BigDecimal(1));
+                trainList.add(item);
+                requirementMap.put("weight", weight);
+                requirementMap.put("truckNumber", truckNumber);
+                requirementMap.put("trainList", trainList);
+                if (!loadTime.equals(item.get("装车日期").toString())) {
+                    throw new Exception("同一个Excel只允许一批车辆,请检查装车日期!");
+                }
+            } else {
+                //不存在,新增
+                Map<String, Object> requirementMap = new HashMap<>();
+                List<Map<String, Object>> trainList = new ArrayList<>();
+                trainList.add(item);
+                BigDecimal weight = DataChange.dataToBigDecimal(item.get("净重"));
+                BigDecimal truckNumber = new BigDecimal(1);
+                String loadTime = item.get("装车日期").toString();
+                if (loadDate == null) {
+                    loadDate = loadTime;
+                    map.put("loadDate", loadDate);
+                } else if (!loadDate.equals(loadTime)) {
+                    throw new Exception("同一个Excel只允许一批车辆,请检查装车日期!");
+                }
+                requirementMap.put("requirementNumber", requirementNumber);
+                requirementMap.put("weight", weight);
+                requirementMap.put("truckNumber", truckNumber);
+                requirementMap.put("loadTime", loadTime);
+                requirementMap.put("trainList", trainList);
+                requirementMap.put("userId", userId);
+                requirementMap.put("userName", userName);
+                requirementMap.put("businessType", businessType);
+                requirementList.add(requirementNumber);
+                map.put(requirementNumber, requirementMap);
+            }
+            //车牌号去重
+            capacitySet.add(item.get("车号").toString());
+        }
+        //校验当前excel是否已经导入过
+        if (universalMapper.countTrainLoad(map) > 0) {
+            throw new Exception("存在重复的装车信息!不允许重复导入!");
+        }
+        //新增火车运力资源
+        String[] capacities = capacitySet.toArray(new String[0]);//车牌号
+        try {
+            new Runnable() {
+                @Override
+                public void run() {
+                    Map<String, Object> capacityMap = new HashMap<>();
+                    capacityMap.put("capacities", capacities);
+                    capacityMap.put("userId", userId);
+                    capacityMap.put("userName", userName);
+                    rmsFeign.batchInsertCapacityTrain(capacityMap);
+                }
+            }.run();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        //新增AMS及TMS
+        map.put("userId", userId);
+        map.put("userName", userName);
+        map.put("businessType", businessType);
+        map.put("requirementList", requirementList);
+        return tmsFeign.purchaseTrainLoad(map);
+    }
+
+    @ApiOperation(value = "查询采购火运装货")
+    @PostMapping("/purchaseTrainLoadList")
+    public Map<String, Object> purchaseTrainLoadList(@RequestBody(required = false) Map<String, Object> map,
+                                                     Integer apiId,
+                                                     Integer pageNum,
+                                                     Integer pageSize) {
+        return tmsFeign.purchaseTrainLoadList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+
+    @ApiOperation(value = "查询采购火运装货报表")
+    @PostMapping("/purchaseTrainLoadReport")
+    public Map<String, Object> purchaseTrainLoadReport(@RequestBody(required = false) Map<String, Object> map,
+                                                       Integer apiId,
+                                                       Integer pageNum,
+                                                       Integer pageSize) {
+        return tmsFeign.purchaseTrainLoadReport(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "修改火运装车")
+    @PostMapping("/updateTrainLoad")
+    public Map<String, Object> updateTrainLoad(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.updateTrainLoad(map);
+    }
+
+    @ApiOperation(value = "删除火运装车", notes = "删除火运装车")
+    @PostMapping(value = "/deleteTrainLoad")
+    @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
+    public Map<String, Object> deleteTrainLoad(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.deleteTrainLoad(map);
+    }
+
+    @ApiOperation(value = "修改火运装车序号")
+    @PostMapping("/updateTrainLoadSeq")
+    public Map<String, Object> updateTrainLoadSeq(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.updateTrainLoadSeq(map);
+    }
+
+    @ApiOperation(value = "采购火运计量作业")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/purchaseTrainWeight")
+//    @LogAround(foreignKeys = {"resultId"},foreignKeyTypes = {"计量实绩"})
+    public Map<String, Object> purchaseTrainWeight(@RequestBody MultipartFile file,
+                                                   String businessType,
+                                                   String userId,
+                                                   String userName) throws Exception {
+        Map<String, Object> map = new HashMap<>();
+        //获取Excel中包含的对象数组
+        List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
+        map.put("list", list);
+        Set<String> capacitySet = new HashSet<>();//车牌号
+        String weightTime = null;
+        for (Map<String, Object> item : list) {
+            //校验行
+            if (item.get("通知单号") == null || item.get("通知单号").equals("")
+                    || item.get("车号") == null || item.get("车号").equals("")
+                    || item.get("计量日期") == null || item.get("计量日期").equals("")
+                    || item.get("皮重") == null || item.get("皮重").equals("")
+                    || item.get("毛重") == null || item.get("毛重").equals("")
+                    || item.get("磅单号") == null || item.get("磅单号").equals("")) {
+                throw new Exception("单元格数据异常(通知单号/车号/计量日期/净重/皮重/毛重/磅单号),请检查模板或数据是否正确!");
+            }
+            item.put("净重", DataChange.dataToBigDecimal(item.get("毛重")).subtract(DataChange.dataToBigDecimal(item.get("皮重"))));
+            //校验数据
+//            if(weightTime == null){
+//                weightTime = item.get("计量日期").toString();
+//            }else if(!weightTime.equals(item.get("计量日期").toString())){
+//                throw new Exception("同一个Excel只允许一批车辆,请检查计量日期!");
+//            }
+            //车牌号去重
+            capacitySet.add(item.get("车号").toString());
+        }
+        String[] capacities = capacitySet.toArray(new String[0]);//车牌号
+        if (capacities.length != list.size()) {
+            throw new Exception("车号不允许重复!");
+        }
+        map.put("userId", userId);
+        map.put("userName", userName);
+        map.put("businessType", businessType);
+        //获取火车运单及计量详情
+        List<Map<String, Object>> orderListAll = universalMapper.findTrainWeight(map);
+        if (orderListAll.size() <= 0) {
+            throw new Exception("未查询到装车信息,请先上传装车作业!");
+        }
+        List<String> requireList = new ArrayList<>();
+        for (Map<String, Object> order : orderListAll) {
+            if (order.get("unloadResultId") != null) {
+                throw new Exception(order.get("capacityId") + "已卸车,不允许再上传计量!");
+            }
+            String requireNumber = order.get("requireNumber").toString();
+            Map<String, Object> requirementMap = (Map<String, Object>) map.get(requireNumber);
+            if (requirementMap != null) {
+                List<Map<String, Object>> orderList = (ArrayList) requirementMap.get("orderList");
+                orderList.add(order);
+                BigDecimal weight = DataChange.dataToBigDecimal(requirementMap.get("weight"));
+                requirementMap.put("weight", weight.add(DataChange.dataToBigDecimal(order.get("netWeight"))));
+                requirementMap.put("orderList", orderList);
+            } else {
+                requirementMap = new HashMap<>();
+                List<Map<String, Object>> orderList = new ArrayList<>();
+                orderList.add(order);
+                BigDecimal weight = DataChange.dataToBigDecimal(order.get("netWeight"));
+                requirementMap.put("transPlanId", order.get("transPlanId"));
+                requirementMap.put("materialId", order.get("materialId"));
+                requirementMap.put("weight", weight);
+                requirementMap.put("weightTime", weightTime);
+                requirementMap.put("userId", userId);
+                requirementMap.put("userName", userName);
+                requirementMap.put("orderList", orderList);
+                requireList.add(requireNumber);
+            }
+            map.put(requireNumber, requirementMap);
+        }
+        Map<String, Object> result = null;
+        for (String requireNumber : requireList) {
+            Map<String, Object> requirementMap = (Map<String, Object>) map.get(requireNumber);
+            List<Map<String, Object>> orderList = (ArrayList) requirementMap.get("orderList");
+            if (universalMapper.countTransOrder(requirementMap) != orderList.size()) {
+                throw new Exception("计量车数与装车车数不一致!");
+            }
+            result = tmsFeign.purchaseTrainWeight(requirementMap);
+            if (!"succeed".equals(result.get("status"))) {
+                throw new Exception("计量上传失败:" + result.get("message"));
+            }
+        }
+        return result;
+    }
+
+
+    @ApiOperation(value = "查询采购火运计量")
+    @PostMapping("/purchaseTrainWeightList")
+    public Map<String, Object> purchaseTrainWeightList(@RequestBody(required = false) Map<String, Object> map,
+                                                       Integer apiId,
+                                                       Integer pageNum,
+                                                       Integer pageSize) {
+        return tmsFeign.purchaseTrainWeightList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "采购火运卸车作业")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/purchaseTrainUnload")
+//    @LogAround(foreignKeys = {"resultId"},foreignKeyTypes = {"计量实绩"})
+    public Map<String, Object> purchaseTrainUnload(@RequestBody MultipartFile file,
+                                                   String businessType,
+                                                   String userId,
+                                                   String userName) throws Exception {
+        Map<String, Object> map = new HashMap<>();
+        //获取Excel中包含的对象数组
+        List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
+        map.put("list", list);
+        Set<String> capacitySet = new HashSet<>();//车牌号
+        String unloadTime = null;
+        for (Map<String, Object> item : list) {
+            //校验行
+            if (item.get("通知单号") == null || item.get("通知单号").equals("")
+                    || item.get("车号") == null || item.get("车号").equals("")
+                    || item.get("卸车日期") == null || item.get("卸车日期").equals("")) {
+                throw new Exception("单元格数据异常(通知单号/车号/卸车日期),请检查模板或数据是否正确!");
+            }
+            if (item.get("净重") == null || item.get("净重").equals("")) {
+                //净重为空
+                if (item.get("毛重") != null && !item.get("毛重").equals("")
+                        && item.get("皮重") != null && !item.get("皮重").equals("")) {
+                    item.put("净重", DataChange.dataToBigDecimal(item.get("毛重")).subtract(DataChange.dataToBigDecimal(item.get("皮重"))));
+                } else {
+                    throw new Exception("单元格数据异常(净重),请检查模板或数据是否正确!");
+                }
+            }
+
+            if (item.get("毛重") == null || item.get("毛重").equals("")) {
+                //毛重为空
+                if (item.get("净重") != null && !item.get("净重").equals("")
+                        && item.get("皮重") != null && !item.get("皮重").equals("")) {
+                    item.put("毛重", DataChange.dataToBigDecimal(item.get("净重")).add(DataChange.dataToBigDecimal(item.get("皮重"))));
+                } else {
+                    throw new Exception("单元格数据异常(毛重),请检查模板或数据是否正确!");
+                }
+            }
+
+            if (item.get("皮重") == null || item.get("皮重").equals("")) {
+                //毛重为空
+                if (item.get("净重") != null && !item.get("净重").equals("")
+                        && item.get("毛重") != null && !item.get("毛重").equals("")) {
+                    item.put("皮重", DataChange.dataToBigDecimal(item.get("毛重")).subtract(DataChange.dataToBigDecimal(item.get("净重"))));
+                } else {
+                    throw new Exception("单元格数据异常(皮重),请检查模板或数据是否正确!");
+                }
+            }
+            //校验数据
+//            if(unloadTime == null){
+//                unloadTime = item.get("卸车日期").toString();
+//            }else if(!unloadTime.equals(item.get("卸车日期").toString())){
+//                throw new Exception("同一个Excel只允许一批车辆,请检查卸车日期!");
+//            }
+            //车牌号去重
+            System.out.println(item.get("车号").toString());
+            Boolean b = capacitySet.add(item.get("车号").toString());
+            System.out.println(b);
+        }
+        String[] capacities = capacitySet.toArray(new String[0]);//车牌号
+        if (capacities.length != list.size()) {
+            throw new Exception("车号不允许重复!");
+        }
+        map.put("userId", userId);
+        map.put("userName", userName);
+        map.put("businessType", businessType);
+        //获取火车运单及计量详情
+        List<Map<String, Object>> orderListAll = universalMapper.findTrainUnload(map);
+        if (orderListAll.size() <= 0) {
+            throw new Exception("未查询到装车信息,请先上传装车作业!");
+        }
+        List<String> requireList = new ArrayList<>();
+        for (Map<String, Object> order : orderListAll) {
+            if (order.get("unloadResultId") != null) {
+                throw new Exception(order.get("capacityId") + "已卸车,不允许再上传!");
+            }
+            String requireNumber = order.get("requireNumber").toString();
+            Map<String, Object> requirementMap = (Map<String, Object>) map.get(requireNumber);
+            if (requirementMap != null) {
+                List<Map<String, Object>> orderList = (ArrayList) requirementMap.get("orderList");
+                orderList.add(order);
+                requirementMap.put("orderList", orderList);
+            } else {
+                requirementMap = new HashMap<>();
+                List<Map<String, Object>> orderList = new ArrayList<>();
+                orderList.add(order);
+                requirementMap.put("transPlanId", order.get("transPlanId"));
+                requirementMap.put("materialId", order.get("materialId"));
+                requirementMap.put("unloadPointId", order.get("unloadPointId"));
+                requirementMap.put("unloadTime", unloadTime);
+                requirementMap.put("userId", userId);
+                requirementMap.put("userName", userName);
+                requirementMap.put("orderList", orderList);
+                requirementMap.put("requirementSerialNumber", requireNumber);
+                requireList.add(requireNumber);
+            }
+            map.put(requireNumber, requirementMap);
+        }
+        Map<String, Object> result = null;
+        for (String requireNumber : requireList) {
+            Map<String, Object> requirementMap = (Map<String, Object>) map.get(requireNumber);
+            List<Map<String, Object>> orderList = (ArrayList) requirementMap.get("orderList");
+//            if(universalMapper.countTransOrder(requirementMap) != orderList.size()){
+//                throw new Exception("卸车车数与装车车数不一致!");
+//            }
+            result = tmsFeign.purchaseTrainUnload(requirementMap);
+            if (!"succeed".equals(result.get("status"))) {
+                throw new Exception("上传失败:" + result.get("message"));
+            }
+        }
+        return result;
+    }
+
+    @ApiOperation(value = "查询采购火运卸车")
+    @PostMapping("/purchaseTrainUnloadList")
+    public Map<String, Object> purchaseTrainUnloadList(@RequestBody(required = false) Map<String, Object> map,
+                                                       Integer apiId,
+                                                       Integer pageNum,
+                                                       Integer pageSize) {
+        return tmsFeign.purchaseTrainUnloadList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "更改销售运输订单状态")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PostMapping(value = "/changeSaleTransOrder")
+    @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"销售运输订单"})
+    public Map<String, Object> changeSaleTransOrder(@RequestBody(required = false) Map<String, Object> map) {
+        return tmsFeign.changeSaleTransOrder(map);
+    }
+
+
+    @ApiOperation(value = "查询司机运输汇总")
+    @PostMapping("/getDriverTotalResult")
+    public Map<String, Object> getDriverTotalResult(@RequestBody(required = false) Map<String, Object> map,
+                                                    Integer apiId,
+                                                    Integer pageNum,
+                                                    Integer pageSize) {
+        return tmsFeign.getDriverTotalResult(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+
+    @ApiOperation(value = "查询车辆运输汇总")
+    @PostMapping("/getCapacityTotalResult")
+    public Map<String, Object> getCapacityTotalResult(@RequestBody(required = false) Map<String, Object> map,
+                                                      Integer apiId,
+                                                      Integer pageNum,
+                                                      Integer pageSize) {
+        return tmsFeign.getCapacityTotalResult(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+
+    @ApiOperation("生产物流-调度任务新增")
+    @PostMapping("/dispatchTask")
+    Map<String, Object> dispatchTask(@RequestBody Map<String, Object> map) {
+        return tmsFeign.dispatchTask(map);
+    }
+
+    @ApiOperation("获取销售派车单信息")
+    @PostMapping("/getDlivDirnoSeqList/{id}")
+    public RESTfulResult getDlivDirnoSeqList(@PathVariable("id") String id) {
+        return tmsFeign.getDlivDirnoSeqList(id);
+    }
+
+    @ApiOperation("修改销售派车单信息")
+    @PostMapping("/updateDlivDirnoSeq")
+    @LogAround(foreignKeys = {"planChildId"}, foreignKeyTypes = {"修改销售运单"})
+    public RESTfulResult updateDlivDirnoSeq(@RequestBody Map<String, Object> map) {
+        return tmsFeign.updateDlivDirnoSeq(map);
+    }
+
+    @ApiOperation("查询销售派车单装车信息")
+    @PostMapping("/selectDlivDirnoSeqDetails")
+    public RESTfulResult selectDlivDirnoSeqDetails(@RequestBody Map<String, Object> map) {
+        return tmsFeign.selectDlivDirnoSeqDetails(map);
+    }
+
+    @ApiOperation("查询订单厂内轨迹")
+    @PostMapping("/getPathByOrder")
+    public RESTfulResult getPathByOrder(@RequestBody Map<String, Object> map) {
+        return tmsFeign.getPathByOrder(map);
+    }
+
+    @ApiOperation("上传定位,更新路径")
+    @PostMapping("/uploadLocation")
+    public RESTfulResult uploadLocation(@RequestBody Map<String, Object> map) {
+        return tmsFeign.uploadLocation(map);
+    }
+
+    @ApiOperation("实收吨数")
+    @PostMapping("/updateWeight")
+    public RESTfulResult updateWeight(@RequestBody Map<String, Object> map) {
+        return tmsFeign.updateWeight(map);
+    }
+
+    @ApiOperation("checkWeightResult")
+    @PostMapping("/checkWeightResult")
+    @LogAround(foreignKeys = {"resultId"}, foreignKeyTypes = {"计量实绩"})
+    public Map<String, Object> checkWeightResult(@RequestBody Map<String, Object> map) {
+        return tmsFeign.checkWeightResult(map);
+    }
+
+    @ApiOperation(value = "发运通知单直接派车", notes = "发运通知单直接派车")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/saleDispatchList")
+    public RESTfulResult saleDispatchList(@RequestBody Map<String, Object> map) {
+        return tmsFeign.saleDispatchList(map);
+    }
+
+    @ApiOperation("多拼派车")
+    @PostMapping("/saleDispatchDuoPin")
+    RESTfulResult saleDispatchDuoPin(@RequestBody Map<String, Object> map) {
+        return tmsFeign.saleDispatchDuoPin(map);
+    }
+
+
+    @ApiOperation("同步生产实绩")
+    @PostMapping("/syncProductionResult")
+    @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"调拨实绩"})
+    RESTfulResult syncProductionResult(@RequestBody Map<String, Object> map) {
+        return tmsFeign.syncProductionResult(map);
+    }
+
+    @ApiOperation("获取司机日工作量")
+    @PostMapping("/getDriverDayJobForApp")
+    RESTfulResult getDriverDayJobForApp(@RequestBody Map<String, Object> map, Integer apiId) {
+        return tmsFeign.getDriverDayJobForApp(map, apiId);
+    }
+
+    @ApiOperation(value = "确认出库", notes = "确认出库")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/outBound")
+    public RESTfulResult outBound(@RequestBody Map<String, Object> map) {
+        return tmsFeign.outBound(map);
+    }
+
+    @ApiOperation(value = "撤销出库", notes = "撤销出库")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "json格式具体参数", required = true, dataType = "Map<String,Object>")
+    })
+    @PostMapping(value = "/revokeOutBound")
+    public RESTfulResult revokeOutBound(@RequestBody Map<String, Object> map) {
+        return tmsFeign.revokeOutBound(map);
+    }
+
+
+    @ApiOperation(value = "查询车辆登记单信息")
+    @PostMapping("/likeTransitOrders")
+    public Map<String, Object> likeTransitOrders(@RequestBody(required = false) Map<String, Object> map,
+                                                 Integer apiId,
+                                                 Integer pageNum,
+                                                 Integer pageSize) {
+        return tmsFeign.likeTransitOrders(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增车辆登记单信息")
+    @PostMapping("/insertTmsTransitOrder")
+    public Map<String, Object> insertTmsTransitOrder(@RequestBody Map<String, Object> map) {
+        return tmsFeign.insertTmsTransitOrder(map);
+    }
+
+    @ApiOperation("导入通行登记单")
+    @PostMapping("/importTrasitOrder")
+    public Map<String, Object> importTrasitOrder(@RequestBody MultipartFile file,
+                                                 String userId,
+                                                 String userName) throws Exception {
+        Map<String, Object> map = new HashMap<>();
+        //获取Excel中包含的对象数组
+        List<Map<String, Object>> list = ExcelToolUtils.getExcelList(file, 0);
+        map.put("list", list);
+        for (Map<String, Object> item : list) {
+            //校验行
+            if (item.get("车牌号") == null || item.get("通行卡类型") == null || item.get("开始时间") == null || item.get("结束时间") == null) {
+                throw new Exception("单元格数据异常,请检查模板或数据是否正确!");
+            }
+        }
+        map.put("userId", userId);
+        map.put("userName", userName);
+        return tmsFeign.importTrasitOrder(map);
+    }
+
+    @ApiOperation(value = "查询请车批车")
+    @PostMapping("/getPleaseApproveList")
+    public Map<String, Object> getPleaseApproveList(@RequestBody(required = false) Map<String, Object> map,
+                                                    Integer apiId,
+                                                    Integer pageNum,
+                                                    Integer pageSize) {
+        return tmsFeign.getPleaseApproveList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @PostMapping("/addPleaseApprove")
+    public Map<String, Object> addPleaseApprove(@RequestBody Map<String, Object> map) {
+        return tmsFeign.addPleaseApprove(map);
+    }
+
+    @PostMapping("/updPleaseApprove")
+    public Map<String, Object> updPleaseApprove(@RequestBody Map<String, Object> map) {
+        return tmsFeign.updPleaseApprove(map);
+    }
+
+    @PostMapping("/delPleaseApprove")
+    public Map<String, Object> delPleaseApprove(@RequestBody Map<String, Object> map) {
+        return tmsFeign.delPleaseApprove(map);
+    }
+
+    @PostMapping("/gatepostTransitManager")
+    public Map<String, Object> gatepostTransitManager(@RequestBody Map<String, Object> map) {
+        return tmsFeign.gatepostTransitManager(map);
+    }
+
+
+    @ApiOperation("导入宏瑞综合实绩")
+    @PostMapping("/importComprehensiveResult")
+    public Map<String, Object> importComprehensiveResult(@RequestBody MultipartFile file,
+                                                         String userId,
+                                                         String userName,
+                                                         String resultType) throws Exception {
+        Map<String, Object> map = new HashMap<>();
+        if (file.isEmpty()) {
+            return new HashMap<>();
+        }
+        // 获取源文件名称
+        String originalFilename = file.getOriginalFilename();
+        // 获取源文件后缀名
+        String extension = "." + FilenameUtils.getExtension(originalFilename);
+        // 定义新路径
+        String newPath = "/data/file/result/";
+        String newName = userName + "-" + originalFilename + Util.RandomCreate(8) + ".xlsx";
+        File dataFile = new File(newPath);
+        if (!dataFile.exists()) {
+            dataFile.mkdirs();
+        }
+        FileOutputStream fileOutputStream = new FileOutputStream(newPath + newName);
+        fileOutputStream.write(file.getBytes());
+        fileOutputStream.flush();
+        fileOutputStream.close();
+        List<Map<String, Object>> list = new ArrayList<>();
+        //获取Excel中包含的对象数组
+        if ("维保".equals(resultType)) {
+            List<String> excelHeads = Arrays.asList("车属单位", "车型", "车号", "大号", "维修时间", "维修内容", "维修", "电器", "钣焊", "补胎", "其它", "工时合计", "配件费用", "外修费用", "总合计");
+            list = ExcelToolUtils.getExcelList(file, 2, excelHeads);
+        } else {
+            list = ExcelToolUtils.getExcelList(file, 0);
+        }
+        map.put("list", list);
+        map.put("userId", userId);
+        map.put("userName", userName);
+        map.put("resultType", resultType);
+        map.put("filePath", newPath + newName);
+        return tmsFeign.importComprehensiveResult(map);
+    }
+
+    @ApiOperation(value = "火运大宗销售订单 删除销售运输订单")
+    @PostMapping("/changeTransOrderH")
+    public Map<String, Object> changeTransOrderH(@RequestBody Map<String, Object> map) {
+        return tmsFeign.changeTransOrderH(map);
+    }
+
+    @ApiOperation(value = "火运出库后修改车号")
+    @PostMapping("/updateCarNo")
+    public Map<String, Object> updateCarNo(@RequestBody Map<String, Object> map) {
+        return tmsFeign.updateCarNo(map);
+    }
+
+    @ApiOperation(value = "查询排队网格信息")
+    @PostMapping("/likeQueueGrid")
+    public Map<String, Object> likeQueueGrid(@RequestBody(required = false) Map<String, Object> map,
+                                             Integer apiId,
+                                             Integer pageNum,
+                                             Integer pageSize) {
+        return tmsFeign.likeQueueGrid(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "查询排队实绩信息")
+    @PostMapping("/likeQueueResult")
+    public Map<String, Object> likeQueueResult(@RequestBody(required = false) Map<String, Object> map,
+                                               Integer apiId,
+                                               Integer pageNum,
+                                               Integer pageSize) {
+        return tmsFeign.likeQueueResult(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "处理排队网格数据")
+    @PostMapping("/disposeQueueGrid")
+    public Map<String, Object> disposeQueueGrid(@RequestBody Map<String, Object> map) {
+        return tmsFeign.disposeQueueGrid(map);
+    }
+
+
+    @ApiOperation(value = "获取网格数据")
+    @PostMapping("/getGridAllData")
+    public Map<String, Object> getGridAllData(@RequestBody Map<String, Object> map) {
+        return tmsFeign.getGridAllData(map);
+    }
+
+    @ApiOperation(value = "处理排队实绩数据")
+    @PostMapping("/disposeQueueResult")
+    public Map<String, Object> disposeQueueResult(@RequestBody Map<String, Object> map) {
+        return tmsFeign.disposeQueueResult(map);
+    }
+
+    @ApiOperation(value = "禁用/启用运输订单")
+    @PostMapping("/banTransOrder")
+    @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"运输订单"})
+    public Map<String, Object> banTransOrder(@RequestBody Map<String, Object> map) {
+        return tmsFeign.banTransOrder(map);
+    }
+
+    @ApiOperation(value = "查询销售火运装货报表")
+    @PostMapping("/loadingOperation")
+    public Map<String, Object> loadingOperation(@RequestBody(required = false) Map<String, Object> map,
+                                                Integer apiId,
+                                                Integer pageNum,
+                                                Integer pageSize) {
+        return tmsFeign.loadingOperation(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "修改火运装车列序号")
+    @PostMapping("/updateTrainOrderSeq")
+    public Map<String, Object> updateTrainOrderSeq(@RequestBody Map<String, Object> map) {
+        return tmsFeign.updateTrainOrderSeq(map);
+    }
+
+    @ApiOperation(value = "查询销售火运装货报表明细")
+    @PostMapping("/purchaseTrainsOrderList")
+    public Map<String, Object> purchaseTrainsOrderList(@RequestBody(required = false) Map<String, Object> map,
+                                                       Integer apiId,
+                                                       Integer pageNum,
+                                                       Integer pageSize) {
+        return tmsFeign.purchaseTrainsOrderList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation("吊装信息")
+    @PostMapping("/disposeHandling")
+    public Map<String, Object> disposeHandling(@RequestBody Map<String, Object> map) {
+        return tmsFeign.disposeHandling(map);
+    }
+
+    @ApiOperation("同步报表数据")
+    @PostMapping("/getgenerateOperateDaily")
+    public Map<String,Object> generateOperateDaily(@RequestBody Map<String,Object> map) {
+        return tmsFeign.getgenerateOperateDaily(map);
+    }
+    @ApiOperation(value = "保存WMS传递的内转出库数据", notes = "保存WMS传递的内转出库数据")
+    @PostMapping(value = "/preserveMoveListIn")
+    public RESTfulResult preserveMoveListIn(@RequestBody Map<String, Object> mapList) {
+        return tmsFeign.preserveMoveListIn(mapList);
+    }
+
+    @ApiOperation(value = "保存WMS传递的内转入库数据", notes = "保存WMS传递的内转入库数据")
+    @PostMapping(value = "/preserveMoveListOut")
+    public RESTfulResult preserveMoveListOut(@RequestBody Map<String, Object> mapList) {
+        return tmsFeign.preserveMoveListOut(mapList);
+    }
+
+    @ApiOperation(value = "保存WMS传递的内转撤销入库数据", notes = "保存WMS传递的内转撤销入库数据")
+    @PostMapping(value = "/preserveMoveListRevokeOut")
+    public RESTfulResult preserveMoveListRevokeOut(@RequestBody Map<String, Object> mapList) {
+        return tmsFeign.preserveMoveListRevokeOut(mapList);
+    }
+
+    @ApiOperation(value = "保存WMS传递的内转撤销出库数据", notes = "保存WMS传递的内撤销转出库数据")
+    @PostMapping(value = "/preserveMoveListRevokeIn")
+    public RESTfulResult preserveMoveListRevokeIn(@RequestBody Map<String, Object> mapList) {
+        return tmsFeign.preserveMoveListRevokeIn(mapList);
+    }
+
+    @ApiOperation(value = "保存WMS传递的内转撤销出库数据", notes = "保存WMS传递的内撤销转出库数据")
+    @PostMapping(value = "/modifyChange")
+    public RESTfulResult modifyChange(@RequestBody Map<String, Object> params) {
+        return tmsFeign.modifyChange(params);
+    }
+
+
+    @ApiOperation(value = "纠错运输实绩")
+    @PostMapping("correctTransOrder")
+    public Map<String,Object> correctTransOrder(@RequestBody Map<String,Object> map) {
+        return tmsFeign.correctTransOrder(map);
+    }
+
+    @ApiOperation(value = "针对签到过期的计时单子重新赋权", notes = "针对签到过期的计时单子重新赋权")
+    @PostMapping(value = "/resartStartTimming")
+    public RESTfulResult resartStartTimming(@RequestBody Map<String, Object> params) {
+        return tmsFeign.resartStartTimming(params);
+    }
+
+    @ApiOperation(value = "查询派车规则", notes = "查询派车规则")
+    @PostMapping(value = "/getDispatchRules")
+    public RESTfulResult getDispatchRules(@RequestBody Map<String, Object> params) {
+        return success(tmsFeign.getDispatchRules(params));
+    }
+
+
+    @ApiOperation(value = "查询站台装卸实绩")
+    @PostMapping("/getZtZxShiji")
+    public Map<String, Object> getZtZxShiji(@RequestBody(required = false) Map<String, Object> map,
+                                                Integer apiId,
+                                                Integer pageNum,
+                                                Integer pageSize) {
+        return tmsFeign.getZtZxShiji(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "匹配装车与大车实绩")
+    @PostMapping("disposeMatchLoadData")
+    @LogAround(foreignKeys = {"transOrderId"}, foreignKeyTypes = {"装机数据同步"})
+    public Map<String,Object> disposeMatchLoadData(@RequestBody Map<String,Object> map) {
+        return tmsFeign.disposeMatchLoadData(map);
+    }
+
+    @ApiOperation(value = "同步发货单余量")
+    @PostMapping("syncRequirementNumber")
+    @LogAround(foreignKeys = {"transRequirementId"}, foreignKeyTypes = {"同步发货单余量"})
+    public Map<String,Object> syncRequirementNumber(@RequestBody Map<String,Object> map) {
+        return tmsFeign.syncRequirementNumber(map);
+    }
+
+
+}

+ 480 - 0
src/main/java/com/steerinfo/dil/controller/UniversalController.java

@@ -0,0 +1,480 @@
+package com.steerinfo.dil.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.alibaba.fastjson.TypeReference;
+import com.google.common.collect.Maps;
+import com.steerinfo.dil.config.ImageFileUtils;
+import com.steerinfo.dil.mapper.UniversalMapper;
+import com.steerinfo.dil.service.impl.UniversalServiceImpl;
+import com.steerinfo.dil.util.*;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageHelper;
+import io.swagger.annotations.*;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+import org.springframework.web.multipart.MultipartRequest;
+import org.springframework.web.multipart.commons.CommonsMultipartFile;
+
+
+import javax.imageio.ImageIO;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.crypto.Data;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.*;
+import java.math.BigDecimal;
+import java.net.URLEncoder;
+import java.text.SimpleDateFormat;
+import java.util.*;
+import java.util.List;
+
+import static com.steerinfo.dil.util.EasyExcelUitl.exportExcelFile;
+import static com.steerinfo.dil.util.HTTPRequestUtils.getJsonData;
+import static com.steerinfo.dil.util.HTTPRequestUtils.sendPost;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/10/19 18:06
+ * 通用接口
+ */
+@RequestMapping("${api.version}/uc")
+@RestController
+public class UniversalController extends BaseRESTfulController {
+
+    @Autowired
+    UniversalServiceImpl universalService;
+
+    @Autowired
+    UniversalMapper universalMapper;
+
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+
+    @Autowired
+    private ImageFileUtils imageFileUtils;
+
+
+    @ApiModelProperty(value = "边输边查物资大类")
+    @PostMapping("/getMaterialTypeByLike")
+    public RESTfulResult getMaterialTypeByLike(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getMaterialTypeByLike(map);
+        return success(list);
+    }
+
+    @ApiModelProperty(value = "边输边查物资")
+    @PostMapping("/getMaterialByLike")
+    public RESTfulResult getMaterialByLike(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getMaterialByLike(map);
+        return success(list);
+    }
+
+
+    @ApiModelProperty(value = "边输边查运力类型")
+    @PostMapping("/getCapacityTypeByLike")
+    public RESTfulResult getCapacityTypeByLike(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getCapacityTypeByLike(map);
+        //处理多ID
+        for (Map<String, Object> item : list) {
+            List<Object> fuelTypeIds = JSONObject.parseObject(item.get("fuelTypeIds").toString(), ArrayList.class);
+            item.put("fuelTypeIds", fuelTypeIds);
+        }
+        return success(list);
+    }
+
+    @ApiModelProperty(value = "边输边查公司单位")
+    @PostMapping("/getCompanyMesByLike")
+    public RESTfulResult getCompanyMesByLike(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getCompanyMesByLike(map);
+        return success(list);
+    }
+
+    @ApiModelProperty(value = "边输边查公司计划单位")
+    @PostMapping("/getCompanyMesByPlanLike")
+    public RESTfulResult getCompanyMesByPlanLike(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getCompanyMesByPlanLike(map);
+        return success(list);
+    }
+
+
+    @ApiModelProperty(value = "边输边查环保标准")
+    @PostMapping("/getEmissionStandardByLike")
+    public RESTfulResult getEmissionStandardByLike(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getEmissionStandardByLike(map);
+        return success(list);
+    }
+
+    @ApiModelProperty(value = "边输边查作业点")
+    @PostMapping("/getOperationPointByLike")
+    public RESTfulResult getOperationPointByLike(@RequestBody(required = false) Map<String, Object> map) {
+        //System.out.println(map.get("id"));
+        List<Map<String, Object>> list = universalMapper.getOperationPointByLike(map);
+        return success(list);
+    }
+
+    @ApiModelProperty(value = "边输边查作业点")
+    @PostMapping("/getOperationPointByLikeNoCode")
+    public RESTfulResult getOperationPointByLikeNoCode(@RequestBody(required = false) Map<String, Object> map) {
+        //System.out.println(map.get("id"));
+        List<Map<String, Object>> list = universalMapper.getOperationPointByLikeNoCode(map);
+        return success(list);
+    }
+
+    @ApiModelProperty(value = "边输边查人员")
+    @PostMapping("/getPersonnelByLike")
+    public RESTfulResult getPersonnelByLike(@RequestBody(required = false) Map<String, Object> map) {
+        if ("司机".equals(map.get("personnelPost"))) {
+            List<Map<String, Object>> list = universalMapper.getDriverByLike(map);
+            return success(list);
+        }
+        if ("指挥工".equals(map.get("personnelTest"))){
+            map.put("DiaoCar","11");
+            List<Map<String, Object>> list = universalMapper.getPersonnelByLike(map);
+            return success(list);
+        }
+        List<Map<String, Object>> list = universalMapper.getPersonnelByLike(map);
+        return success(list);
+    }
+
+    @ApiModelProperty(value = "边输边查车牌号")
+    @PostMapping("/getCapacityByLike")
+    public RESTfulResult getCapacityByLike(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getCapacityByLike(map);
+        return success(list);
+    }
+
+    @ApiModelProperty(value = "边输边查车牌号生产")
+    @PostMapping("/getCapacityByLikeSc")
+    public RESTfulResult getCapacityByLikeSc(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getCapacityByLikeSc(map);
+        return success(list);
+    }
+
+    @ApiModelProperty(value = "边输边查车牌号-内部")
+    @PostMapping("/getCapacityByLikeInner")
+    public RESTfulResult getCapacityByLikeInner(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getCapacityByLikeInner(map);
+        return success(list);
+    }
+
+    @ApiModelProperty(value = "边输边查快捷需求code")
+    @PostMapping("/getCategoryCodeByLike")
+    public RESTfulResult getCategoryCodeByLike(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getCategoryCodeByLike(map);
+        return success(list);
+    }
+
+    @ApiModelProperty(value = "边输岗位信息")
+    @PostMapping("/getJobInfosByLike")
+    public RESTfulResult getrmsrmsjobinfosBylike(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getrmsrmsjobinfosBylike(map);
+        return success(list);
+    }
+
+
+    @ApiModelProperty(value = "边输边查运输范围")
+    @PostMapping("/getTransRangeByLike")
+    public RESTfulResult getTransRange(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getTransRangeByLike(map);
+        return success(list);
+    }
+
+    @ApiModelProperty(value = "边输边查作业路径")
+    @PostMapping("/getLineByLike")
+    public RESTfulResult getLineByLike(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getLineByLike(map);
+        return success(list);
+    }
+
+    @ApiOperation("上传文件通用方法,返回成功后的url")
+    @PostMapping("/uploadFile")
+    public RESTfulResult uploadFile(MultipartRequest request) throws Exception {
+        //添加到files数组
+        List<MultipartFile> files = request.getFiles("file");
+        //没有上传
+        if (files.size() == 0) {
+            return success("", "没有上传任何文件!");
+        }
+        try {
+            //上传图片,拼接在一个url里
+            String url = "";
+            for (int i = 0; i < files.size(); i++) {
+                MultipartFile file = files.get(i);
+                url += imageFileUtils.updateFile(file, i + new Date().getTime()) + ';';
+            }
+            return success(url, "上传成功!");
+        } catch (Exception e) {
+            e.printStackTrace();
+            return failed(e.getMessage(), "上传失败!");
+        }
+    }
+
+    @ApiOperation("水印测试")
+    @PostMapping("/paintTest")
+    public RESTfulResult uploadFile(MultipartFile file, HttpServletResponse response) throws Exception {
+        File targetFile = DataChange.paintWater(file, "地点:xxxx省市县\n时间:" + new Date(), 50, -100);
+        Thread.sleep(10000);
+        targetFile.delete();
+        return success("上传成功");
+    }
+
+
+    @ApiOperation("表格查询显示和隐藏")
+    @PostMapping("/getColumnShowHidden")
+    public Map<String, Object> getColumnShowHidden(@RequestBody(required = false) Map<String, Object> map) {
+        Map<String, Object> responseMap = universalService.getColumnShowHidden(map);
+        return responseMap;
+    }
+
+    @ApiOperation("切换列的显示与隐藏")
+    @PostMapping("updateColumnShowHidden")
+    public RESTfulResult updateColumnShowHidden(@RequestBody Map<String, Object> map) {
+        return success(universalService.updateColumnShowHidden(map));
+    }
+
+    @ApiOperation("查询列的显示隐藏方案")
+    @PostMapping("getColumShowHideScheme")
+    public RESTfulResult getColumShowHideScheme(@RequestBody Map<String, Object> map) {
+        return success(universalService.getColumShowHideScheme(map));
+    }
+
+    @GetMapping("/getWlUrl")
+    public String getWlUrl() {
+        return universalMapper.getWlUrl();
+    }
+
+    @ApiModelProperty(value = "边输边查业务类型")
+    @PostMapping("/getBusinessTypeLike")
+    public RESTfulResult getBusinessTypeLike(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getBusinessTypeLike(map);
+        return success(list);
+    }
+
+    @ApiModelProperty(value = "边输边查燃料类型")
+    @PostMapping("/getFuelTypeByLike")
+    public RESTfulResult getFuelTypeByLike(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getFuelTypeByLike(map);
+        return success(list);
+    }
+
+    @ApiOperation(value = "查询是否有正在执行的运单")
+    @PostMapping("/getReceivedTransOrder")
+    public RESTfulResult getReceivedTransOrder(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> orderIds = universalMapper.getOrderIds(map);
+        return success(orderIds);
+    }
+
+    @ApiOperation(value = "需求快捷编码")
+    @PostMapping("/getDemandRulesCode")
+    public RESTfulResult getDemandRulesCode(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> demandRules = universalMapper.getDemandRulesCode(map);
+        return success(demandRules);
+    }
+
+    @ApiOperation("获取身份证内码,用于判断该车辆是否有")
+    @PostMapping("/getIdCardCode")
+    public RESTfulResult getIdCardCode(@RequestBody Map<String, Object> map) {
+        String idCardCode = universalMapper.getIdCardCode(map);
+        return success(idCardCode);
+    }
+
+    @ApiOperation("根据物料编码获取物料信息")
+    @PostMapping("/getMaterial")
+    public RESTfulResult getMaterial(@RequestBody Map<String, Object>
+                                             map, Integer apiId,
+                                     Integer pageNum,
+                                     Integer pageSize) {
+        PageHelper.startPage(pageNum, pageSize);
+        List<Map<String, Object>> material = universalMapper.getMaterial(map);
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, material);
+        return success(pageList);
+    }
+
+    @ApiOperation("根据车型获取剩余车辆")
+    @PostMapping("/getcountCar")
+    public RESTfulResult getcountCar(@RequestBody Map<String, Object> map) {
+        List<Map<String, Object>> material = universalMapper.getcountCar(map);
+        return success(material);
+    }
+
+    @ApiOperation("getShipContainer")
+    @PostMapping("/getShipContainer")
+    public RESTfulResult getShipContainer(@RequestBody Map<String, Object> map) {
+        List<Map<String, Object>> containerList = universalMapper.getContainerList(map);
+        return success(containerList);
+    }
+
+    @ApiOperation("获取通知单号")
+    @PostMapping("/getRequirementNo")
+    public RESTfulResult getRequirementNo(@RequestBody Map<String, Object> map) {
+        Map<String, Object> requireMap = new HashMap<>();
+        BigDecimal requirementId = universalMapper.transRequirementId();
+        if (map.get("businessFlag").toString().equals("XS")) {
+            //获取当天最大的作业记录号
+            String serialNumber = universalMapper.getMaxSerialNumber();
+            requireMap.put("requirementId", requirementId);
+            requireMap.put("requirementNo", serialNumber);
+        } else {
+            String requirementNo = DataChange.generateEightDigitsNumber(map.get("businessFlag").toString(), requirementId.intValue());
+            requireMap.put("requirementId", requirementId);
+            requireMap.put("requirementNo", requirementNo);
+        }
+        return success(requireMap);
+    }
+
+
+    @ApiOperation("通知单边输边查")
+    @PostMapping("/getRequirementByLike")
+    public RESTfulResult getRequirementByLike(@RequestBody Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getRequirementByLike(map);
+        return success(list);
+    }
+
+    @ApiOperation("查询APP版本更新")
+    @PostMapping("/getAppVersion")
+    public RESTfulResult getAppVersion() {
+        Map<String, Object> config = universalMapper.getConfigByName("APP最新版本");
+        return success(config.get("valueString"));
+    }
+
+    @ApiOperation("查询运单中最近的司机排班")
+    @PostMapping("/getCapacityDriver")
+    public RESTfulResult getCapacityDriver(@RequestBody Map<String, Object> map) {
+        return success(universalMapper.getCapacityDriver(map));
+    }
+
+
+    @ApiOperation("查询运单中所有的司机排班")
+    @PostMapping("/getCapacityDriverSelect")
+    public RESTfulResult getCapacityDriverSelect(@RequestBody Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getCapacityDriverSelect(map);
+        List<Map<String, Object>> result = new ArrayList<>();
+        Set<String> set = new HashSet<>();
+        //对list去重
+        for (Map<String, Object> item : list) {
+            //只保留5条
+            if (result.size() >= 5) {
+                break;
+            }
+            //去重
+            String key = item.get("capacityId") + "-" + item.get("driverId");
+            if (set.contains(key)) {
+                continue;
+            } else {
+                set.add(key);
+                result.add(item);
+            }
+        }
+        return success(result);
+    }
+
+    @ApiOperation("获取车辆信息")
+    @PostMapping("/getCapacityInfo")
+    public RESTfulResult getCapacityInfo(@RequestBody Map<String, Object> map) {
+        return success(universalMapper.getCapacityInfo(map));
+    }
+
+    @ApiOperation("获取司机信息")
+    @PostMapping("/getDriverInfo")
+    public RESTfulResult getDriverInfo(@RequestBody Map<String, Object> map) {
+        return success(universalMapper.getDriverInfo(map));
+    }
+
+    @ApiOperation("需求边输边查")
+    @PostMapping("/getRequireByLike")
+    public RESTfulResult getRequireByLike(@RequestBody Map<String, Object> map) {
+        return success(universalMapper.getRequireByLike(map));
+    }
+
+
+    @ApiOperation("通用导出")
+    @PostMapping("/excleExport")
+    public RESTfulResult excleExport(@RequestBody Map<String, Object> map, HttpServletRequest httpServletRequest) throws IOException {
+        JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(map));
+        jsonObject.putAll(JSONObject.parseObject(JSONObject.toJSONString(map.get("requestQuery"))));
+        String url = "http://172.16.90.202:80" + map.get("requestUrl").toString() + "&pageNum=1&pageSize=10000";
+        JSONObject json = HttpUtil.sendPost(url, jsonObject, httpServletRequest.getHeader("cookie"));
+        Map<String, Object> data = (Map<String, Object>) json.get("data");
+        List<Map<String, Object>> listMap = (List<Map<String, Object>>) data.get("list");
+        List<Map<String, Object>> columnData = (List<Map<String, Object>>) data.get("columnData");
+        LinkedHashMap<String, String> columnMaps = Maps.newLinkedHashMap();
+        for (int i = 0; i < columnData.size(); i++) {
+            columnMaps.put(columnData.get(i).get("prop").toString(), columnData.get(i).get("label").toString());
+        }
+        byte[] stream1 = exportExcelFile(columnMaps, listMap);
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
+        String path = "/data/file/exportExcel/" + simpleDateFormat.format(new Date()) + "/";
+        File datFile = new File(path);
+        if (!datFile.exists()) {
+            datFile.mkdirs();
+        }
+        String name = map.get("userName") + "-" + map.get("exclename").toString() + Util.RandomCreate(8) + ".xlsx";
+        FileOutputStream outputStream1 = new FileOutputStream(new File(path + name));
+        outputStream1.write(stream1);
+        outputStream1.flush();
+        outputStream1.close();
+        Map<String, Object> response = new HashMap<>();
+        response.put("fileName", name);
+        response.put("filePath", path + name);
+        return success(response);
+    }
+
+    @ApiModelProperty(value = "边输边查公司单位审批流程使用")
+    @PostMapping("/getCompanyMesByLike2")
+    public RESTfulResult getCompanyMesByLike2(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getCompanyMesByLike2(map);
+        return success(list);
+    }
+
+    @ApiOperation(value = "获取排队网格")
+    @PostMapping("/getQueueGridList")
+    public RESTfulResult getQueueGridList(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getQueueGridList(map);
+        return success(list);
+    }
+
+    @PostMapping("/getTransOrderByJobNumber")
+    @ApiOperation("根据手机号查询运单")
+    public RESTfulResult getTransOrderByJobNumber(@RequestBody Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getTransOrderByJobNumber(map);
+        return success(list);
+    }
+
+    @ApiModelProperty(value = "边输边查库存名称及信息")
+    @PostMapping("/getInventoryByLike")
+    public RESTfulResult getInventoryByLike(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getInventoryByLike(map);
+        return success(list);
+    }
+
+
+    @ApiModelProperty(value = "根据运单号查询运单信息")
+    @PostMapping("/getTransOrderInFoByNo")
+    public RESTfulResult getTransOrderInFoByNo(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.getTransOrderInFoByNo(map);
+        return success(list);
+    }
+
+    @ApiModelProperty(value = "查询钢坯内转合同号")
+    @PostMapping("/selectGpTzd")
+    public RESTfulResult selectGpTzd(@RequestBody(required = false) Map<String, Object> map) {
+        List<Map<String, Object>> list = universalMapper.selectGpTzd(map);
+        return success(list);
+    }
+
+    @ApiOperation(value = "查询宏瑞车辆状态")
+    @PostMapping("getInnerCapacityStatus")
+    public RESTfulResult getInnerCapacityStatus(@RequestBody(required = false) Map<String,Object> map) {
+        List<Map<String, Object>> list = universalMapper.getInnerCapacityStatus(map);
+        return success(list);
+    }
+
+
+}

+ 388 - 0
src/main/java/com/steerinfo/dil/controller/WMSController.java

@@ -0,0 +1,388 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.annotaion.LogAround;
+import com.steerinfo.dil.feign.ATWmsFeign;
+import com.steerinfo.dil.feign.WMSFeign;
+import com.steerinfo.dil.model.WmsSlmDlivDir;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import com.steerinfo.dil.util.ColumnDataUtil;
+import com.steerinfo.dil.util.PageListAdd;
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author luobang
+ * @create 2021-09-17 14:09
+ */
+@RestController
+@RequestMapping("${api.version}/wms")
+public class WMSController extends BaseRESTfulController {
+
+    @Autowired
+    WMSFeign wmsFeign;
+
+    @Autowired
+    ATWmsFeign atWmsFeign;
+
+    @Autowired
+    ColumnDataUtil columnDataUtil;
+
+    @ApiOperation(value = "查询", notes = "分页查询销售订单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "params", value = "查询条件", required = false, dataType = "HashMap"),
+            @ApiImplicitParam(name = "apiId", value = "表单ID", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
+    })
+    @PostMapping(value = "/selectSaleOrderPage")
+    public Map<String, Object> selectSaleOrderPage(@RequestBody(required = false) HashMap parmas,
+                                                   Integer apiId,
+                                                   Integer pageNum,
+                                                   Integer pageSize) {
+        return wmsFeign.selectSaleOrderPage(parmas == null ? new HashMap<>() : parmas, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增销售订单")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = false, dataType = "Map<String, Object>")
+    @PostMapping("/add")
+    public RESTfulResult addet(@RequestBody(required = false) HashMap params) {
+        return wmsFeign.addet(params);
+    }
+
+    @ApiOperation(value = "查询", notes = "分页查询发货单")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "params", value = "查询条件", required = false, dataType = "HashMap"),
+            @ApiImplicitParam(name = "apiId", value = "表单ID", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "查询页数", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "每页记录数", required = false, dataType = "Integer")
+    })
+    @PostMapping(value = "/selectDlivDirNo")
+    public Map<String, Object> selectDlivDirNo(@RequestBody(required = false) HashMap parmas,
+                                               Integer apiId,
+                                               Integer pageNum,
+                                               Integer pageSize) {
+        return wmsFeign.selectDlivDirNo(parmas == null ? new HashMap<>() : parmas, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "修改发货单状态", notes = "修改发货单状态")
+    @ApiImplicitParam(name = "params", value = "修改内容", required = false, dataType = "ArrayList<HashMap<String, Object>>")
+    @PostMapping(value = "/updateOrder")
+    public RESTfulResult udpateOrder(@RequestBody(required = false) HashMap<String, Object> parmas) {
+        return wmsFeign.udpateOrder(parmas);
+    }
+
+    @ApiOperation(value = "查询发货单第几次退库", notes = "查询发货单第几次退库")
+    @ApiImplicitParam(name = "dlivDirno", value = "查询内容", required = false, dataType = "String")
+    @GetMapping(value = "/getcut/{dlivDirno}")
+    public RESTfulResult getcut(@PathVariable String dlivDirno) {
+        return wmsFeign.getcut(dlivDirno);
+    }
+
+    @ApiOperation(value = "退货", notes = "根据填写的数据将发货单进行退货")
+    @ApiImplicitParam(name = "params", value = "查询内容", required = false, dataType = "HashMap<String, Object>")
+    @PostMapping(value = "/returnGoods")
+    public RESTfulResult returnGoods(@RequestBody(required = false) HashMap<String, Object> params) {
+        return wmsFeign.returnGoods(params);
+    }
+
+    @ApiOperation(value = "撤销退货", notes = "根据发货单号将发货单的退货记录清除")
+    @ApiImplicitParam(name = "id", value = "查询内容", required = false, dataType = "String")
+    @PostMapping(value = "revokeReturnGoods/{id}")
+    public RESTfulResult revokeReturnGoods(@PathVariable("id") String id) {
+        return wmsFeign.revokeReturnGoods(id);
+    }
+
+    @ApiOperation(value = "删除发货单", notes = "根据发货单号将发货单删除")
+    @ApiImplicitParam(name = "id", value = "查询内容", required = false, dataType = "String")
+    @PostMapping(value = "deleteDlivDirno/{id}")
+    public RESTfulResult deleteDlivDirno(@PathVariable("id") String id) {
+        return wmsFeign.deleteDlivDirno(id);
+    }
+
+    @ApiOperation(value = "修改发货单信息", notes = "根据填写的数据将发货单进行修改")
+    @ApiImplicitParam(name = "params", value = "查询内容", required = false, dataType = "HashMap<String, Object>")
+    @PostMapping(value = "/editButton")
+    public RESTfulResult editButton(@RequestBody(required = false) HashMap<String, Object> params) {
+        return wmsFeign.editButton(params);
+    }
+
+    //实时库存
+    @ApiOperation(value = "实时库存")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/wmsgridmaterialsList")
+    public Map<String, Object> getAmsSalaryContracList(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                                       Integer pageNum,
+                                                       Integer pageSize) {
+        return wmsFeign.list(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "新增实时库存")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"gridMaterialId"}, foreignKeyTypes = {"实时库存"})
+    @PostMapping("/wmsgridmaterialsinsert")
+    public Map<String, Object> insertAmsSalaryContrac(@RequestBody(required = false) Map<String, Object> map) throws ParseException {
+        map.put("insertUsername", map.get("userName").toString());
+        return wmsFeign.insert(map);
+    }
+
+    @ApiOperation(value = "修改实时库存")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PutMapping(value = "/wmsgridmaterialsUpdate/{id}")
+    @LogAround(foreignKeys = {"gridMaterialId"}, foreignKeyTypes = {"实时库存"})
+    public Map<String, Object> updateAmsSalaryContrac(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map) {
+        map.put("updateUsername", map.get("userName").toString());
+        return wmsFeign.update(id, map);
+    }
+
+    @ApiOperation(value = "实时库存逻辑删除")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @PutMapping(value = "/wmsgridmaterialsDelete")
+    @LogAround(foreignKeys = {"gridMaterialId"}, foreignKeyTypes = {"实时库存"})
+    public Map<String, Object> logicdeleteAmsSaalryContrac(@RequestBody(required = false) Map<String, Object> map) {
+        return wmsFeign.delete(map);
+    }
+
+    @ApiOperation(value = "查询实时库存")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getGridMaterialList")
+    public Map<String, Object> getGridMaterialList(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                                   Integer pageNum,
+                                                   Integer pageSize) {
+        return wmsFeign.getGridMaterialList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @PostMapping(value = "/getMaterialInventoryList")
+    public Map<String, Object> getMaterialInventoryList(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                                   Integer pageNum,
+                                                   Integer pageSize) {
+        return wmsFeign.getMaterialInventoryList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @PostMapping(value = "/getGridMaterialInfo")
+    public Map<String, Object> getGridMaterialInfo(@RequestBody(required = false) Map<String, Object> map) {
+        return wmsFeign.getGridMaterialInfo(map == null ? new HashMap<>() : map);
+    }
+
+
+    @ApiOperation(value = "修改库存")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"gridMaterialId"}, foreignKeyTypes = {"入库实绩"})
+    @PostMapping("/updateGridMaterial")
+    public Map<String, Object> updateGridMaterial(@RequestBody(required = false) Map<String, Object> map) {
+        return wmsFeign.updateGridMaterial(map);
+    }
+
+    @ApiOperation(value = "查询")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getGridMaterialDailyReport")
+    public Map<String, Object> getGridMaterialDailyReport(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                                          Integer pageNum,
+                                                          Integer pageSize) {
+        return wmsFeign.getGridMaterialDailyReport(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+
+    @ApiOperation(value = "查询入库实绩")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getInboundList")
+    public Map<String, Object> getInboundList(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                              Integer pageNum,
+                                              Integer pageSize) {
+        return wmsFeign.getInboundList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "入库")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"inboundResultId"}, foreignKeyTypes = {"入库实绩"})
+    @PostMapping("/inbound")
+    public Map<String, Object> inbound(@RequestBody(required = false) Map<String, Object> map) {
+        return wmsFeign.inbound(map);
+    }
+
+    @ApiOperation(value = "修改入库")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"inboundResultId"}, foreignKeyTypes = {"入库实绩"})
+    @PostMapping("/updateInbound")
+    public Map<String, Object> updateInbound(@RequestBody(required = false) Map<String, Object> map) {
+        return wmsFeign.updateInbound(map);
+    }
+
+    @ApiOperation(value = "查询出库实绩")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "map", value = "参数", required = false, dataType = "map"),
+            @ApiImplicitParam(name = "apiId()", value = "动态表头", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageNum", value = "页码", required = false, dataType = "Integer"),
+            @ApiImplicitParam(name = "pageSize", value = "页", required = false, dataType = "Integer"),
+    })
+    @PostMapping(value = "/getOutboundList")
+    public Map<String, Object> getOutboundList(@RequestBody(required = false) Map<String, Object> map, Integer apiId,
+                                               Integer pageNum,
+                                               Integer pageSize) {
+        return wmsFeign.getOutboundList(map == null ? new HashMap<>() : map, apiId, pageNum, pageSize);
+    }
+
+    @ApiOperation(value = "出库")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"outboundResultId"}, foreignKeyTypes = {"出库实绩"})
+    @PostMapping("/outbound")
+    public Map<String, Object> outbound(@RequestBody(required = false) Map<String, Object> map) {
+        return wmsFeign.outbound(map);
+    }
+
+    @ApiOperation(value = "修改出库")
+    @ApiImplicitParam(name = "map", value = "JSON格式数据", required = true, dataType = "Map<String, Object>")
+    @LogAround(foreignKeys = {"outboundResultId"}, foreignKeyTypes = {"出库实绩"})
+    @PostMapping("/updateOutbound")
+    public Map<String, Object> updateOutbound(@RequestBody(required = false) Map<String, Object> map) {
+        return wmsFeign.updateOutbound(map);
+    }
+
+    @PostMapping("/selectkcmx")
+    public RESTfulResult selectkcmx(@RequestBody HashMap map,
+                                    Integer apiId,
+                                    Integer pageNum,
+                                    Integer pageSize) {
+
+        if (map.get("createTime") != null) {
+            ArrayList arrayList = (ArrayList) map.get("createTime");
+            map.put("starttime", arrayList.get(0).toString());
+            map.put("endtime", arrayList.get(1).toString());
+        }
+
+        if (map.get("inDt") != null) {
+            ArrayList arrayList = (ArrayList) map.get("inDt");
+            map.put("indtstart", arrayList.get(0).toString());
+            map.put("indtend", arrayList.get(1).toString());
+        }
+        RESTfulResult selectkcmx = atWmsFeign.wuliuSelectkcmx(map, pageNum, pageSize);
+        Map<String, Object> data = (Map<String, Object>) selectkcmx.getData();
+        List<Map<String, Object>> list = (List<Map<String, Object>>) data.get("list");
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, list);
+        pageList.setTotal((int) data.get("total"));
+        return success(pageList);
+    }
+
+    @PostMapping("/selectbybatchno")
+    public RESTfulResult selectbybatchno(@RequestBody HashMap map,
+                                         Integer apiId,
+                                         Integer pageNum,
+                                         Integer pageSize) {
+
+        if (map.get("createTime") != null) {
+            ArrayList arrayList = (ArrayList) map.get("createTime");
+            map.put("starttime", arrayList.get(0).toString());
+            map.put("endtime", arrayList.get(1).toString());
+        }
+
+        if (map.get("inDt") != null) {
+            ArrayList arrayList = (ArrayList) map.get("inDt");
+            map.put("indtstart", arrayList.get(0).toString());
+            map.put("indtend", arrayList.get(1).toString());
+        }
+
+        RESTfulResult selectkcmx = atWmsFeign.wuliuSelectbybatchno(map, pageNum, pageSize);
+        Map<String, Object> data = (Map<String, Object>) selectkcmx.getData();
+        List<Map<String, Object>> list = (List<Map<String, Object>>) data.get("list");
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, list);
+        pageList.setTotal((int) data.get("total"));
+        return success(pageList);
+    }
+
+    @PostMapping("/selectbyprod")
+    public RESTfulResult selectbyprod(@RequestBody HashMap map,
+                                      Integer apiId,
+                                      Integer pageNum,
+                                      Integer pageSize) {
+
+        if (map.get("createTime") != null) {
+            ArrayList arrayList = (ArrayList) map.get("createTime");
+            map.put("starttime", arrayList.get(0).toString());
+            map.put("endtime", arrayList.get(1).toString());
+        }
+
+        if (map.get("inDt") != null) {
+            ArrayList arrayList = (ArrayList) map.get("inDt");
+            map.put("indtstart", arrayList.get(0).toString());
+            map.put("indtend", arrayList.get(1).toString());
+        }
+
+        RESTfulResult selectkcmx = atWmsFeign.wuliuSelectbyprod(map, pageNum, pageSize);
+        Map<String, Object> data = (Map<String, Object>) selectkcmx.getData();
+        List<Map<String, Object>> list = (List<Map<String, Object>>) data.get("list");
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, list);
+        pageList.setTotal((int) data.get("total"));
+        return success(pageList);
+    }
+
+    @PostMapping("/selectbybuttress")
+    public RESTfulResult selectbybuttress(@RequestBody HashMap map,
+                                          Integer apiId,
+                                          Integer pageNum,
+                                          Integer pageSize) {
+
+        if (map.get("createTime") != null) {
+            ArrayList arrayList = (ArrayList) map.get("createTime");
+            map.put("starttime", arrayList.get(0).toString());
+            map.put("endtime", arrayList.get(1).toString());
+        }
+
+        if (map.get("inDt") != null) {
+            ArrayList arrayList = (ArrayList) map.get("inDt");
+            map.put("indtstart", arrayList.get(0).toString());
+            map.put("indtend", arrayList.get(1).toString());
+        }
+
+        RESTfulResult selectkcmx = atWmsFeign.wuliuSelectbybuttress(map, pageNum, pageSize);
+        Map<String, Object> data = (Map<String, Object>) selectkcmx.getData();
+        List<Map<String, Object>> list = (List<Map<String, Object>>) data.get("list");
+        PageListAdd pageList = columnDataUtil.tableColumnData(apiId, list);
+        pageList.setTotal((int) data.get("total"));
+        return success(pageList);
+    }
+
+    @ApiOperation(value = "增加装车记录", notes = "根据List<Map>信息来增加装车记录")
+    public String addList(@RequestBody List<Map<String, Object>> ListMap) {
+        return wmsFeign.addList(ListMap);
+    }
+
+    @ApiOperation(value = "删除装车记录", notes = "根据派车单号信息来删除装车记录")
+    @PutMapping(value = "/deleteSlmDlivDirListByDlivDirnoSeq")
+    public String deleteSlmDlivDirListByDlivDirnoSeq(@RequestParam String dlivDirnoSeq) {
+        return wmsFeign.deleteSlmDlivDirListByDlivDirnoSeq(dlivDirnoSeq);
+    }
+}
+

+ 60 - 0
src/main/java/com/steerinfo/dil/controller/WebSocketController.java

@@ -0,0 +1,60 @@
+package com.steerinfo.dil.controller;
+
+import com.steerinfo.dil.feign.WebSocketFeign;
+import com.steerinfo.framework.controller.RESTfulResult;
+import com.steerinfo.framework.service.pagehelper.PageList;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ClassName WebSocketController
+ * @Description TODO
+ * @date 2024-02-27 10:22
+ * @Version 1.0
+ */
+@RequestMapping("${api.version}/websocket")
+@RestController
+public class WebSocketController {
+    @Autowired
+    WebSocketFeign webSocketFeign;
+
+    @PostMapping("/readWebsocket/{id}")
+    public RESTfulResult readWebsocket(@PathVariable("id") String sendId) {
+        return webSocketFeign.readWebsocket(sendId);
+    }
+
+    @PostMapping("/readingWebsockets")
+    public RESTfulResult readingWebsockets(@RequestBody HashMap<String, Object> map) {
+        return webSocketFeign.readingWebsockets((List<HashMap<String, Object>>) map.get("list"));
+    }
+
+    @PostMapping("/sendWebsocket/{id}")
+    public RESTfulResult sendWebsocket(@PathVariable("id") String webSocketId, @RequestBody HashMap<String, Object> map, HttpServletRequest request) {
+        return webSocketFeign.sendWebsocket(webSocketId, map);
+    }
+
+    @GetMapping(value = "/")
+    public RESTfulResult list(@RequestParam HashMap parmas, Integer pageNum, Integer pageSize) {
+        return webSocketFeign.list(parmas, pageNum, pageSize);
+    }
+
+    @GetMapping("/getMessageCount/{id}")
+    public RESTfulResult getMessageCount(@PathVariable String id, @RequestParam() String readFlag) {
+        return webSocketFeign.getMessageCount(id, readFlag);
+    }
+
+    @GetMapping("/getBaseWebsocketPush")
+    public RESTfulResult getBaseWebsocketPush(@RequestParam HashMap parmas, Integer pageNum, Integer pageSize) {
+        return webSocketFeign.basewebsocketpushsList(parmas, pageNum, pageSize);
+    }
+
+    @GetMapping(value = "/getUserByOrgCode/{orgCode}")//String
+    public RESTfulResult getUserByOrgCode(@PathVariable("orgCode") String orgCode) {
+        return webSocketFeign.getUserByOrgCode(orgCode);
+    }
+}

+ 19 - 0
src/main/java/com/steerinfo/dil/controller/systemOaController.java

@@ -0,0 +1,19 @@
+package com.steerinfo.dil.controller;
+
+
+import com.baomidou.mybatisplus.extension.api.R;
+import com.steerinfo.dil.util.BaseRESTfulController;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.steerinfo.dil.util.HTTPRequestUtils;
+
+import java.io.IOException;
+
+
+@RestController
+@RequestMapping("/${api.version}/systemOaController")
+public class systemOaController extends BaseRESTfulController {
+
+
+}

+ 33 - 0
src/main/java/com/steerinfo/dil/feign/ATWmsFeign.java

@@ -0,0 +1,33 @@
+package com.steerinfo.dil.feign;
+
+import com.steerinfo.framework.controller.RESTfulResult;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.HashMap;
+
+@FeignClient(value = "antwms-service", url = "http://192.168.0.244:8002/")  //http://192.168.0.244:8002/
+public interface ATWmsFeign {
+
+    /**
+     * 库存查询
+     *
+     * @param parmas
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    @GetMapping(value = "antai.maketx/v1/wmsproductdetails/wuliuSelectkcmx")
+    RESTfulResult wuliuSelectkcmx(@RequestBody HashMap parmas, @RequestParam Integer pageNum, @RequestParam Integer pageSize);
+
+    @GetMapping(value = "antai.maketx/v1/wmsproductdetails/wuliuSelectbybatchno")
+    RESTfulResult wuliuSelectbybatchno(@RequestBody HashMap parmas, @RequestParam Integer pageNum, @RequestParam Integer pageSize);
+
+    @GetMapping(value = "antai.maketx/v1/wmsproductdetails/wuliuSelectbyprod")
+    RESTfulResult wuliuSelectbyprod(@RequestBody HashMap parmas, @RequestParam Integer pageNum, @RequestParam Integer pageSize);
+
+    @GetMapping(value = "antai.maketx/v1/wmsproductdetails/wuliuSelectbybuttress")
+    RESTfulResult wuliuSelectbybuttress(@RequestBody HashMap parmas, @RequestParam Integer pageNum, @RequestParam Integer pageSize);
+}

+ 405 - 0
src/main/java/com/steerinfo/dil/feign/AmsFeign.java

@@ -0,0 +1,405 @@
+package com.steerinfo.dil.feign;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.steerinfo.dil.config.MyFeignRequestInterceptor;
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import oracle.jdbc.proxy.annotation.Post;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.format.annotation.DateTimeFormat;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+@FeignClient(value = "ANTAI-AMS-API", url = "${openfeign.AmsFeign.url}", configuration = MyFeignRequestInterceptor.class)
+public interface AmsFeign {
+
+    @PostMapping(value = "api/v1/ams/amsorders/purchaseOrderSync")
+    Map<String, Object> purchaseOrderSync(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amsorders/purchaseOrderAdd")
+    Map<String, Object> purchaseOrderAdd(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amsorders/purchaseOrderUpdate")
+    Map<String, Object> purchaseOrderUpdate(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amsorders/purchaseOrderDelete")
+    Map<String, Object> purchaseOrderDelete(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/ams/amsorders/getPurchaseOrderList")
+    Map<String, Object> getPurchaseOrderList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize
+    );
+
+    //===================>需求
+    @PostMapping(value = "api/v1/ams/amstransrequirements/purchaseRequirementAdd")
+    Map<String, Object> purchaseRequirementAdd(Map<String, Object> map);
+
+
+    @PostMapping(value = "api/v1/ams/amsorders/productionOrderSync")
+    Map<String, Object> productionOrderSync(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/productionRequirementAdd")
+    Map<String, Object> productionRequirementAdd(Map<String, Object> map);
+
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/getproductionRequirementList")
+    Map<String, Object> getproductionRequirementList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                     @RequestParam Integer apiId,
+                                                     @RequestParam Integer pageNum,
+                                                     @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/getProductionRequirementListDz")
+    Map<String, Object> getProductionRequirementListDz(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                       @RequestParam Integer apiId,
+                                                       @RequestParam Integer pageNum,
+                                                       @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/updateEnvironmentStatus")
+    Map<String, Object> updateEnvironmentStatus(@RequestBody(required = false) Map<String, Object> mapValue);
+
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/transProductRequirementFromDz")
+    Map<String, Object> transProductRequirementFromDz(@RequestBody(required = false) Map<String, Object> mapValue);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/productionStatusUpdate")
+    Map<String, Object> productionStatusUpdate(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/productionRequirementBatchUpdate")
+    Map<String, Object> productionRequirementBatchUpdate(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/productionRequirementChange")
+    Map<String, Object> productionRequirementChange(Map<String, Object> map);
+
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/productionRequirementChangeList")
+    Map<String, Object> productionRequirementChangeList(@RequestBody Map<String, Object> map);
+
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/purchaseRequirementUpdate")
+    Map<String, Object> purchaseRequirementUpdate(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/purchaseRequirementReturn")
+    Map<String, Object> purchaseRequirementReturn(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/purchaseRequirementChange")
+    Map<String, Object> purchaseRequirementChange(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/getPurchaseRequirementList")
+    Map<String, Object> getPurchaseRequirementList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                   @RequestParam Integer apiId,
+                                                   @RequestParam Integer pageNum,
+                                                   @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/ams/amstransplans/getPurchasePlanList")
+    Map<String, Object> getPurchasePlanList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                            @RequestParam Integer apiId,
+                                            @RequestParam Integer pageNum,
+                                            @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/ams/amstransplans/purchasePlanAdd")
+    Map<String, Object> purchasePlanAdd(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransplans/purchasePlanUpdate")
+    Map<String, Object> purchasePlanUpdate(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransplans/purchaseTrainPlanAdd")
+    Map<String, Object> purchaseTrainPlanAdd(Map<String, Map<String, Object>> map);
+
+    @PostMapping(value = "api/v1/ams/amstransplans/purchasePlanChange")
+    Map<String, Object> purchasePlanChange(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransplans/purchaseTrainPlanDelete")
+    Map<String, Object> purchaseTrainPlanDelete(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransplans/purchaseTrainPlanBatchDel")
+    Map<String, Object> purchaseTrainPlanBatchDel(Map<String, Object> map);
+
+    @PostMapping("api/v1/ams/amsorders/saleOrderSync")
+    Map<String, Object> saleOrderSync(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/ams/amstransprices/getAmsTransPriceList")
+    Map<String, Object> list(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                             @RequestParam Integer pageNum,
+                             @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/ams/amstransprices/addAmsTransPrice")
+    Map<String, Object> addAmsTransPrice(@RequestBody(required = false) Map<String, Object> map);
+
+    @PutMapping("api/v1/ams/amstransprices/{id}")
+    Map<String, Object> update(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map);
+
+    @PutMapping("api/v1/ams/amstransprices/logicdelete")
+    Map<String, Object> logicdelete(@RequestBody(required = false) Map<String, Object> map);
+
+
+    @PostMapping("api/v1/ams/amssalecontracts/saleContractSync")
+    Map<String, Object> saleContractSync(@RequestBody(required = false) HashMap<String, Object> map);
+
+    @PostMapping("api/v1/ams/amssalecontracts/selectSaleContractPage")
+    Map<String, Object> selectSaleContractPage(@RequestBody(required = false) Map<String, Object> mapValue,
+                                               @RequestParam Integer apiId,
+                                               @RequestParam Integer pageNum,
+                                               @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/ams/amsorders/selectSaleOrderPage")
+    Map<String, Object> selectSaleOrderPage(@RequestBody(required = false) Map<String, Object> mapValue,
+                                            @RequestParam Integer apiId,
+                                            @RequestParam Integer pageNum,
+                                            @RequestParam Integer pageSize);
+
+    // 工资合同
+    @PostMapping("api/v1/ams/amssalarycontracts/getSalaryContrac")
+    Map<String, Object> getAmsSalaryContracList(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                                @RequestParam Integer pageNum,
+                                                @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/ams/amssalarycontracts/insert")
+    Map<String, Object> insertAmsSalaryContrac(@RequestBody(required = false) Map<String, Object> map);
+
+    @PutMapping("api/v1/ams/amssalarycontracts/{id}")
+    Map<String, Object> updateAmsSalaryContrac(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map);
+
+    @PutMapping("api/v1/ams/amssalarycontracts/logicdelete")
+    Map<String, Object> logicdeleteAmsSaalryContrac(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/saleAdd")
+    Map<String, Object> saleAdd(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/readExcel", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+    RESTfulResult readExcel(MultipartFile file, @RequestParam("userCode") String userCode);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/selectDlivDirNo")
+    Map<String, Object> selectDlivDirNo(@RequestBody(required = false) HashMap<String, Object> map,
+                                        @RequestParam Integer apiId,
+                                        @RequestParam Integer pageNum,
+                                        @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/ams/amsrequirementchilds/udpateOrder")
+    RESTfulResult udpateOrder(@RequestBody(required = false) HashMap<String, Object> params);
+
+    @PostMapping(value = "api/v1/ams/amsrequirementchilds/returnGoods")
+    RESTfulResult returnGoods(@RequestBody(required = false) HashMap<String, Object> params);
+
+    @PostMapping(value = "api/v1/ams/amsrequirementchilds/revokeReturnGoods")
+    RESTfulResult revokeReturnGoods(@RequestBody Map<String, Object> params);
+
+    @GetMapping(value = "api/v1/ams/amsrequirementchilds/getcut/{dlivDirno}")
+    RESTfulResult getcut(@PathVariable String dlivDirno);
+
+    @PostMapping(value = "api/v1/ams/amsrequirementchilds/editButton")
+    RESTfulResult editButton(@RequestBody(required = false) HashMap<String, Object> params);
+
+    @PostMapping(value = "api/v1/ams/amsrequirementchilds/deleteDlivDirno")
+    RESTfulResult deleteDlivDirno(@RequestBody(required = false) Map<String, Object> params);
+
+    @PostMapping(value = "api/v1/ams/amstransplans/productionPlanAdd")
+    Map<String, Object> productionPlanAdd(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransplans/productionPlanAddList")
+    Map<String, Object> productionPlanAddList(@RequestBody Map<String, Object> map);
+
+
+    @PostMapping("api/v1/ams/amstransplans/getproductionPlanList")
+    Map<String, Object> getproductionPlanList(@RequestBody(required = false) Map<String, Object> map,
+                                              @RequestParam Integer apiId,
+                                              @RequestParam Integer pageNum,
+                                              @RequestParam Integer pageSize
+    );
+
+    @PostMapping(value = "api/v1/ams/amstransplans/productionPlanChange")
+    Map<String, Object> productionPlanChange(@RequestBody(required = false) Map<String, Object> map);
+
+    @PutMapping(value = "api/v1/ams/amstransplans/logicdelete")
+    Map<String, Object> productionPlanlogicdelete(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/getProductiveRequirementDelete")
+    Map<String, Object> getProductiveRequirementDelete(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransplans/salePlanAdd")
+    Map<String, Object> salePlanAdd(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransplans/salePlanUpdate")
+    Map<String, Object> salePlanUpdate(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransplans/salePlanDelete")
+    Map<String, Object> salePlanDelete(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransplans/getSalePlanList")
+    Map<String, Object> getSalePlanList(@RequestBody(required = false) Map<String, Object> map,
+                                        @RequestParam Integer apiId,
+                                        @RequestParam Integer pageNum,
+                                        @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/bindSale")
+    RESTfulResult bindSale(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amsplanchilds/getMaterial")
+    RESTfulResult getMaterial(@RequestParam String prodCode,
+                              @RequestParam Integer apiId,
+                              @RequestParam Integer pageNum,
+                              @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/productionRequirementChanges/{id}")
+    Map<String, Object> productionRequirementChanges(@PathVariable String id, @RequestBody Map<String, Object> map);
+
+
+    @PostMapping(value = "api/v1/ams/amsplanchilds/selectPlanChildById/{planChildId}")
+    RESTfulResult selectPlanChildById(@PathVariable("planChildId") String planChildId);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/getproductionRequirementworkflowList")
+    Map<String, Object> getproductionRequirementworkflowList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                             @RequestParam Integer apiId,
+                                                             @RequestParam Integer pageNum,
+                                                             @RequestParam Integer pageSize);
+
+
+    @PostMapping(value = "api/v1/ams/amstransplans/getProductPlanList")
+    Map<String, Object> getProductPlanList(@RequestBody Map<String, Object> objectMap,
+                                           @RequestParam Integer apiId,
+                                           @RequestParam Integer pageNum,
+                                           @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/ams/amstransplans/deactivatedPlan")
+    Map<String, Object> deactivatedPlan(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/requirementApproveDetails")
+    Map<String, Object> requirementApproveDetails(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amsorders/getOrderStatus")
+    RESTfulResult getOrderStatus(@RequestBody Map<String, Object> objectMap,
+                                 @RequestParam Integer apiId,
+                                 @RequestParam Integer pageNum,
+                                 @RequestParam Integer pageSize);
+
+
+    @PostMapping(value = "api/v1/ams/amsorders/getProductOrderList")
+    Map<String, Object> getProductOrderList(@RequestBody Map<String, Object> objectMap,
+                                            @RequestParam Integer apiId,
+                                            @RequestParam Integer pageNum,
+                                            @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/getUpdateDlivDirno")
+    RESTfulResult getUpdateDlivDirno(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/saleUpdate")
+    RESTfulResult saleUpdate(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/amsTransRequirementcorn")
+    RESTfulResult amsTransRequirementcorn();
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/saleAddPl")
+    RESTfulResult saleAddPl(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements//getMoney/{id}")
+    RESTfulResult getprintstr(@PathVariable String id);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/selectcar")
+    RESTfulResult selectcar(@RequestBody Map<String, Object> objectMap,
+                            @RequestParam Integer apiId,
+                            @RequestParam Integer pageNum,
+                            @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/selectcarList")
+    RESTfulResult selectcarList(@RequestBody Map<String, Object> objectMap,
+                                @RequestParam Integer apiId,
+                                @RequestParam Integer pageNum,
+                                @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/ams/amstransplans/transPlanupload")
+    Map<String, Object> transPlanupload(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/getSerialNumber")
+    Map<String, Object> getSerialNumber(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransprices/approvePriceData")
+    Map<String, Object> approvePriceData(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/selectUnitPrice")
+    Map<String, Object> selectUnitPrice(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amsscheduledispatchs/noPage")
+    Map<String, Object> amsScheduleDispatchNoPage(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/getSBDDList")
+    RESTfulResult getSBDDList(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/selectBalanceRemark")
+    RESTfulResult selectBalanceRemark(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/selectReturnGoodsRemark")
+    RESTfulResult selectReturnGoodsRemark(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransplans/deactivateOrEnable")
+    RESTfulResult deactivateOrEnable(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/updateBalancePl")
+    RESTfulResult updateBalancePl(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/addWMS")
+    RESTfulResult addWMS(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amsfixedneedss/fixedNeedsAdd")
+    RESTfulResult fixedNeedsAdd(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amsfixedneedss/getfixdNeedsList")
+    RESTfulResult getfixdNeedsList(@RequestBody Map<String, Object> objectMap,
+                                   @RequestParam Integer apiId,
+                                   @RequestParam Integer pageNum,
+                                   @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/ams/amsfixedneedss/fixedNeedsUpdate")
+    Map<String, Object> fixedNeedsUpdate(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amsfixedneedss/getfixedNeedsDelete")
+    Map<String, Object> getfixedNeedsDelete(@RequestBody(required = false) Map<String, Object> map);
+
+
+    @PostMapping(value = "api/v1/ams/amsfixedneedss/fixedNeedsChangeList")
+    Map<String, Object> fixedNeedsChangeList(@RequestBody Map<String, Object> map);
+
+
+    @PostMapping(value = "api/v1/ams/amsfixedneedss/readFixedNeedsExcel", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+    Map<String, Object> readFixedNeedsExcel(MultipartFile file);
+
+    @PostMapping(value = "api/v1/ams/amstransprices/importTransPrice")
+    Map<String, Object> importTransPrice(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/dispatch")
+    Map<String, Object> dispatch();
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/forcedModification")
+    Map<String, Object> forcedModification(Map<String, Object> params);
+
+    @PostMapping(value = "api/v1/ams/amsfixedbindrequirements/addAmsFixedBindRequirement")
+    Map<String, Object> addAmsFixedBindRequirement(@RequestBody Map<String, Object> params);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/withdrawRequirement")
+    Map<String, Object> withdrawRequirement(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/getProductionRequirementListBind")
+    Map<String, Object> getProductionRequirementListBind(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                         @RequestParam Integer apiId,
+                                                         @RequestParam Integer pageNum,
+                                                         @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/updateBindRequirement")
+    Map<String, Object> updateBindRequirement(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/qjnyChange")
+    Map<String, Object> qjnyChange(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/ams/amstransrequirements/addDispatchCard")
+    Map<String, Object> addDispatchCard(@RequestBody Map<String, Object> params);
+
+}

+ 23 - 0
src/main/java/com/steerinfo/dil/feign/ColumnDataFeign.java

@@ -0,0 +1,23 @@
+package com.steerinfo.dil.feign;
+
+import com.steerinfo.dil.config.MyFeignRequestInterceptor;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @Author zhangnan
+ * @Date 2021/6/23 9:58
+ * @Version 1.0
+ */
+@FeignClient(value = "ANTAI-COLUMN-DATA", url = "${openfeign.ColumnDataFeign.url}", configuration = MyFeignRequestInterceptor.class)
+public interface ColumnDataFeign {
+    @RequestMapping("getColumnData")
+    List<Map<String, Object>> getColumnData(@RequestParam("apiId") Integer apiId);
+
+    @RequestMapping("getColumnData")
+    List<Map<String, Object>> getColumnDataByUserId(@RequestParam("apiId") Integer apiId, @RequestParam(required = false, value = "userId") String userId);
+}

+ 48 - 0
src/main/java/com/steerinfo/dil/feign/DzFeign.java

@@ -0,0 +1,48 @@
+package com.steerinfo.dil.feign;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+import java.util.List;
+import java.util.Map;
+
+@FeignClient(name = "ANTAI-DZ-API", url = "${openfeign.DzFeign.url}")
+public interface DzFeign {
+    @PostMapping("/api/v1/dz/test/getUnloadDetails")
+    Map<String, Object> getUnloadDetails(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("/api/v1/dz/test/getUnUploadOrder")
+    Map<String, Object> getUnUploadOrder();
+
+    @PostMapping("/api/v1/dz/test/getCapacityDetails")
+    Map<String, Object> getCapacityDetails(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("/api/v1/dz/test/getTransOrderDz")
+    List<Map<String, Object>> getTransOrderDz();
+
+    @PostMapping("/api/v1/dz/test/getTransResult")
+    Map<String, Object> getTransResult(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/dz/test/getTransResultList")
+    List<Map<String, Object>> getTransResultList(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/dz/test/getSignList")
+    List<Map<String, Object>> getSignList(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/dz/test/getInnerCode")
+    Map<String, Object> getInnerCode(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/dz/test/getProductionResultList")
+    List<Map<String, Object>> getProductionResultList(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/dz/test/restartWeightResult")
+    int restartWeightResult(@RequestBody List<String> ysddList);
+
+    @PostMapping("/api/v1/dz/test/getErrorRequirement")
+    Map<String, Object> getErrorRequirement(@RequestBody Map<String, Object> map);
+
+
+    @PostMapping("/api/v1/dz/test/getDzData")
+    Map<String, Object> getDzData(Map<String, Object> map);
+}

+ 104 - 0
src/main/java/com/steerinfo/dil/feign/EmsFeign.java

@@ -0,0 +1,104 @@
+package com.steerinfo.dil.feign;
+
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/9/28 9:30
+ */
+
+@FeignClient(name = "ANTAI-EMS-API", url = "${openfeign.EmsFeign.url}")
+public interface EmsFeign {
+
+    //======================>车辆综合实绩
+
+    @PostMapping("api/v1/ems/emsdetailsorders/emsdetailsordersAdd")
+    Map<String, Object> emsdetailsordersAdd(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/ems/emssettlementorders/emssettlementordersAdd")
+    Map<String, Object> emssettlementordersAdd(@RequestBody Map<String, Object> map);
+
+    @PutMapping("api/v1/ems/emsdetailsorders/emsdetailsordersupdate/{id}")
+    Map<String, Object> emsdetailsordersupdate(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map);
+
+
+    @PostMapping("api/v1/ems/emsdetailsorders/abnormal")
+    Map<String, Object> abnormal(@RequestBody(required = false) Map<String, Object> map);
+
+    @PutMapping("api/v1/ems/emssettlementorders/emssettlementorderupdate/{id}")
+    Map<String, Object> emssettlementorderupdate(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map);
+
+    @PutMapping("api/v1/ems/emsdetailsorders/emsdetailsordersdelete/{id}")
+    Map<String, Object> emsdetailsordersdelete(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map);
+
+
+    @PostMapping("api/v1/ems/emsdetailsorders/emsdetailsordersList")
+    Map<String, Object> emsdetailsordersList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize
+    );
+
+    @PostMapping("api/v1/ems/emssettlementorders/emssettlementordersList")
+    Map<String, Object> emssettlementordersList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                @RequestParam Integer apiId,
+                                                @RequestParam Integer pageNum,
+                                                @RequestParam Integer pageSize
+    );
+
+    @PostMapping("api/v1/ems/emssalarydetailss/emssalarydetailsList")
+    Map<String, Object> emssalarydetailsList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize
+    );
+
+    @PostMapping("api/v1/ems/emsdetailsorders/emsdetailsordersAdd2")
+    Map<String, Object> emsdetailsordersAdd2(@RequestBody(required = false) Map<String, Object> map);
+
+    @PutMapping("api/v1/ems/emsdetailsorders/emsdetailsordersapprove/{id}")
+    Map<String, Object> emsdetailsordersapprove(@PathVariable String id, @RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/ems/emsdetailsorders/faildMsg")
+    Map<String, Object> faildMsg();
+
+
+    @PostMapping("api/v1/ems/emssalarydetailss/getemssalarydetailsMonthyear")
+    Map<String, Object> getemssalarydetailsMonthyear(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                     @RequestParam Integer apiId,
+                                                     @RequestParam Integer pageNum,
+                                                     @RequestParam Integer pageSize
+    );
+
+
+    @PostMapping("api/v1/ems/emsticketmanagements/getemsticketmanagementslist")
+    Map<String, Object> getemsticketmanagementslist(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                    @RequestParam Integer apiId,
+                                                    @RequestParam Integer pageNum,
+                                                    @RequestParam Integer pageSize
+    );
+
+    @PostMapping("api/v1/ems/emsticketmanagements/insertemsticketmanagements")
+    Map<String, Object> insertemsticketmanagements(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/ems/emsticketmanagements/deletedemsticketmanagements")
+    Map<String, Object> deletedemsticketmanagements(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/ems/emsticketmanagements/updateemsticketmanagements")
+    Map<String, Object> updateemsticketmanagements(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/ems/emsdetailsorders/changerAllabnormal")
+    Map<String, Object> changerAllabnormal(@RequestBody(required = false) Map<String, Object> map);
+
+}
+
+
+
+
+
+

+ 113 - 0
src/main/java/com/steerinfo/dil/feign/ReportFeign.java

@@ -0,0 +1,113 @@
+package com.steerinfo.dil.feign;
+
+import com.sun.corba.se.spi.ior.ObjectKey;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.Map;
+
+@FeignClient(value = "ANTAI-REPORT-API", url = "${openfeign.REPORTFeign.url}")
+public interface ReportFeign {
+
+    @PostMapping(value = "api/v1/report/monitors/getQYMonitors")
+    Map<String, Object> getQYMonitors(@RequestBody(required = false) HashMap<String, Object> map,
+                                      @RequestParam Integer apiId,
+                                      @RequestParam Integer pageNum,
+                                      @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/report/monitors/getFactoryCarNum")
+    Map<String, Object> getFactoryCarNum(@RequestBody(required = false) HashMap<String, Object> map,
+                                         @RequestParam Integer apiId,
+                                         @RequestParam Integer pageNum,
+                                         @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/report/destination/getDestination")
+    Map<String, Object> getDestination(@RequestBody(required = false) HashMap<String, Object> map,
+                                       @RequestParam Integer apiId,
+                                       @RequestParam Integer pageNum,
+                                       @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/report/transferOrder/getTransferOrder")
+    Map<String, Object> getTransferOrder(@RequestBody(required = false) HashMap<String, Object> map,
+                                         @RequestParam Integer apiId,
+                                         @RequestParam Integer pageNum,
+                                         @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/report/transferOrder/getTransferOrderDetails")
+    Map<String, Object> getTransferOrderDetails(@RequestBody(required = false) HashMap<String, Object> map,
+                                                @RequestParam Integer apiId,
+                                                @RequestParam Integer pageNum,
+                                                @RequestParam Integer pageSize);
+
+
+    @PostMapping(value = "api/v1/report/saleReports/getSaleFourLicenceReport")
+    Map<String, Object> getSaleFourLicenceReport(@RequestBody(required = false) HashMap<String, Object> map);
+
+    @PostMapping(value = "api/v1/report/saleReports/getTransReportCarrier")
+    Map<String, Object> getTransReportCarrier(@RequestBody(required = false) HashMap<String, Object> map,
+                                              @RequestParam Integer apiId,
+                                              @RequestParam Integer pageNum,
+                                              @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/report/saleReports/getTransReportXG")
+    Map<String, Object> getTransReportXG(@RequestBody(required = false) HashMap<String, Object> map,
+                                         @RequestParam Integer apiId,
+                                         @RequestParam Integer pageNum,
+                                         @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/report/saleReports/updateTransUnitPrice")
+    Map<String, Object> updateTransUnitPrice(HashMap<String, Object> map);
+
+    @PostMapping(value = "api/v1/report/destination/selecttype")
+    Map<String, Object> selecttype(@RequestBody(required = false) HashMap<String, Object> map,
+                                   @RequestParam Integer apiId,
+                                   @RequestParam Integer pageNum,
+                                   @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/report/destination/selectSum")
+    Map<String, Object> selectSum(@RequestBody(required = false) HashMap<String, Object> map);
+
+    @PostMapping(value = "api/v1/report/destination/selecttype1")
+    Map<String, Object> selecttype1(@RequestBody(required = false) HashMap<String, Object> map,
+                                    @RequestParam Integer apiId,
+                                    @RequestParam Integer pageNum,
+                                    @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/report/dailySummary/dailySummary")
+    Map<String, Object> dailySummary(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/report/productReports/staffAttendanceList")
+    Map<String, Object> staffAttendanceList(@RequestBody(required = false) Map<String, Object> map,
+                                            @RequestParam Integer apiId,
+                                            @RequestParam Integer pageNum,
+                                            @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/report/reportDaily/updateOperateDaily")
+    Map<String, Object> updateOperateDaily(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "/api/v1/report/reportDaily/getOperateDaily")
+    Map<String, Object> getOperateDaily(@RequestBody(required = false) Map<String, Object> map,
+                                        @RequestParam Integer apiId,
+                                        @RequestParam Integer pageNum,
+                                        @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/report/reportDaily/matchImport")
+    Map<String, Object> matchImport(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/report/reportDaily/syncCountData")
+    Map<String, Object> syncCountData(Map<String, Object> map);
+
+    @PostMapping(value = "/api/v1/report/reportDaily/getDailySyncReport")
+    Map<String, Object> getDailySyncReport(@RequestBody Map<String, Object> mapValue,
+                                           @RequestParam Integer apiId,
+                                           @RequestParam Integer pageNum,
+                                           @RequestParam Integer pageSize);
+
+    @PostMapping(value = "/api/v1/report/reportDaily/syncReportOperate")
+    Map<String, Object> syncReportOperate(Map<String, Object> map);
+}

+ 947 - 0
src/main/java/com/steerinfo/dil/feign/RmsFeign.java

@@ -0,0 +1,947 @@
+package com.steerinfo.dil.feign;
+
+import com.steerinfo.dil.annotaion.LogAround;
+import com.steerinfo.dil.config.MyFeignRequestInterceptor;
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@FeignClient(value = "ANTAI-RMS-API", url = "${openfeign.RmsFeign.url}", configuration = MyFeignRequestInterceptor.class)
+public interface RmsFeign {
+
+
+    @PostMapping("/api/v1/rms/rmslines/getStepTypeList")
+    Map<String, Object> getStepTypeList();
+
+    @PostMapping("/api/v1/rms/rmslines/insertLine")
+    Map<String, Object> insertLine(@RequestBody(required = false) Map<String, Object> mapVal);
+
+    @PostMapping("/api/v1/rms/rmslines/deleteLine")
+    Map<String, Object> deleteLine(@RequestBody(required = false) Map<String, Object> mapVal);
+
+    @PostMapping("/api/v1/rms/rmslines/approveTransLine")
+    Map<String, Object> approveTransLine(@RequestBody(required = false) Map<String, Object> mapVal);
+
+    @PostMapping(value = "/api/v1/rms/rmslines/getLineList")
+    Map<String, Object> getLineList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                    @RequestParam("pageNum") Integer pageNum,
+                                    @RequestParam("pageSize") Integer pageSize,
+                                    @RequestParam("apiId") Integer apiId);
+
+    @PostMapping("api/v1/rms/rmslines/getRmsLineStep/{id}")
+    Map<String, Object> getRmsLineStep(@PathVariable("id") BigDecimal id);
+
+    @PostMapping("/api/v1/rms/rmslines/getRulesByLineId")
+    Map<String, Object> getRulesByLineId(@RequestBody(required = false) Map<String, Object> mapVal);
+
+    @PostMapping("/api/v1/rms/rmslines/saveLineRule")
+    Map<String, Object> saveLineRule(@RequestBody(required = false) Map<String, Object> mapVal);
+
+    //********************************************************************************************************
+
+
+    //新增司机信息
+    @PostMapping(value = "api/v1/rms/rmscardriver/insertCarDriver")
+    Map<String, Object> insertCarDriver(@RequestBody(required = false) Map<String, Object> map);
+
+    //修改司机信息
+    @PostMapping(value = "api/v1/rms/rmscardriver/updateCarDriver")
+    Map<String, Object> updateCarDriver(Map<String, Object> map);
+
+    //通过id查询司机信息
+    @PostMapping(value = "api/v1/rms/rmscardriver/getCarDriverById/{id}")
+    Map<String, Object> getCarDriverById(@PathVariable("id") BigDecimal id);
+
+    //删除司机信息
+    @PostMapping(value = "api/v1/rms/rmscardriver/deleteCarDriver/{id}")
+    Map<String, Object> deleteCarDriver(@PathVariable("id") BigDecimal id);
+
+    //模糊查询司机
+    @PostMapping(value = "/api/v1/rms/rmscardriver/getCarDriverList")
+    Map<String, Object> getCarDriverList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                         @RequestParam("pageNum") Integer pageNum,
+                                         @RequestParam("pageSize") Integer pageSize,
+                                         @RequestParam("apiId") Integer apiId,
+                                         @RequestParam("con") String con);
+
+    //===========物资种类
+    //查询物资种类List
+    @PostMapping(value = "api/v1/rms/rmsmaterialtype/getMaterialTypeList")
+    Map<String, Object> getMaterialTypeList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                            @RequestParam Integer pageNum,
+                                            @RequestParam Integer pageSize,
+                                            @RequestParam Integer apiId,
+                                            @RequestParam String con);
+
+    @PostMapping(value = "api/v1/rms/rmsmaterialtype/getMaterialTypeListByCompany")
+    Map<String, Object> getMaterialTypeListByCompany(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                     @RequestParam Integer pageNum,
+                                                     @RequestParam Integer pageSize,
+                                                     @RequestParam Integer apiId,
+                                                     @RequestParam String con);
+
+    //新增物资种类
+    @PostMapping("api/v1/rms/rmsmaterialtype/insertMaterialType")
+    RESTfulResult insertMaterialType(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/rms/rmsmaterialtype/importMaterialType")
+    RESTfulResult importMaterialType(@RequestBody(required = false) Map<String, Object> map);
+
+    //删除物资种类
+    @PostMapping(value = "api/v1/rms/rmsmaterialtype/deleteMaterialType")
+    RESTfulResult deleteMaterialType(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsmaterialtype/syncMaterialType")
+    Map<String, Object> syncMaterialType(@RequestBody(required = false) Map<String, Object> map);
+
+    //更新物资种类
+    @PostMapping(value = "api/v1/rms/rmsmaterialtype/updateMaterialType")
+    Map<String, Object> updateMaterialType(@RequestBody(required = false) Map<String, Object> map);
+
+    //查询物资种类id
+    @PostMapping(value = "api/v1/rms/rmsmaterialtype/getMaterialTypeById/{id}")
+    Map<String, Object> getMaterialTypeById(@PathVariable("id") BigDecimal id);
+
+    @PostMapping(value = "api/v1/rms/rmsmaterialtype/getMaterialTree")
+    Map<String, Object> getMaterialTree(@RequestBody(required = false) Map<String, Object> map);
+
+    //==============物资
+    //查询物资List
+    @PostMapping(value = "api/v1/rms/rmsmaterial/getMaterialList")
+    Map<String, Object> getMaterialList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                        @RequestParam("apiId") Integer apiId,
+                                        @RequestParam("pageNum") Integer pageNum,
+                                        @RequestParam("pageSize") Integer pageSize);
+
+    //查询物料产量
+    @PostMapping(value = "api/v1/rms/rmsmaterialyields/getMaterialYieldList")
+    Map<String, Object> getMaterialYieldList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             @RequestParam("apiId") Integer apiId,
+                                             @RequestParam("pageNum") Integer pageNum,
+                                             @RequestParam("pageSize") Integer pageSize);
+
+    @PostMapping(value = "api/v1/rms/rmsbaseproductioncosts/getRmsBaseProductionCostList")
+    Map<String, Object> getRmsBaseProductionCostList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                     @RequestParam("apiId") Integer apiId,
+                                                     @RequestParam("pageNum") Integer pageNum,
+                                                     @RequestParam("pageSize") Integer pageSize);
+
+    //新增生产成本数据
+    @PostMapping(value = "api/v1/rms/rmsbaseproductioncosts/insertRmsBaseProductionCost")
+    Map<String, Object> insertRmsBaseProductionCost(@RequestBody(required = false) Map<String, Object> model);
+
+    @PostMapping(value = "api/v1/rms/rmsbaseproductioncosts/updateRmsBaseProductionCost")
+    Map<String, Object> updateRmsBaseProductionCost(@RequestBody(required = false) Map<String, Object> model);
+
+    @PostMapping(value = "api/v1/rms/rmsbaseproductioncosts/deleteRmsBaseProductionCost")
+    Map<String, Object> deleteRmsBaseProductionCost(@RequestBody(required = false) Map<String, Object> model);
+
+
+    @PostMapping(value = "api/v1/rms/rmsbasepurchasecosts/getRmsBasePurchaseCostList")
+    Map<String, Object> getRmsBasePurchaseCostList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                   @RequestParam("apiId") Integer apiId,
+                                                   @RequestParam("pageNum") Integer pageNum,
+                                                   @RequestParam("pageSize") Integer pageSize);
+
+    //新增生产成本数据
+    @PostMapping(value = "api/v1/rms/rmsbasepurchasecosts/insertRmsBasePurchaseCost")
+    Map<String, Object> insertRmsBasePurchaseCost(@RequestBody(required = false) Map<String, Object> model);
+
+    @PostMapping(value = "api/v1/rms/rmsbasepurchasecosts/updateRmsBasePurchaseCost")
+    Map<String, Object> updateRmsBasePurchaseCost(@RequestBody(required = false) Map<String, Object> model);
+
+    @PostMapping(value = "api/v1/rms/rmsbasepurchasecosts/deleteRmsBasePurchaseCost")
+    Map<String, Object> deleteRmsBasePurchaseCost(@RequestBody(required = false) Map<String, Object> model);
+
+    @PostMapping(value = "api/v1/rms/rmsbasesalecosts/getRmsBaseSaleCostList")
+    Map<String, Object> getRmsBaseSaleCostList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                               @RequestParam("apiId") Integer apiId,
+                                               @RequestParam("pageNum") Integer pageNum,
+                                               @RequestParam("pageSize") Integer pageSize);
+
+    //新增生产成本数据
+    @PostMapping(value = "api/v1/rms/rmsbasesalecosts/insertRmsBaseSaleCost")
+    Map<String, Object> insertRmsBaseSaleCost(@RequestBody(required = false) Map<String, Object> model);
+
+    @PostMapping(value = "api/v1/rms/rmsbasesalecosts/updateRmsBaseSaleCost")
+    Map<String, Object> updateRmsBaseSaleCost(@RequestBody(required = false) Map<String, Object> model);
+
+    @PostMapping(value = "api/v1/rms/rmsbasesalecosts/deleteRmsBaseSaleCost")
+    Map<String, Object> deleteRmsBaseSaleCost(@RequestBody(required = false) Map<String, Object> model);
+
+    //新增物料产量
+    @PostMapping(value = "api/v1/rms/rmsmaterialyields/insertMaterialYield")
+    Map<String, Object> insertMaterialYield(@RequestBody(required = false) Map<String, Object> model);
+
+    //新增物资
+    @PostMapping(value = "api/v1/rms/rmsmaterial/insertMaterial")
+    Map<String, Object> insertMaterial(@RequestBody(required = false) Map<String, Object> map);
+
+    //删除物资
+    @PostMapping(value = "api/v1/rms/rmsmaterial/deleteMaterial")
+    Map<String, Object> deleteMaterial(@RequestBody(required = false) Map<String, Object> map);
+
+    //更新物资信息
+    @PostMapping(value = "api/v1/rms/rmsmaterial/updateMaterial")
+    Map<String, Object> updateMaterial(@RequestBody(required = false) Map<String, Object> map);
+
+    //查询物资ID
+    @PostMapping(value = "api/v1/rms/rmsmaterial/getMaterialById/{id}")
+    Map<String, Object> getMaterialById(@PathVariable("id") BigDecimal id);
+
+    @PostMapping(value = "api/v1/rms/rmsmaterial/syncMaterial")
+    Map<String, Object> syncMaterial(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsmaterial/importMaterial")
+    RESTfulResult importMaterial(@RequestBody(required = false) Map<String, Object> map);
+
+    //==============作业点
+    //查询作业点List
+    @PostMapping(value = "api/v1/rms/rmsoperationpoint/getOperationPointList")
+    Map<String, Object> getOperationPointList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                              @RequestParam("apiId") Integer apiId,
+                                              @RequestParam("pageNum") Integer pageNum,
+                                              @RequestParam("pageSize") Integer pageSize);
+
+    //新增作业点
+    @PostMapping(value = "api/v1/rms/rmsoperationpoint/insertOperationPoint")
+    Map<String, Object> insertOperationPoint(@RequestBody(required = false) Map<String, Object> map);
+
+    //删除作业点
+    @PostMapping(value = "api/v1/rms/rmsoperationpoint/deleteOperationPoint")
+    Map<String, Object> deleteOperationPoint(@RequestBody(required = false) Map<String, Object> map);
+
+    //更新作业点信息
+    @PostMapping(value = "api/v1/rms/rmsoperationpoint/updateOperationPoint")
+    Map<String, Object> updateOperationPoint(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsoperationpoint/importOperationPoint")
+    RESTfulResult importOperationPoint(@RequestBody(required = false) Map<String, Object> map);
+
+    //同步作业点信息
+    @PostMapping(value = "api/v1/rms/rmsoperationpoint/syncOperationPoint")
+    Map<String, Object> syncOperationPoint(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsoperationpoint/getOperationPointTree")
+    Map<String, Object> getOperationPointTree(@RequestBody(required = false) Map<String, Object> map);
+
+    //查询作业点ID
+    @PostMapping(value = "api/v1/rms/rmsoperationpoint/getOperationPointById/{id}")
+    Map<String, Object> getOperationPointById(@PathVariable("id") BigDecimal id);
+
+    //人员管理
+    @PostMapping(value = "/api/v1/rms/rmspersonnel/getPersonnelList")
+    Map<String, Object> getPersonnelList(@RequestBody(required = false) Map<String, Object> mapVal,
+                                         @RequestParam("apiId") Integer apiId,
+                                         @RequestParam("pageNum") Integer pageNum,
+                                         @RequestParam("pageSize") Integer pageSize,
+                                         @RequestParam("con") String con);
+
+    @PostMapping(value = "api/v1/rms/rmspersonnel/insertPersonnel")
+    Map<String, Object> insertPersonnel(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmspersonnel/insertDriver")
+    Map<String, Object> insertDriver(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmspersonnel/deletePersonnel")
+    Map<String, Object> deletePersonnel(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmspersonnel/updatePersonnel")
+    Map<String, Object> updatePersonnel(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmspersonnel/approvePersonnel")
+    Map<String, Object> approvePersonnel(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmspersonnel/getPersonnelById")
+    Map<String, Object> getPersonnelById(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmspersonnel/syncPersonnel")
+    Map<String, Object> syncPersonnel(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmspersonnel/importPersonnel")
+    RESTfulResult importPersonnel(@RequestBody(required = false) Map<String, Object> map);
+
+    //============公司
+    //展示公司列表
+    @PostMapping(value = "api/v1/rms/rmscompany/getCompanyList")
+    Map<String, Object> getCompanyList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                       @RequestParam("apiId") Integer apiId,
+                                       @RequestParam("pageNum") Integer pageNum,
+                                       @RequestParam("pageSize") Integer pageSize);
+
+    @PostMapping(value = "api/v1/rms/rmscompany/getCompanyListNoPage")
+    Map<String, Object> getCompanyListNoPage(@RequestBody(required = false) Map<String, Object> mapValue);
+
+    //新增公司
+    @PostMapping(value = "api/v1/rms/rmscompany/insertCompany")
+    Map<String, Object> insertCompany(@RequestBody(required = false) Map<String, Object> map);
+
+    //删除公司
+    @PostMapping(value = "api/v1/rms/rmscompany/deleteCompany")
+    Map<String, Object> deleteCompany(@RequestBody(required = false) Map<String, Object> map);
+
+    //更新公司
+    @PostMapping(value = "api/v1/rms/rmscompany/updateCompany")
+    Map<String, Object> updateCompany(@RequestBody(required = false) Map<String, Object> map);
+
+    //    根据id获取供应商信息
+    @PostMapping(value = "api/v1/rms/rmscompany/getCompanyById/{id}")
+    Map<String, Object> getCompanyById(@PathVariable("id") BigDecimal id);
+
+    //同步公司
+    @PostMapping(value = "api/v1/rms/rmscompany/syncCompany")
+    Map<String, Object> syncCompany(@RequestBody(required = false) Map<String, Object> map);
+
+    //导入公司
+    @PostMapping(value = "api/v1/rms/rmscompany/importCompany")
+    RESTfulResult importCompany(@RequestBody(required = false) Map<String, Object> map);
+
+
+    //===========运力
+    //新增运力
+    @PostMapping(value = "api/v1/rms/rmscapacity/insertCapacity")
+    Map<String, Object> insertCapacity(@RequestBody(required = false) Map<String, Object> map);
+
+    //新增车牌号
+    @PostMapping(value = "api/v1/rms/rmscapacity/insertCapacityName")
+    Map<String, Object> insertCapacityName(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmscapacity/batchInsertCapacityTrain")
+    Map<String, Object> batchInsertCapacityTrain(@RequestBody(required = false) Map<String, Object> map);
+
+    //删除运力
+    @PostMapping(value = "api/v1/rms/rmscapacity/deleteCapacity")
+    Map<String, Object> deleteCapacity(@RequestBody(required = false) Map<String, Object> map);
+
+    //修改运力
+    @PostMapping(value = "api/v1/rms/rmscapacity/updateCapacity")
+    Map<String, Object> updateCapacity(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmscapacity/approveCapacity")
+    Map<String, Object> approveCapacity(Map<String, Object> map);
+
+
+    //模糊查询运力
+    @PostMapping(value = "/api/v1/rms/rmscapacity/getCapacityList")
+    Map<String, Object> getCapacityList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                        @RequestParam Integer pageNum,
+                                        @RequestParam Integer pageSize,
+                                        @RequestParam Integer apiId,
+                                        @RequestParam String con,
+                                        @RequestParam String carrierSSOId);
+
+    //根据id获取运力详细信息
+    @PostMapping(value = "api/v1/rms/rmscapacity/getCapacityById")
+    Map<String, Object> getCapacityById(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmscapacity/importCapacity")
+    Map<String, Object> importCapacity(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmscapacitydrivers/importCapacityDriver")
+    Map<String, Object> importCapacityDriver(Map<String, Object> map);
+
+    //==============仓库
+    //新增仓库
+    @PostMapping(value = "api/v1/rms/rmswarehouse/insertWarehouse")
+    Map<String, Object> insertWarehouse(@RequestBody(required = false) Map<String, Object> map);
+
+    //删除仓库
+    @PostMapping(value = "api/v1/rms/rmswarehouse/deleteWarehouse/{id}")
+    Map<String, Object> deleteWarehouse(@PathVariable("id") BigDecimal id);
+
+    //修改仓库
+    @PostMapping(value = "api/v1/rms/rmswarehouse/updateWarehouse")
+    Map<String, Object> updateWarehouse(Map<String, Object> map);
+    //根据id获取原料仓库详细信息
+
+    @PostMapping(value = "api/v1/rms/rmswarehouse/getWarehouseById/{id}")
+    Map<String, Object> getWarehouseById(@PathVariable("id") BigDecimal id);
+
+    //模糊查询原料仓库
+    @PostMapping(value = "api/v1/rms/rmswarehouse/getWarehouseList")
+    Map<String, Object> getWarehouseList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                         @RequestParam Integer pageNum,
+                                         @RequestParam Integer pageSize,
+                                         @RequestParam Integer apiId,
+                                         @RequestParam String con);
+
+    //=================司机排班
+    //获取司机排班信息
+    @PostMapping(value = "api/v1/rms/rmscapacitydrivers/getCapacityDriverList")
+    Map<String, Object> getCapacityDriverList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                              @RequestParam("apiId") Integer apiId,
+                                              @RequestParam("pageNum") Integer pageNum,
+                                              @RequestParam("pageSize") Integer pageSize);
+
+    @PostMapping(value = "api/v1/rms/rmscapacitydrivers/getCapacityDriverListWithCarNo")
+    Map<String, Object> getCapacityDriverListWithCarNo(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                       @RequestParam("apiId") Integer apiId,
+                                                       @RequestParam("pageNum") Integer pageNum,
+                                                       @RequestParam("pageSize") Integer pageSize);
+
+    //新增司机排班信息
+    @PostMapping(value = "api/v1/rms/rmscapacitydrivers/insertCapacityDriver")
+    Map<String, Object> insertCapacityDriver(@RequestBody(required = false) Map<String, Object> map);
+
+    //新增司机排班信息
+    @PostMapping(value = "api/v1/rms/rmscapacitydrivers/updateCapacityDriver")
+    Map<String, Object> updateCapacityDriver(@RequestBody(required = false) Map<String, Object> map);
+
+    //删除司机排班信息
+    @PostMapping(value = "api/v1/rms/rmscapacitydrivers/deleteCapacityDriver")
+    Map<String, Object> deleteCapacityDriver(@RequestBody(required = false) Map<String, Object> map);
+
+
+    //================作业点
+    //获取门岗信息列表
+    @PostMapping(value = "api/v1/rms/rmsgatepost/getGatepostList")
+    Map<String, Object> getGatepostList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                        @RequestParam("apiId") Integer apiId,
+                                        @RequestParam("pageNum") Integer pageNum,
+                                        @RequestParam("pageSize") Integer pageSize,
+                                        @RequestParam String con);
+
+    //新增门岗
+    @PostMapping(value = "api/v1/rms/rmsgatepost/insertGatepost")
+    Map<String, Object> insertGatepost(@RequestBody(required = false) Map<String, Object> map);
+
+    //删除门岗
+    @PostMapping(value = "api/v1/rms/rmsgatepost/deleteGatepost/{id}")
+    Map<String, Object> deleteGatepost(@PathVariable("id") BigDecimal id);
+
+    //    更新门岗信息
+    @PostMapping(value = "api/v1/rms/rmsgatepost/updateGatepost")
+    Map<String, Object> updateGatepost(@RequestBody(required = false) Map<String, Object> map);
+
+    //    根据id获取门岗信息
+    @PostMapping(value = "api/v1/rms/rmsgatepost/getGatepostById/{id}")
+    Map<String, Object> getGatepostById(@PathVariable("id") BigDecimal id);
+
+    //    根据id获取门岗规则信息
+    @PostMapping(value = "api/v1/rms/rmsgatepost/getGatepostRulesById/{id}")
+    Map<String, Object> getGatepostRulesById(@PathVariable("id") BigDecimal id, @RequestParam("apiId") Integer apiId);
+
+    //    展示门岗规则信息
+    @PostMapping(value = "api/v1/rms/rmsgatepost/getGatepostRulesList")
+    Map<String, Object> getGatepostRulesList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                             @RequestParam("apiId") Integer apiId,
+                                             @RequestParam("pageNum") Integer pageNum,
+                                             @RequestParam("pageSize") Integer pageSize,
+                                             @RequestParam String con);
+
+    //    根据规则Id删除规则
+    @PostMapping(value = "api/v1/rms/rmsgatepost/deleteGatepostRules/{rulesId}")
+    Map<String, Object> deleteGatepostRules(@RequestParam("rulesId") BigDecimal rulesId);
+
+    //    新增门岗规则
+    @PostMapping(value = "api/v1/rms/rmsgatepost/insertGatepostRule")
+    Map<String, Object> insertGatepostRule(@RequestBody(required = false) Map<String, Object> mapValue);
+
+    //    根据门岗id获取门岗名
+    @PostMapping(value = "api/v1/rms/rmsgatepost/getGatepostName/{gatepostId}")
+    Map<String, Object> getGatepostName(@PathVariable("gatepostId") BigDecimal gatepostId);
+
+
+    //******************************************下拉框*******************************
+    @GetMapping(value = "api/v1/rms/rmscapacity/getCapacityTypeId")
+    Map<String, Object> getCapacityTypeId();
+
+    @GetMapping(value = "api/v1/rms/rmswarehouse/getWarehouseTypeId")
+    Map<String, Object> getWarehouseTypeId();
+
+    @GetMapping(value = "api/v1/rms/rmswarehouse/getPortId")
+    Map<String, Object> getPortId();
+
+    @GetMapping(value = "api/v1/rms/rmscapacity/getCarrierId")
+    Map<String, Object> getCarrierId();
+
+
+    //******************************************下拉框*******************************
+//    根据id下拉获取运力列表
+    @GetMapping(value = "/api/v1/rms/rmscapacity/getCapacityId")
+    Map<String, Object> getCapacityId();
+
+    //    根据id下拉框获取原料类型
+    @GetMapping(value = "api/v1/rms/rmsmaterial/getMaterialTypeId")
+    Map<String, Object> getMaterialTypeId();
+
+    //    根据id下拉框获取计量类型
+    @GetMapping(value = "api/v1/rms/rmsmaterial/getUnitOfMeasureId")
+    Map<String, Object> getUnitOfMeasureId();
+
+    //    根据id下拉框获取托运人
+    @GetMapping(value = "api/v1/rms/rmspersonnel/getShipperId")
+    Map<String, Object> getShipperId();
+
+    //获取司机下拉框
+    @GetMapping(value = "api/v1/rms/rmsdrivercapacity/getDriverId")
+    Map<String, Object> getDriverId();
+
+    //    根据id下拉框获取门岗规则
+    @GetMapping(value = "api/v1/rms/rmsgatepost/getShipperId")
+    Map<String, Object> getGatepostRulesId();
+
+    //运输类型下拉框
+    @GetMapping(value = "api/v1/rms/rmscardriver/getTransportTypeId")
+    Map<String, Object> getTransportTypeId();
+
+    //    根据id下拉框获取车辆类型
+    @GetMapping(value = "api/v1/rms/rmsgatepost/getVehicleTypeId")
+    Map<String, Object> getVehicleTypeId();
+
+
+    @PostMapping(value = "/api/v1/rms/dilnotices/getNoticeList")
+    Map<String, Object> getNoticeList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                      @RequestParam("apiId") Integer apiId,
+                                      @RequestParam("pageNum") Integer pageNum,
+                                      @RequestParam("pageSize") Integer pageSize,
+                                      @RequestParam("con") String con);
+
+    //新增公告
+    @PostMapping(value = "api/v1/rms/dilnotices/insertNotice")
+    Map<String, Object> insertNotice(@RequestBody(required = false) Map<String, Object> map);
+
+    //删除公告
+    @PostMapping(value = "api/v1/rms/dilnotices/deleteNotice/{id}")
+    Map<String, Object> deleteNotice(@PathVariable("id") BigDecimal id);
+
+    //更新公告
+    @PostMapping(value = "api/v1/rms/dilnotices/updateNotice")
+    Map<String, Object> updateNotice(@RequestBody(required = false) Map<String, Object> map);
+
+    //根据id获取公告
+    @PostMapping(value = "api/v1/rms/dilnotices/getNoticeById/{id}")
+    Map<String, Object> getNoticeById(@PathVariable("id") BigDecimal id);
+
+
+    //油价
+    @PostMapping(value = "/api/v1/rms/rmsoilprice/getOilPriceResultList")
+    Map<String, Object> getOilPriceResultList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                              @RequestParam("apiId") Integer apiId,
+                                              @RequestParam("pageNum") Integer pageNum,
+                                              @RequestParam("pageSize") Integer pageSize,
+                                              @RequestParam("con") String con);
+
+    //新增油价
+    @PostMapping(value = "api/v1/rms/rmsoilprice/insertOilPrice")
+    Map<String, Object> insertOilPrice(@RequestBody(required = false) Map<String, Object> map);
+
+    //删除油价
+    @PostMapping(value = "api/v1/rms/rmsoilprice/deleteOilPrice/{id}")
+    Map<String, Object> deleteOilPrice(@PathVariable("id") BigDecimal id);
+
+    //更新油价
+    @PostMapping(value = "api/v1/rms/rmsoilprice/updateOilPrice")
+    Map<String, Object> updateOilPrice(@RequestBody(required = false) Map<String, Object> mapValue);
+
+    //根据id获取油价
+    @PostMapping(value = "api/v1/rms/rmsoilprice/getOilPriceById/{id}")
+    Map<String, Object> getOilPriceById(@PathVariable("id") BigDecimal id);
+
+//******************************************下拉框*******************************
+
+
+    //公告下拉框,须摸清实现原理
+    @GetMapping(value = "api/v1/rms/dilnotices/getNoticeTypeId")
+    Map<String, Object> getNoticeTypeId();
+
+
+    // 新增人员权限
+    @PostMapping(value = "api/v1/rms/rmspersonnel/addPersonnel")
+    Map<String, Object> addPersonnel(@RequestBody Map<String, Object> map);
+
+    // 查询SSO主键和机构编码
+    @PostMapping(value = "api/v1/rms/rmspersonnel/getShipperMap")
+    Map<String, Object> getShipperMap(@RequestParam Integer shipperId);
+
+    //根据运力id查询承运商名称
+    @PostMapping(value = "api/v1/rms/rmscarrier/getCarrierNameById/{id}")
+    Map<String, Object> getCarrierNameById(@PathVariable("id") BigDecimal id);
+
+    //根据司机id查询承运商名称
+    @PostMapping(value = "api/v1/rms/rmscardriver/getCarrierNameByDriverId/{id}")
+    Map<String, Object> getCarrierNameByDriverId(@PathVariable("id") BigDecimal id);
+
+    @ApiOperation(value = "新增组织结构实绩")
+    @PostMapping(value = "api/v1/rms/rmsshipper/addShipperResult")
+    Map<String, Object> addShipperResult(@RequestBody(required = false) Map<String, Object> map);
+
+    @ApiOperation(value = "修改组织结构实绩")
+    @PostMapping(value = "api/v1/rms/rmsshipper/updateShipperResult")
+    Map<String, Object> updateShipperResult(@RequestBody(required = false) Map<String, Object> map);
+
+    @ApiOperation(value = "修改组织结构实绩")
+    @PostMapping(value = "api/v1/rms/rmsshipper/deleteShipperResult")
+    Map<String, Object> deleteShipperResult(@RequestBody(required = false) Map<String, Object> map);
+
+    @ApiOperation(value = "根据carrierSSOId查询承运商")
+    @PostMapping(value = "api/v1/rms/rmscapacity/getCarrierNameBySSOId")
+    Map<String, Object> getCarrierNameBySSOId(@RequestParam("carrierSSOId") String carrierSSOId);
+
+    @ApiOperation(value = "边输边查收货客户父节点")
+    @PostMapping(value = "api/v1/rms/rmsconsignee/getConsigneeFarId")
+    Map<String, Object> getConsigneeFarId(@RequestParam("state") String state);
+
+    @ApiOperation(value = "边输边查收货客户父节点")
+    @PostMapping(value = "api/v1/rms/rmspersonnel/isInHere")
+    Integer isInHere(@RequestParam String personnelJobNumber);
+
+    @ApiOperation(value = "创建", notes = "添加油品名称")
+    @PostMapping(value = "api/v1/rms/rmsoilprice/addOilType")
+    Map<String, Object> addOilType(@RequestParam String oilTypeName);
+
+    @ApiOperation(value = "创建", notes = "查询油品名称")
+    @PostMapping(value = "api/v1/rms/rmsoilprice/oilNameSelect")
+    Map<String, Object> oilNameSelect();
+
+    @ApiOperation("解除承运商和车辆的绑定关系")
+    @PostMapping("api/v1/rms/rmscapacity/deleteCapacityCarrier")
+    public RESTfulResult deleteCapacityCarrier(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/rms/rmsmaterialtype/getInwardContractMaterial")
+    RESTfulResult getInwardContractMaterial(@RequestBody(required = false) Map<String, Object> map,
+                                            @RequestParam Integer apiId,
+                                            @RequestParam Integer pageNum,
+                                            @RequestParam Integer pageSize,
+                                            @RequestParam String con);
+
+
+    @PostMapping("api/v1/rms/rmscapacity/getCapacityInfoById/{id}")
+    Map<String, Object> getCapacityInfoById(@PathVariable("id") Integer id);
+
+    @PostMapping("api/v1/rms/rmscargodeps/getCargoDep")
+    Map<String, Object> getCargoDep(@RequestBody(required = false) Map<String, Object> mapValue,
+                                    @RequestParam("apiId") Integer apiId,
+                                    @RequestParam("pageNum") Integer pageNum,
+                                    @RequestParam("pageSize") Integer pageSize,
+                                    @RequestParam("con") String con);
+
+    @PostMapping("api/v1/rms/rmscargodeps/deleteCargoDep")
+    Map<String, Object> deleteCargoDep(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/rms/rmscargodeps/updateCargoDep")
+    Map<String, Object> updateCargoDep(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/rms/rmscargodeps/insertCargoDep")
+    Map<String, Object> insertCargoDep(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/rms/rmscargodeps/getCargoDepById/{id}")
+    Map<String, Object> getCargoDepById(@PathVariable("id") BigDecimal id);
+
+    @PostMapping("api/v1/rms/rmsconsignee/signConsignee")
+    Map<String, Object> signConsignee(@RequestBody Map<String, Object> mapVal);
+
+
+    //运力类型
+    @PostMapping(value = "/api/v1/rms/rmscapacitytype/getCapacityType")
+    Map<String, Object> getCapacityType(@RequestBody(required = false) Map<String, Object> map,
+                                        @RequestParam("apiId") Integer apiId,
+                                        @RequestParam("pageNum") Integer pageNum,
+                                        @RequestParam("pageSize") Integer pageSize);
+
+    @PostMapping(value = "api/v1/rms/rmscapacitytype/insertCapacityType")
+    Map<String, Object> insertCapacityType(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmscapacitytype/updateCapacityType")
+    Map<String, Object> updateCapacityType(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmscapacitytype/deleteCapacityType")
+    Map<String, Object> deleteCapacityType(@RequestBody(required = false) Map<String, Object> map);
+
+    //运输范围
+    @PostMapping(value = "/api/v1/rms/rmstransrange/getTransRangeList")
+    Map<String, Object> getTransRangeList(@RequestBody(required = false) Map<String, Object> map,
+                                          @RequestParam("apiId") Integer apiId,
+                                          @RequestParam("pageNum") Integer pageNum,
+                                          @RequestParam("pageSize") Integer pageSize);
+
+    //运输范围
+    @PostMapping(value = "/api/v1/rms/rmstransrange/getTransRangeListByCompany")
+    Map<String, Object> getTransRangeListByCompany(@RequestBody(required = false) Map<String, Object> map,
+                                                   @RequestParam("apiId") Integer apiId,
+                                                   @RequestParam("pageNum") Integer pageNum,
+                                                   @RequestParam("pageSize") Integer pageSize);
+
+
+    @PostMapping(value = "api/v1/rms/rmstransrange/insertTransRange")
+    Map<String, Object> insertTransRange(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmstransrange/deleteTransRange")
+    Map<String, Object> deleteTransRange(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/rms/rmstransrange/importTransRange")
+    RESTfulResult importTransRange(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/rms/rmstransrange/queryInsertTransRange")
+    Map<String, Object> queryInsertTransRange(@RequestBody(required = false) Map<String, Object> map);
+
+    /**
+     * 集装箱的相关方法
+     *
+     * @param map
+     * @return
+     */
+
+    @PostMapping(value = "api/v1/rms/rmsShipContainer/insetShipContainer")
+    Map<String, Object> insetShipContainer(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsShipContainer/updateShipContainer")
+    Map<String, Object> updateShipContainer(@RequestBody(required = false) List<Map<String, Object>> mapList);
+
+    @PostMapping(value = "api/v1/rms/rmsShipContainer/getShippingContainer")
+    Map<String, Object> getShippingContainer(@RequestBody(required = false) Map<String, Object> map,
+                                             @RequestParam(value = "apiId") Integer apiId,
+                                             @RequestParam(value = "pageNum") Integer pageNum,
+                                             @RequestParam(value = "pageSize") Integer pageSize);
+
+
+    //==================岗位信息
+    @PostMapping("api/v1/rms/rmsjobinfos/getrmsrmsjobinfos")
+    Map<String, Object> list(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                             @RequestParam Integer pageNum,
+                             @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/rms/rmsjobinfos/add")
+    Map<String, Object> add(@RequestBody(required = false) Map<String, Object> map);
+
+    @PutMapping("api/v1/rms/rmsjobinfos/{id}")
+    Map<String, Object> update(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map);
+
+    @PutMapping("api/v1/rms/rmsjobinfos/logicdelete")
+    Map<String, Object> logicdelete(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsjobinfos/readExcel", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
+    RESTfulResult readExcel(MultipartFile file);
+
+    //==================提取比例
+    @PostMapping("api/v1/rms/rmsextractscales/getrmsextractscales")
+    Map<String, Object> extractscalelist(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                         @RequestParam Integer pageNum,
+                                         @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/rms/rmsextractscales/addRmsExtractScale")
+    Map<String, Object> addExtractscale(@RequestBody(required = false) Map<String, Object> map);
+
+    @PutMapping("api/v1/rms/rmsextractscales/logicdelete")
+    Map<String, Object> Extractscalelogicdelete(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/rms/rmsextractscales/updateRmsExtractScale")
+    Map<String, Object> updateRmsExtractScale(@RequestBody(required = false) Map<String, Object> map);
+
+    //==================计算公式
+
+    @PostMapping("api/v1/rms/rmsformulas/getformula")
+    Map<String, Object> FormulaList(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                    @RequestParam Integer pageNum,
+                                    @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/rms/rmsformulas/add")
+    Map<String, Object> addFormula(@RequestBody(required = false) Map<String, Object> map);
+
+    @PutMapping("api/v1/rms/rmsformulas/logicdelete")
+    Map<String, Object> Formulalogicdelete(@RequestBody(required = false) Map<String, Object> map);
+
+    @PutMapping("api/v1/rms/rmsformulas/{id}")
+    Map<String, Object> Formulaupdate(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map);
+//========================》需求快捷匹配
+
+    @PostMapping("api/v1/rms/rmsdemandruless/rmsdemandrulesslist")
+    Map<String, Object> rmsdemandrulesslist(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                            @RequestParam Integer pageNum,
+                                            @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/rms/rmsdemandruless/rmsdemandrulessInsert")
+    Map<String, Object> addrmsdemandruless(@RequestBody(required = false) Map<String, Object> map);
+
+
+    @PutMapping("api/v1/rms/rmsdemandruless/rmsdemandrulessUpdate/{id}")
+    Map<String, Object> rmsdemandrulessupdate(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map);
+
+    //==================费用类别
+
+    @PostMapping("api/v1/rms/rmsexpansecategorys/rmsexpansecategorysList")
+    Map<String, Object> rmsexpansecategorysList(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                                @RequestParam Integer pageNum,
+                                                @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/rms/rmsexpansecategorys/rmsexpansecategorysInsert")
+    Map<String, Object> addrmsexpansecategorys(@RequestBody(required = false) Map<String, Object> map);
+
+    @PutMapping("api/v1/rms/rmsexpansecategorys/rmsexpansecategorysDelete")
+    Map<String, Object> rmsexpansecategorysdelete(@RequestBody(required = false) Map<String, Object> map);
+
+    @PutMapping("api/v1/rms/rmsexpansecategorys/rmsexpansecategorysUpdate/{id}")
+    Map<String, Object> rmsexpansecategorysupdate(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map);
+
+
+    @PostMapping("/api/v1/rms/dilbusinesstypes/getBusinessType")
+    Map<String, Object> getBusinessType(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                        @RequestParam Integer pageNum,
+                                        @RequestParam Integer pageSize);
+
+    @PostMapping("/api/v1/rms/dilbusinesstypes/getBusinessTypeByCompany")
+    Map<String, Object> getBusinessTypeByCompany(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                                 @RequestParam Integer pageNum,
+                                                 @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/rms/dilbusinesstypes/insertBusinessType")
+    Map<String, Object> insertBusinessType(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("/api/v1/rms/rmsapprovelines/getapprovelines")
+    Map<String, Object> getrmsapprovelines(@RequestBody(required = false) Map<String, Object> mapValue, @RequestParam Integer pageNum,
+                                           @RequestParam Integer pageSize,
+                                           @RequestParam Integer apiId);
+
+    @PostMapping("api/v1/rms/rmsapprovelines/addapprovelines")
+    Map<String, Object> addapprovelines(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/rms/rmsapprovelines/updateapprovelines")
+    Map<String, Object> updateapprovelines(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/rms/rmsapprovelines/approvelinesdelete")
+    Map<String, Object> approvelinesdelete(@RequestBody(required = false) Map<String, Object> map);
+
+    //燃料类型
+    @PostMapping(value = "api/v1/rms/rmsfueltypes/getFuelTypeList")
+    Map<String, Object> getFuelTypeList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                        @RequestParam("apiId") Integer apiId,
+                                        @RequestParam("pageNum") Integer pageNum,
+                                        @RequestParam("pageSize") Integer pageSize);
+
+    @PostMapping(value = "api/v1/rms/rmsfueltypes/insertFuelType")
+    Map<String, Object> insertFuelType(@RequestBody(required = false) Map<String, Object> mapValue);
+
+    @PostMapping(value = "api/v1/rms/rmsfueltypes/deleteFuelType")
+    Map<String, Object> deleteFuelType(@RequestBody(required = false) Map<String, Object> mapValue);
+
+    @PostMapping(value = "api/v1/rms/rmsmapvertexs/addVertex")
+    Map<String, Object> addVertex(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsmapvertexs/getVertex")
+    Map<String, Object> getVertex();
+
+    @PostMapping(value = "api/v1/rms/rmsmapvertexs/addEdge")
+    Map<String, Object> addEdge(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsmapvertexs/deleteEdge")
+    Map<String, Object> deleteEdge(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsmapvertexs/getEdge")
+    Map<String, Object> getEdge();
+
+    @PostMapping(value = "api/v1/rms/rmsmapvertexs/navigation")
+    Map<String, Object> navigation(@RequestBody(required = false) Map<String, Object> map);
+
+    //修改物料产量
+    @PostMapping(value = "api/v1/rms/rmsmaterialyields/updateMaterialYield")
+    Map<String, Object> updateMaterialYield(@RequestBody(required = false) Map<String, Object> model);
+
+    @PostMapping(value = "api/v1/rms/rmsmaterialyields/deleteMaterialYield")
+    Map<String, Object> deleteMaterialYield(@RequestBody(required = false) Map<String, Object> model);
+
+    @PostMapping(value = "api/v1/rms/rmsstandardinfos/getPublicCode")
+    Map<String, Object> getPublicCode(@RequestBody(required = false) Map<String, Object> mapValue,
+                                      @RequestParam("apiId") Integer apiId,
+                                      @RequestParam("pageNum") Integer pageNum,
+                                      @RequestParam("pageSize") Integer pageSize);
+
+    @PostMapping(value = "api/v1/rms/rmsstandardinfos/getStandardInfo")
+    Map<String, Object> getStandardInfo(@RequestBody(required = false) Map<String, Object> mapValue,
+                                        @RequestParam("apiId") Integer apiId,
+                                        @RequestParam("pageNum") Integer pageNum,
+                                        @RequestParam("pageSize") Integer pageSize);
+
+    @PostMapping(value = "api/v1/rms/rmsstandardinfos/addStandardInfo")
+    Map<String, Object> addStandardInfo(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsstandardinfos/updStandardInfo")
+    Map<String, Object> updStandardInfo(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsstandardinfos/delStandardInfo")
+    Map<String, Object> delStandardInfo(@RequestBody(required = false) Map<String, Object> map);
+
+    //油价
+    @PostMapping(value = "api/v1/rms/rmsoilprice/getOilPrice")
+    Map<String, Object> getOilPrice(@RequestBody(required = false) Map<String, Object> mapValue,
+                                    @RequestParam("apiId") Integer apiId,
+                                    @RequestParam("pageNum") Integer pageNum,
+                                    @RequestParam("pageSize") Integer pageSize);
+
+    @PostMapping(value = "api/v1/rms/rmsoilprice/addOilPrice")
+    Map<String, Object> addOilPrice(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsoilprice/updOilPrice")
+    Map<String, Object> updOilPrice(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsoilprice/delOilPrice")
+    Map<String, Object> delOilPrice(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "/api/v1/rms/rmspersonnel/updateInnerCode")
+    Map<String, Object> updateInnerCode(@RequestBody Map<String, Object> mapValue);
+
+    @PostMapping(value = "api/v1/rms/rmsbusinesstypecontrols/getBusinessTypeControlList")
+    Map<String, Object> getBusinessTypeControlList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                                   @RequestParam("apiId") Integer apiId,
+                                                   @RequestParam("pageNum") Integer pageNum,
+                                                   @RequestParam("pageSize") Integer pageSize);
+
+    @PostMapping(value = "api/v1/rms/rmsbusinesstypecontrols/addBusinessTypeControl")
+    Map<String, Object> addBusinessTypeControl(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsbusinesstypecontrols/updateBusinessTypeControl")
+    Map<String, Object> updateBusinessTypeControl(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsbusinesstypecontrols/deleteBusinessTypeControl")
+    Map<String, Object> deleteBusinessTypeControl(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsbusinesstypecontrols/getBusinessTypeControl")
+    Map<String, Object> getBusinessTypeControl(@RequestBody(required = false) Map<String, Object> mapValue);
+
+    @PostMapping(value = "api/v1/rms/rmscompanybmts/relevance")
+    Map<String, Object> relevance(@RequestBody(required = false) Map<String, Object> mapValue);
+
+    @PostMapping(value = "api/v1/rms/rmscompanybmts/cancelRelevance")
+    Map<String, Object> cancelRelevance(@RequestBody(required = false) Map<String, Object> mapValue);
+
+    @PostMapping(value = "api/v1/rms/rmspersonnel/importPersonnelSyncSSO")
+    RESTfulResult importPersonnelSyncSSO(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsmaterial/getMaterialMapList")
+    RESTfulResult getMaterialMapList(@RequestBody(required = false) Map<String, Object> map,
+                                     @RequestParam("apiId") Integer apiId,
+                                     @RequestParam("pageNum") Integer pageNum,
+                                     @RequestParam("pageSize") Integer pageSize);
+
+    @PostMapping(value = "api/v1/rms/rmscompanyarrivals/getCompanyArrivalList")
+    Map<String, Object> getCompanyArrivalList(@RequestBody(required = false) Map<String, Object> mapValue,
+                                              @RequestParam("apiId") Integer apiId,
+                                              @RequestParam("pageNum") Integer pageNum,
+                                              @RequestParam("pageSize") Integer pageSize);
+
+    @PostMapping(value = "api/v1/rms/rmscompanyarrivals/insertCompanyArrival")
+    Map<String, Object> insertCompanyArrival(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmscompanyarrivals/deleteCompanyArrival")
+    Map<String, Object> deleteCompanyArrival(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmscompanyarrivals/importCompanyArrival")
+    RESTfulResult importCompanyArrival(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsmaterial/addMaterialMap")
+    RESTfulResult addMaterialMap(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/rms/rmsmaterial/delMaterialMap")
+    RESTfulResult delMaterialMap(@RequestBody(required = false) Map<String, Object> map);
+}
+
+

+ 126 - 0
src/main/java/com/steerinfo/dil/feign/SSOFeign.java

@@ -0,0 +1,126 @@
+package com.steerinfo.dil.feign;
+
+
+import com.alibaba.fastjson.JSONObject;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+
+@FeignClient(value = "SSO", url = "${openfeign.SSOFeign.url}")
+public interface SSOFeign {
+
+    /**
+     * 登录
+     *
+     * @param loginName
+     * @param password
+     * @return
+     */
+    @PostMapping("/auth/login")
+    JSONObject login(@RequestParam String loginName,
+                     @RequestParam String password,
+                     @RequestParam String app_code);
+
+    /**
+     * 新增用户
+     *
+     * @param token
+     * @param userCode
+     * @param userName
+     * @param orgCode
+     * @param orgName
+     * @param groupId
+     * @param companyId
+     * @param orgId
+     * @return
+     */
+    @PostMapping("/v1/sysusers/")
+    JSONObject addUser(@RequestHeader("Authorization") String token,
+//            @HeaderMap Map<String,Object> headerMap,
+                       @RequestParam String userName,
+                       @RequestParam String userCode,
+                       @RequestParam String orgName,
+                       @RequestParam String orgCode,
+                       @RequestParam String groupId,
+                       @RequestParam String companyId,
+                       @RequestParam String orgId);
+
+    @DeleteMapping("/v1/sysusers/{userId}")
+    JSONObject deleteUser(@RequestHeader("Authorization") String token,
+                          @PathVariable String userId);
+
+
+    @PutMapping("/v1/sysusers/resetPassword/{userId}")
+    JSONObject resetPassword(@RequestHeader("Authorization") String token,
+                             @PathVariable String userId,
+                             @RequestParam String password,
+                             @RequestBody(required = true) Map<String, Object> map);
+
+    @PutMapping("/v1/sysuserlogins/resetLoginInfo/{userCode}")
+    JSONObject resetLoginInfo(@RequestHeader("Authorization") String token,
+                              @PathVariable String userCode);
+
+    /**
+     * 激活账号
+     *
+     * @param token
+     * @param userId
+     * @param status      1-启用
+     * @param loginStatus 1-激活
+     * @return
+     */
+    @PostMapping("/v1/sysusers/updateUser/{userId}")
+    JSONObject reActive(@RequestHeader("Authorization") String token,
+                        @PathVariable String userId,
+                        @RequestParam(defaultValue = "1") String status,
+                        @RequestParam(defaultValue = "1") String loginStatus);
+
+    @GetMapping("/v1/sysroles/getRolesUser")
+    JSONObject getRolesUser(@RequestHeader("Authorization") String token,
+                            @RequestParam String companyId);
+
+    /**
+     * 授权用户角色
+     *
+     * @param token
+     * @param userId
+     * @param userCode
+     * @param roleId
+     * @return
+     */
+    @PostMapping("/v1/sysuserroles/")
+    JSONObject addUserroles(@RequestHeader("Authorization") String token,
+                            @RequestParam String userId,
+                            @RequestParam String userCode,
+                            @RequestParam String roleId);
+
+
+    /**
+     * 解除用户角色权限
+     *
+     * @param token
+     * @param userRoleId
+     * @return
+     */
+    @DeleteMapping("/v1/sysuserroles/{userRoleId}")
+    Map<String, Object> sysuserrole(@RequestHeader("Authorization") String token,
+                                    @PathVariable(name = "userRoleId") String userRoleId);
+
+    /**
+     * 获取用户角色权限
+     *
+     * @param token
+     * @param userId
+     * @param pageNum
+     * @param pageSize
+     * @return
+     */
+    @GetMapping("/v1/sysuserroles/")
+    Map<String, Object> getSysuserrole(@RequestHeader("Authorization") String token,
+                                       @RequestParam("userId") String userId,
+                                       @RequestParam("pageNum") Integer pageNum,
+                                       @RequestParam("pageSize") Integer pageSize);
+
+}

+ 21 - 0
src/main/java/com/steerinfo/dil/feign/TmiFeign.java

@@ -0,0 +1,21 @@
+package com.steerinfo.dil.feign;
+
+import com.steerinfo.dil.config.MyFeignRequestInterceptor;
+import com.steerinfo.framework.controller.RESTfulResult;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.Map;
+
+
+@FeignClient(value = "ANTAI-TMI-API", url = "${openfeign.TmiFeigh.url}", configuration = MyFeignRequestInterceptor.class)
+public interface TmiFeign {
+
+    @PostMapping(value = "/api/v1/tmi/test/addWmsCarNo")
+    Map<String,Object> addWmsCarNo(@RequestBody Map<String,Object> map);
+
+}

+ 451 - 0
src/main/java/com/steerinfo/dil/feign/TmsFeign.java

@@ -0,0 +1,451 @@
+package com.steerinfo.dil.feign;
+
+import com.steerinfo.dil.config.MyFeignRequestInterceptor;
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiImplicitParam;
+import io.swagger.annotations.ApiImplicitParams;
+import io.swagger.annotations.ApiOperation;
+import oracle.jdbc.proxy.annotation.Post;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.http.MediaType;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.math.BigDecimal;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/9/28 9:30
+ */
+
+@FeignClient(name = "ANTAI-TMS-API", url = "${openfeign.TmsFeign.url}", configuration = MyFeignRequestInterceptor.class)
+public interface TmsFeign {
+
+    //======================>车辆综合实绩
+    @PostMapping("api/v1/tms/tmscomprehensiveresults/gettmscomprehensiveresult")
+    Map<String, Object> getAmsSalaryContracList(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                                @RequestParam Integer pageNum,
+                                                @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmscomprehensiveresults/add")
+    Map<String, Object> addComprehensiveResult(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmscomprehensiveresults/tmscomprehensiveresultsupdate")
+    Map<String, Object> updateAmsSalaryContrac(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmscomprehensiveresults/batchUpdate")
+    Map<String, Object> tmscomprehensiveresultsBatchUpdate(@RequestBody(required = false) List<Map<String, Object>> map);
+
+    @PutMapping("api/v1/tms/tmscomprehensiveresults/logicdelete")
+    Map<String, Object> logicdeleteAmsSaalryContrac(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/dispatchOrder")
+    Map<String, Object> dispatchOrder(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/batchDispatch")
+    Map<String, Object> batchDispatch(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/updateTransOrder")
+    Map<String, Object> updateTransOrder(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/mergeTransOrder")
+    Map<String, Object> mergeTransOrder(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/getTransOrderList")
+    Map<String, Object> getTransOrderList(@RequestBody(required = false) Map<String, Object> map,
+                                          @RequestParam Integer apiId,
+                                          @RequestParam Integer pageNum,
+                                          @RequestParam Integer pageSize);
+
+
+    @PostMapping("api/v1/tms/omstransorders/changeTransOrder")
+    Map<String, Object> changeTransOrder(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/receiptOrder")
+    Map<String, Object> receiptOrder(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/getTransResult")
+    Map<String, Object> getTransResult(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsenfactoryresults/syncEnfactoryResult")
+    Map<String, Object> syncEnfactoryResult(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsoutfactoryresults/syncOutfactoryResult")
+    Map<String, Object> syncOutfactoryResult(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsweightresults/syncWeightResult")
+    Map<String, Object> syncWeightResult(Map<String, Object> map);
+
+
+    @PostMapping("api/v1/tms/tmstimingresults/startend")
+    Map<String, Object> startend(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmstimingresults/updCountResult")
+    Map<String, Object> updCountResult(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmstimingresults/approveTimeResult")
+    Map<String, Object> approveTimeResult(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmstimingresults/resendTimeResult")
+    Map<String, Object> resendTimeResult(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmstimingresults/tmstimingresultsUpdate")
+    Map<String, Object> tmstimingresultsUpdate(Map<String, Object> map);
+
+
+    @PostMapping("api/v1/tms/tmstimingresults/tmstimingresultsList")
+    Map<String, Object> tmstimingresultsList(@RequestBody(required = false) Map<String, Object> map,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmstimingresults/getOrderTimeList")
+    Map<String, Object> getOrderTimeList(@RequestBody(required = false) Map<String, Object> map,
+                                         @RequestParam Integer apiId,
+                                         @RequestParam Integer pageNum,
+                                         @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmstimingresults/getTimeList")
+    Map<String, Object> getTimeList(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/saleDispatchOrder")
+    Map<String, Object> saleDispatchOrder(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/saleDispatchOrderList")
+    Map<String, Object> saleDispatchOrderList(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/getSaleTransOrderList")
+    Map<String, Object> getSaleTransOrderList(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                              @RequestParam Integer pageNum,
+                                              @RequestParam Integer pageSiz);
+
+
+    @PostMapping("api/v1/tms/tmsqualityresults/syncQualityResult")
+    Map<String, Object> syncQualityResult(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmssigninresults/signIn")
+    Map<String, Object> signIn(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsreplacefrontresults/replaceFront")
+    Map<String, Object> replaceFront(Map<String, Object> map);
+
+
+    @PostMapping("api/v1/tms/tmsloadresults/load")
+    Map<String, Object> load(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsloadresults/loadUpd")
+    Map<String, Object> loadUpd(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsunloadresults/unload")
+    Map<String, Object> unload(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsunloadresults/unloadUpd")
+    Map<String, Object> unloadUpd(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsarrivalresults/arrival")
+    Map<String, Object> arrival(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsreceiptresults/receipt")
+    Map<String, Object> receipt(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/getCountEnfactory")
+    Map<String, Object> getCountEnfactory(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmssigninresults/getSignInResultList")
+    Map<String, Object> getSignInResultList(@RequestBody(required = false) Map<String, Object> map,
+                                            @RequestParam Integer apiId,
+                                            @RequestParam Integer pageNum,
+                                            @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsreplacefrontresults/getReplaceFrontResultList")
+    Map<String, Object> getReplaceFrontResultList(@RequestBody(required = false) Map<String, Object> map,
+                                                  @RequestParam Integer apiId,
+                                                  @RequestParam Integer pageNum,
+                                                  @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsenfactoryresults/getEnfactoryResultList")
+    Map<String, Object> getEnfactoryResultList(@RequestBody(required = false) Map<String, Object> map,
+                                               @RequestParam Integer apiId,
+                                               @RequestParam Integer pageNum,
+                                               @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsoutfactoryresults/getOutfactoryResultList")
+    Map<String, Object> getOutfactoryResultList(@RequestBody(required = false) Map<String, Object> map,
+                                                @RequestParam Integer apiId,
+                                                @RequestParam Integer pageNum,
+                                                @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsloadresults/getLoadResultList")
+    Map<String, Object> getLoadResultList(@RequestBody(required = false) Map<String, Object> map,
+                                          @RequestParam Integer apiId,
+                                          @RequestParam Integer pageNum,
+                                          @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsloadresults/purchaseTrainLoadList")
+    Map<String, Object> purchaseTrainLoadList(@RequestBody(required = false) Map<String, Object> map,
+                                              @RequestParam Integer apiId,
+                                              @RequestParam Integer pageNum,
+                                              @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsloadresults/purchaseTrainLoadReport")
+    Map<String, Object> purchaseTrainLoadReport(@RequestBody(required = false) Map<String, Object> map,
+                                                @RequestParam Integer apiId,
+                                                @RequestParam Integer pageNum,
+                                                @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsloadresults/updateTrainLoad")
+    Map<String, Object> updateTrainLoad(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsloadresults/deleteTrainLoad")
+    Map<String, Object> deleteTrainLoad(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsloadresults/updateTrainLoadSeq")
+    Map<String, Object> updateTrainLoadSeq(Map<String, Object> map);
+
+
+    @PostMapping("api/v1/tms/tmsweightresults/purchaseTrainWeightList")
+    Map<String, Object> purchaseTrainWeightList(@RequestBody(required = false) Map<String, Object> map,
+                                                @RequestParam Integer apiId,
+                                                @RequestParam Integer pageNum,
+                                                @RequestParam Integer pageSize);
+
+
+    @PostMapping("api/v1/tms/tmsunloadresults/purchaseTrainUnloadList")
+    Map<String, Object> purchaseTrainUnloadList(@RequestBody(required = false) Map<String, Object> map,
+                                                @RequestParam Integer apiId,
+                                                @RequestParam Integer pageNum,
+                                                @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsweightresults/purchaseTrainWeight")
+    Map<String, Object> purchaseTrainWeight(Map<String, Object> map);
+
+
+    @PostMapping("api/v1/tms/tmsunloadresults/getUnloadResultList")
+    Map<String, Object> getUnloadResultList(@RequestBody(required = false) Map<String, Object> map,
+                                            @RequestParam Integer apiId,
+                                            @RequestParam Integer pageNum,
+                                            @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsweightresults/getWeightResultList")
+    Map<String, Object> getWeightResultList(@RequestBody(required = false) Map<String, Object> map,
+                                            @RequestParam Integer apiId,
+                                            @RequestParam Integer pageNum,
+                                            @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsqualityresults/getQualityResultList")
+    Map<String, Object> getQualityResultList(@RequestBody(required = false) Map<String, Object> map,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsarrivalresults/getArrivalResultList")
+    Map<String, Object> getArrivalResultList(@RequestBody(required = false) Map<String, Object> map,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsreceiptresults/getReceiptResultList")
+    Map<String, Object> getReceiptResultList(@RequestBody(required = false) Map<String, Object> map,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsreceiptresults/updateWeight")
+    RESTfulResult updateWeight(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsloadresults/purchaseTrainLoad")
+    Map<String, Object> purchaseTrainLoad(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsunloadresults/purchaseTrainUnload")
+    Map<String, Object> purchaseTrainUnload(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/changeSaleTransOrder")
+    Map<String, Object> changeSaleTransOrder(Map<String, Object> map);
+
+
+    @PostMapping("api/v1/tms/omstransorders/getDriverTotalResult")
+    Map<String, Object> getDriverTotalResult(@RequestBody(required = false) Map<String, Object> map,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/omstransorders/getCapacityTotalResult")
+    Map<String, Object> getCapacityTotalResult(@RequestBody(required = false) Map<String, Object> map,
+                                               @RequestParam Integer apiId,
+                                               @RequestParam Integer pageNum,
+                                               @RequestParam Integer pageSize);
+
+    @PostMapping(value = "/api/v1/tms/omstransorders/dispatchTask")
+    Map<String, Object> dispatchTask(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "/api/v1/tms/omstransorders/getDlivDirnoSeqList/{id}")
+    RESTfulResult getDlivDirnoSeqList(@PathVariable("id") String id);
+
+    @PostMapping(value = "/api/v1/tms/omstransorders/updateDlivDirnoSeq")
+    RESTfulResult updateDlivDirnoSeq(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "/api/v1/tms/omstransorders/selectDlivDirnoSeqDetails")
+    RESTfulResult selectDlivDirnoSeqDetails(@RequestBody Map<String, Object> map);
+
+
+    @PostMapping(value = "/api/v1/tms/tmsrouteresults/getPathByOrder")
+    RESTfulResult getPathByOrder(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "/api/v1/tms/tmsrouteresults/uploadLocation")
+    RESTfulResult uploadLocation(@RequestBody Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/batchDispatchSc")
+    Map<String, Object> batchDispatchSc(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsweightresults/checkWeightResult")
+    Map<String, Object> checkWeightResult(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/omstransorders/saleDispatchList")
+    RESTfulResult saleDispatchList(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/omstransorders/saleDispatchDuoPin")
+    RESTfulResult saleDispatchDuoPin(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/omstransorders/syncProductionResult")
+    RESTfulResult syncProductionResult(@RequestBody Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/getDriverDayJobForApp")
+    RESTfulResult getDriverDayJobForApp(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId);
+
+    @PostMapping(value = "api/v1/tms/omstransorders/outBound")
+    RESTfulResult outBound(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/omstransorders/revokeOutBound")
+    RESTfulResult revokeOutBound(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/tmstransitorders/likeTransitOrders")
+    Map<String, Object> likeTransitOrders(@RequestBody Map<String, Object> objectMap,
+                                          @RequestParam Integer apiId,
+                                          @RequestParam Integer pageNum,
+                                          @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/tms/tmstransitorders/insertTmsTransitOrder")
+    Map<String, Object> insertTmsTransitOrder(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/tmstransitorders/importTrasitOrder")
+    Map<String, Object> importTrasitOrder(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/tmspleaseapproves/getPleaseApproveList")
+    Map<String, Object> getPleaseApproveList(@RequestBody Map<String, Object> objectMap,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/tms/tmspleaseapproves/addPleaseApprove")
+    Map<String, Object> addPleaseApprove(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/tmspleaseapproves/updPleaseApprove")
+    Map<String, Object> updPleaseApprove(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/tmspleaseapproves/delPleaseApprove")
+    Map<String, Object> delPleaseApprove(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/tmstransitorders/gatepostTransitManager")
+    Map<String, Object> gatepostTransitManager(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/tmscomprehensiveresults/importComprehensiveResult")
+    Map<String, Object> importComprehensiveResult(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/omstransorders/changeTransOrderH")
+    Map<String, Object> changeTransOrderH(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/omstransorders/updateCarNo")
+    Map<String, Object> updateCarNo(Map<String, Object> map);
+
+    @PostMapping(value = "/api/v1/tms/tmsqueuegrids/likeQueueGrid")
+    Map<String, Object> likeQueueGrid(@RequestBody Map<String, Object> objectMap,
+                                      @RequestParam Integer apiId,
+                                      @RequestParam Integer pageNum,
+                                      @RequestParam Integer pageSize);
+
+    @PostMapping(value = "/api/v1/tms/tmsqueueresults/likeQueueResult")
+    Map<String, Object> likeQueueResult(@RequestBody Map<String, Object> objectMap,
+                                        @RequestParam Integer apiId,
+                                        @RequestParam Integer pageNum,
+                                        @RequestParam Integer pageSize);
+
+    @PostMapping(value = "/api/v1/tms/tmsqueuegrids/disposeQueueGrid")
+    Map<String, Object> disposeQueueGrid(Map<String, Object> map);
+
+    @PostMapping(value = "/api/v1/tms/tmsqueueresults/disposeQueueResult")
+    Map<String, Object> disposeQueueResult(Map<String, Object> map);
+
+    @PostMapping(value = "/api/v1/tms/tmsqueuegrids/getGridAllData")
+    Map<String, Object> getGridAllData(Map<String, Object> map);
+
+
+    @PostMapping("api/v1/tms/omstransorders/banTransOrder")
+    Map<String, Object> banTransOrder(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/loadingOperation")
+    Map<String, Object> loadingOperation(@RequestBody(required = false) Map<String, Object> map,
+                                         @RequestParam Integer apiId,
+                                         @RequestParam Integer pageNum,
+                                         @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/omstransorders/updateTrainOrderSeq")
+    Map<String, Object> updateTrainOrderSeq(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/purchaseTrainsOrderList")
+    Map<String, Object> purchaseTrainsOrderList(@RequestBody(required = false) Map<String, Object> map,
+                                                @RequestParam Integer apiId,
+                                                @RequestParam Integer pageNum,
+                                                @RequestParam Integer pageSize);
+
+    @PostMapping("/api/v1/tms/tmsloadresults/disposeHandling")
+    Map<String, Object> disposeHandling(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/tms/omstransorders/getgenerateOperateDaily")
+    Map<String, Object> getgenerateOperateDaily(@RequestBody Map<String, Object> map);   @PostMapping("/api/v1/tms/tmsloadresults/preserveMoveListIn")
+    RESTfulResult preserveMoveListIn(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/tms/tmsunloadresults/preserveMoveListOut")
+    RESTfulResult preserveMoveListOut(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/tms/tmsunloadresults/preserveMoveListRevokeOut")
+    RESTfulResult preserveMoveListRevokeOut(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/tms/tmsloadresults/preserveMoveListRevokeIn")
+    RESTfulResult preserveMoveListRevokeIn(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/tms/omstransorders/modifyChange")
+    RESTfulResult modifyChange(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/tms/tmstimingresults/resartStartTimming")
+    RESTfulResult resartStartTimming(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/tms/omstransorders/correctTransOrder")
+    Map<String, Object> correctTransOrder(Map<String, Object> map);
+
+    @PostMapping("/api/v1/tms/omstransorders/fixedDispatch")
+    Map<String, Object> fixedDispatch();
+
+    @PostMapping("/api/v1/tms/omstransorders/getDispatchRules")
+    Map<String, Object> getDispatchRules(@RequestBody Map<String, Object> params);
+
+    @PostMapping("/api/v1/tms/omstransorders/getZtZxShiji")
+    Map<String, Object> getZtZxShiji(@RequestBody(required = false) Map<String, Object> map,
+                                     @RequestParam Integer apiId,
+                                     @RequestParam Integer pageNum,
+                                     @RequestParam Integer pageSize);
+
+    @PostMapping("/api/v1/tms/omstransorders/disposeMatchLoadData")
+    Map<String, Object> disposeMatchLoadData(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("/api/v1/tms/omstransorders/syncRequirementNumber")
+    Map<String, Object> syncRequirementNumber(@RequestBody Map<String, Object> map);
+}
+
+
+
+
+
+

+ 125 - 0
src/main/java/com/steerinfo/dil/feign/WMSFeign.java

@@ -0,0 +1,125 @@
+package com.steerinfo.dil.feign;
+
+import com.steerinfo.dil.config.MyFeignRequestInterceptor;
+import com.steerinfo.dil.model.WmsSlmDlivDir;
+import com.steerinfo.framework.controller.RESTfulResult;
+import oracle.jdbc.proxy.annotation.Post;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+
+import java.math.BigDecimal;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author luobang
+ * @create 2021-09-17 14:13
+ */
+@FeignClient(value = "ANTAI-WMS-API", url = "${openfeign.WMSFeign.url}", configuration = MyFeignRequestInterceptor.class)
+public interface WMSFeign {
+
+    @PostMapping("api/v1/wms/wmsslmdlivdirs/selectSaleOrderPage")
+    Map<String, Object> selectSaleOrderPage(@RequestBody(required = false) HashMap parmas,
+                                            @RequestParam("apiId") Integer apiId,
+                                            @RequestParam("pageNum") Integer pageNum,
+                                            @RequestParam("pageSize") Integer pageSize);
+
+    @PostMapping("api/v1/wms/wmsslmdlivdirs/add")
+    RESTfulResult addet(@RequestBody HashMap params);
+
+    @PostMapping(value = "api/v1/wms/wmsslmdlivdirs/selectDlivDirNo")
+    Map<String, Object> selectDlivDirNo(@RequestBody(required = false) HashMap params,
+                                        @RequestParam("apiId") Integer apiId,
+                                        @RequestParam("pageNum") Integer pageNum,
+                                        @RequestParam("pageSize") Integer pageSize);
+
+
+    @PostMapping(value = "api/v1/wms/wmsslmdlivdirs/udpateOrder")
+    RESTfulResult udpateOrder(@RequestBody(required = false) HashMap<String, Object> params);
+
+    @GetMapping(value = "api/v1/wms/wmsslmdlivdirs/getcut/{dlivDirno}")
+    RESTfulResult getcut(@PathVariable String dlivDirno);
+
+    @PostMapping(value = "api/v1/wms/wmsslmdlivdirs/returnGoods")
+    RESTfulResult returnGoods(@RequestBody(required = false) HashMap<String, Object> params);
+
+    @PostMapping(value = "api/v1/wms/wmsslmdlivdirs/revokeReturnGoods/{id}")
+    RESTfulResult revokeReturnGoods(@PathVariable("id") String id);
+
+    @PostMapping(value = "api/v1/wms/wmsslmdlivdirs/deleteDlivDirno/{id}")
+    RESTfulResult deleteDlivDirno(@PathVariable("id") String id);
+
+    @PostMapping(value = "api/v1/wms/wmsslmdlivdirs/editButton")
+    RESTfulResult editButton(@RequestBody(required = false) HashMap<String, Object> params);
+
+    //实时库存
+    @PostMapping("api/v1/wms/wmsgridmaterials/wmsgridmaterialsList")
+    Map<String, Object> list(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                             @RequestParam Integer pageNum,
+                             @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/wms/wmsgridmaterials/wmsgridmaterialsinsert")
+    Map<String, Object> insert(@RequestBody(required = false) Map<String, Object> map);
+
+    @PutMapping("api/v1/wms/wmsgridmaterials/wmsgridmaterialsDelete")
+    Map<String, Object> delete(@RequestBody(required = false) Map<String, Object> map);
+
+    @PutMapping("api/v1/wms/wmsgridmaterials/wmsgridmaterialsUpdate/{id}")
+    Map<String, Object> update(@PathVariable BigDecimal id, @RequestBody(required = false) Map<String, Object> map);
+
+
+    @PostMapping("api/v1/wms/wmsgridmaterials/getGridMaterialList")
+    Map<String, Object> getGridMaterialList(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                            @RequestParam Integer pageNum,
+                                            @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/wms/wmsgridmaterials/updateGridMaterial")
+    Map<String, Object> updateGridMaterial(@RequestBody(required = false) Map<String, Object> map);
+
+
+    @PostMapping("api/v1/wms/wmsgridmaterials/getGridMaterialDailyReport")
+    Map<String, Object> getGridMaterialDailyReport(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                                   @RequestParam Integer pageNum,
+                                                   @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/wms/wmsinboundresults/getInboundList")
+    Map<String, Object> getInboundList(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                       @RequestParam Integer pageNum,
+                                       @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/wms/wmsinboundresults/inbound")
+    Map<String, Object> inbound(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/wms/wmsinboundresults/updateInbound")
+    Map<String, Object> updateInbound(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/wms/wmsoutboundresults/getOutboundList")
+    Map<String, Object> getOutboundList(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                        @RequestParam Integer pageNum,
+                                        @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/wms/wmsoutboundresults/outbound")
+    Map<String, Object> outbound(@RequestBody(required = false) Map<String, Object> map);
+
+
+    @PostMapping("api/v1/wms/wmsoutboundresults/updateOutbound")
+    Map<String, Object> updateOutbound(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/wms/wmstransportdetails/addList")
+    String addList(@RequestBody List<Map<String, Object>> ListMap);
+
+    @PutMapping("api/v1/wms/wmstransportdetails/deleteSlmDlivDirListByDlivDirnoSeq")
+    String deleteSlmDlivDirListByDlivDirnoSeq(@RequestParam String dlivDirnoSeq);
+
+
+    @PostMapping("api/v1/wms/wmsgridmaterials/getGridMaterialInfo")
+    Map<String, Object> getGridMaterialInfo(Map<String, Object> objectMap);
+
+    @PostMapping("api/v1/wms/wmsgridmaterials/getMaterialInventoryList")
+    Map<String, Object> getMaterialInventoryList(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                                 @RequestParam Integer pageNum,
+                                                 @RequestParam Integer pageSize);
+}

+ 51 - 0
src/main/java/com/steerinfo/dil/feign/WebSocketFeign.java

@@ -0,0 +1,51 @@
+package com.steerinfo.dil.feign;
+
+import com.steerinfo.framework.controller.RESTfulResult;
+import io.swagger.annotations.ApiImplicitParam;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.HashMap;
+import java.util.List;
+
+/**
+ * @ClassName WebSocketFeign
+ * @Description TODO
+ * @date 2024-02-27 9:31
+ * @Version 1.0
+ */
+
+@FeignClient(name = "WEBSOCKET-API", url = "${openfeign.WebSocketFeign.url}")
+public interface WebSocketFeign {
+    @PostMapping("api/v1/websocket/basewebsocketsends/readWebsocket/{id}")
+    RESTfulResult readWebsocket(@PathVariable("id") String sendId);
+
+    @PostMapping("api/v1/websocket/basewebsocketsends/readingWebsockets")
+    RESTfulResult readingWebsockets(@RequestBody() List<HashMap<String, Object>> list);
+
+    @PostMapping("api/v1/websocket/basewebsocketsends/sendWebsocket/{id}")
+    RESTfulResult sendWebsocket(@PathVariable("id") String webSocketId, @RequestBody HashMap<String, Object> map);
+
+    @GetMapping("api/v1/websocket/basewebsocketsends/")
+    RESTfulResult list(@RequestParam("parmas") HashMap<String, Object> parmas, @RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize);
+
+    @GetMapping("api/v1/websocket/basewebsocketsends/getMessageCount/{id}")
+    RESTfulResult getMessageCount(@PathVariable String id, @RequestParam() String readFlag);
+
+    @GetMapping("api/v1/websocket/basewebsocketpushs/")
+    RESTfulResult basewebsocketpushsList(@RequestParam("parmas") HashMap<String, Object> parmas, @RequestParam("pageNum") Integer pageNum, @RequestParam("pageSize") Integer pageSize);
+
+    @GetMapping("api/v1/websocket/basewebsocketpushs/noPage")
+    RESTfulResult noPage(@RequestParam HashMap<String, Object> parmas);
+
+    @GetMapping("api/v1/websocket/basewebsocketpushs/{id}")
+    RESTfulResult get(@PathVariable String id);
+
+    @GetMapping("api/v1/websocket/basewebsocketpushs/getUserByOrgCode/{orgCode}")
+//String
+    RESTfulResult getUserByOrgCode(@PathVariable("orgCode") String orgCode);
+
+    @PostMapping("/sendWebsocketByIds/{ids}")
+    RESTfulResult sendWebsocketByIds(@PathVariable("ids") String webSocketIds, @RequestBody HashMap<String, Object> map);
+}

+ 441 - 0
src/main/java/com/steerinfo/dil/feign/WlTmsFeign.java

@@ -0,0 +1,441 @@
+package com.steerinfo.dil.feign;
+
+import com.steerinfo.dil.config.MyFeignRequestInterceptor;
+import com.steerinfo.framework.controller.RESTfulResult;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/9/28 9:30
+ */
+
+@FeignClient(name = "ANTAI-WLTMS-API", url = "${openfeign.WlTmsFeign.url}", configuration = MyFeignRequestInterceptor.class)
+public interface WlTmsFeign {
+
+    //======================>车辆综合实绩
+    @PostMapping("api/v1/tms/tmscomprehensiveresults/gettmscomprehensiveresult")
+    Map<String, Object> getAmsSalaryContracList(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                                @RequestParam Integer pageNum,
+                                                @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmscomprehensiveresults/add")
+    Map<String, Object> addComprehensiveResult(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmscomprehensiveresults/tmscomprehensiveresultsupdate")
+    Map<String, Object> updateAmsSalaryContrac(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmscomprehensiveresults/batchUpdate")
+    Map<String, Object> tmscomprehensiveresultsBatchUpdate(@RequestBody(required = false) List<Map<String, Object>> map);
+
+    @PutMapping("api/v1/tms/tmscomprehensiveresults/logicdelete")
+    Map<String, Object> logicdeleteAmsSaalryContrac(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/dispatchOrder")
+    Map<String, Object> dispatchOrder(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/wltms/omstransorders/batchDispatch")
+    Map<String, Object> batchDispatch(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/updateTransOrder")
+    Map<String, Object> updateTransOrder(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/mergeTransOrder")
+    Map<String, Object> mergeTransOrder(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/wltms/omstransorders/getTransOrderList")
+    Map<String, Object> getTransOrderList(@RequestBody(required = false) Map<String, Object> map,
+                                          @RequestParam Integer apiId,
+                                          @RequestParam Integer pageNum,
+                                          @RequestParam Integer pageSize);
+
+
+    @PostMapping("api/v1/wltms/omstransorders/changeTransOrder")
+    Map<String, Object> changeTransOrder(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/receiptOrder")
+    Map<String, Object> receiptOrder(Map<String, Object> map);
+
+    @PostMapping("api/v1/wltms/omstransorders/getTransResult")
+    Map<String, Object> getTransResult(Map<String, Object> map);
+
+    @PostMapping("api/v1/wltms/tmsenfactoryresults/syncEnfactoryResult")
+    Map<String, Object> syncEnfactoryResult(Map<String, Object> map);
+
+    @PostMapping("api/v1/wltms/tmsoutfactoryresults/syncOutfactoryResult")
+    Map<String, Object> syncOutfactoryResult(Map<String, Object> map);
+
+    @PostMapping("api/v1/wltms/tmsweightresults/syncWeightResult")
+    Map<String, Object> syncWeightResult(Map<String, Object> map);
+
+
+    @PostMapping("api/v1/wltms/tmstimingresults/startend")
+    Map<String, Object> startend(Map<String, Object> map);
+
+    @PostMapping("api/v1/wltms/tmstimingresults/updCountResult")
+    Map<String, Object> updCountResult(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmstimingresults/approveTimeResult")
+    Map<String, Object> approveTimeResult(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmstimingresults/resendTimeResult")
+    Map<String, Object> resendTimeResult(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmstimingresults/tmstimingresultsUpdate")
+    Map<String, Object> tmstimingresultsUpdate(Map<String, Object> map);
+
+
+    @PostMapping("api/v1/tms/tmstimingresults/tmstimingresultsList")
+    Map<String, Object> tmstimingresultsList(@RequestBody(required = false) Map<String, Object> map,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmstimingresults/getOrderTimeList")
+    Map<String, Object> getOrderTimeList(@RequestBody(required = false) Map<String, Object> map,
+                                         @RequestParam Integer apiId,
+                                         @RequestParam Integer pageNum,
+                                         @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmstimingresults/getTimeList")
+    Map<String, Object> getTimeList(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/wltms/omstransorders/saleDispatchOrder")
+    Map<String, Object> saleDispatchOrder(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/wltms/omstransorders/saleDispatchOrderList")
+    Map<String, Object> saleDispatchOrderList(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/getSaleTransOrderList")
+    Map<String, Object> getSaleTransOrderList(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId,
+                                              @RequestParam Integer pageNum,
+                                              @RequestParam Integer pageSiz);
+
+
+    @PostMapping("api/v1/tms/tmsqualityresults/syncQualityResult")
+    Map<String, Object> syncQualityResult(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/wltms/tmssigninresults/signIn")
+    Map<String, Object> signIn(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsreplacefrontresults/replaceFront")
+    Map<String, Object> replaceFront(Map<String, Object> map);
+
+
+    @PostMapping("api/v1/tms/tmsloadresults/load")
+    Map<String, Object> load(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsloadresults/loadUpd")
+    Map<String, Object> loadUpd(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsunloadresults/unload")
+    Map<String, Object> unload(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsunloadresults/unloadUpd")
+    Map<String, Object> unloadUpd(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsarrivalresults/arrival")
+    Map<String, Object> arrival(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsreceiptresults/receipt")
+    Map<String, Object> receipt(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/getCountEnfactory")
+    Map<String, Object> getCountEnfactory(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmssigninresults/getSignInResultList")
+    Map<String, Object> getSignInResultList(@RequestBody(required = false) Map<String, Object> map,
+                                            @RequestParam Integer apiId,
+                                            @RequestParam Integer pageNum,
+                                            @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsreplacefrontresults/getReplaceFrontResultList")
+    Map<String, Object> getReplaceFrontResultList(@RequestBody(required = false) Map<String, Object> map,
+                                                  @RequestParam Integer apiId,
+                                                  @RequestParam Integer pageNum,
+                                                  @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsenfactoryresults/getEnfactoryResultList")
+    Map<String, Object> getEnfactoryResultList(@RequestBody(required = false) Map<String, Object> map,
+                                               @RequestParam Integer apiId,
+                                               @RequestParam Integer pageNum,
+                                               @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsoutfactoryresults/getOutfactoryResultList")
+    Map<String, Object> getOutfactoryResultList(@RequestBody(required = false) Map<String, Object> map,
+                                                @RequestParam Integer apiId,
+                                                @RequestParam Integer pageNum,
+                                                @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsloadresults/getLoadResultList")
+    Map<String, Object> getLoadResultList(@RequestBody(required = false) Map<String, Object> map,
+                                          @RequestParam Integer apiId,
+                                          @RequestParam Integer pageNum,
+                                          @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsloadresults/purchaseTrainLoadList")
+    Map<String, Object> purchaseTrainLoadList(@RequestBody(required = false) Map<String, Object> map,
+                                              @RequestParam Integer apiId,
+                                              @RequestParam Integer pageNum,
+                                              @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsloadresults/purchaseTrainLoadReport")
+    Map<String, Object> purchaseTrainLoadReport(@RequestBody(required = false) Map<String, Object> map,
+                                                @RequestParam Integer apiId,
+                                                @RequestParam Integer pageNum,
+                                                @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsloadresults/updateTrainLoad")
+    Map<String, Object> updateTrainLoad(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsloadresults/deleteTrainLoad")
+    Map<String, Object> deleteTrainLoad(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsloadresults/updateTrainLoadSeq")
+    Map<String, Object> updateTrainLoadSeq(Map<String, Object> map);
+
+
+    @PostMapping("api/v1/tms/tmsweightresults/purchaseTrainWeightList")
+    Map<String, Object> purchaseTrainWeightList(@RequestBody(required = false) Map<String, Object> map,
+                                                @RequestParam Integer apiId,
+                                                @RequestParam Integer pageNum,
+                                                @RequestParam Integer pageSize);
+
+
+    @PostMapping("api/v1/tms/tmsunloadresults/purchaseTrainUnloadList")
+    Map<String, Object> purchaseTrainUnloadList(@RequestBody(required = false) Map<String, Object> map,
+                                                @RequestParam Integer apiId,
+                                                @RequestParam Integer pageNum,
+                                                @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsweightresults/purchaseTrainWeight")
+    Map<String, Object> purchaseTrainWeight(Map<String, Object> map);
+
+
+    @PostMapping("api/v1/tms/tmsunloadresults/getUnloadResultList")
+    Map<String, Object> getUnloadResultList(@RequestBody(required = false) Map<String, Object> map,
+                                            @RequestParam Integer apiId,
+                                            @RequestParam Integer pageNum,
+                                            @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsweightresults/getWeightResultList")
+    Map<String, Object> getWeightResultList(@RequestBody(required = false) Map<String, Object> map,
+                                            @RequestParam Integer apiId,
+                                            @RequestParam Integer pageNum,
+                                            @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsqualityresults/getQualityResultList")
+    Map<String, Object> getQualityResultList(@RequestBody(required = false) Map<String, Object> map,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsarrivalresults/getArrivalResultList")
+    Map<String, Object> getArrivalResultList(@RequestBody(required = false) Map<String, Object> map,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsreceiptresults/getReceiptResultList")
+    Map<String, Object> getReceiptResultList(@RequestBody(required = false) Map<String, Object> map,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/tmsreceiptresults/updateWeight")
+    RESTfulResult updateWeight(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsloadresults/purchaseTrainLoad")
+    Map<String, Object> purchaseTrainLoad(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsunloadresults/purchaseTrainUnload")
+    Map<String, Object> purchaseTrainUnload(Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/changeSaleTransOrder")
+    Map<String, Object> changeSaleTransOrder(Map<String, Object> map);
+
+
+    @PostMapping("api/v1/tms/omstransorders/getDriverTotalResult")
+    Map<String, Object> getDriverTotalResult(@RequestBody(required = false) Map<String, Object> map,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/omstransorders/getCapacityTotalResult")
+    Map<String, Object> getCapacityTotalResult(@RequestBody(required = false) Map<String, Object> map,
+                                               @RequestParam Integer apiId,
+                                               @RequestParam Integer pageNum,
+                                               @RequestParam Integer pageSize);
+
+    @PostMapping(value = "/api/v1/tms/omstransorders/dispatchTask")
+    Map<String, Object> dispatchTask(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "/api/v1/tms/omstransorders/getDlivDirnoSeqList/{id}")
+    RESTfulResult getDlivDirnoSeqList(@PathVariable("id") String id);
+
+    @PostMapping(value = "/api/v1/tms/omstransorders/updateDlivDirnoSeq")
+    RESTfulResult updateDlivDirnoSeq(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "/api/v1/tms/omstransorders/selectDlivDirnoSeqDetails")
+    RESTfulResult selectDlivDirnoSeqDetails(@RequestBody Map<String, Object> map);
+
+
+    @PostMapping(value = "/api/v1/tms/tmsrouteresults/getPathByOrder")
+    RESTfulResult getPathByOrder(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "/api/v1/tms/tmsrouteresults/uploadLocation")
+    RESTfulResult uploadLocation(@RequestBody Map<String, Object> map);
+
+    @PostMapping("api/v1/wltms/omstransorders/batchDispatchSc")
+    Map<String, Object> batchDispatchSc(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/tmsweightresults/checkWeightResult")
+    Map<String, Object> checkWeightResult(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/omstransorders/saleDispatchList")
+    RESTfulResult saleDispatchList(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/omstransorders/saleDispatchDuoPin")
+    RESTfulResult saleDispatchDuoPin(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/omstransorders/syncProductionResult")
+    RESTfulResult syncProductionResult(@RequestBody Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/getDriverDayJobForApp")
+    RESTfulResult getDriverDayJobForApp(@RequestBody(required = false) Map<String, Object> map, @RequestParam Integer apiId);
+
+    @PostMapping(value = "api/v1/tms/omstransorders/outBound")
+    RESTfulResult outBound(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/omstransorders/revokeOutBound")
+    RESTfulResult revokeOutBound(@RequestBody Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/tmstransitorders/likeTransitOrders")
+    Map<String, Object> likeTransitOrders(@RequestBody Map<String, Object> objectMap,
+                                          @RequestParam Integer apiId,
+                                          @RequestParam Integer pageNum,
+                                          @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/tms/tmstransitorders/insertTmsTransitOrder")
+    Map<String, Object> insertTmsTransitOrder(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/tmstransitorders/importTrasitOrder")
+    Map<String, Object> importTrasitOrder(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/tmspleaseapproves/getPleaseApproveList")
+    Map<String, Object> getPleaseApproveList(@RequestBody Map<String, Object> objectMap,
+                                             @RequestParam Integer apiId,
+                                             @RequestParam Integer pageNum,
+                                             @RequestParam Integer pageSize);
+
+    @PostMapping(value = "api/v1/tms/tmspleaseapproves/addPleaseApprove")
+    Map<String, Object> addPleaseApprove(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/tmspleaseapproves/updPleaseApprove")
+    Map<String, Object> updPleaseApprove(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/tmspleaseapproves/delPleaseApprove")
+    Map<String, Object> delPleaseApprove(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/tmstransitorders/gatepostTransitManager")
+    Map<String, Object> gatepostTransitManager(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/tmscomprehensiveresults/importComprehensiveResult")
+    Map<String, Object> importComprehensiveResult(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/omstransorders/changeTransOrderH")
+    Map<String, Object> changeTransOrderH(Map<String, Object> map);
+
+    @PostMapping(value = "api/v1/tms/omstransorders/updateCarNo")
+    Map<String, Object> updateCarNo(Map<String, Object> map);
+
+    @PostMapping(value = "/api/v1/tms/tmsqueuegrids/likeQueueGrid")
+    Map<String, Object> likeQueueGrid(@RequestBody Map<String, Object> objectMap,
+                                      @RequestParam Integer apiId,
+                                      @RequestParam Integer pageNum,
+                                      @RequestParam Integer pageSize);
+
+    @PostMapping(value = "/api/v1/tms/tmsqueueresults/likeQueueResult")
+    Map<String, Object> likeQueueResult(@RequestBody Map<String, Object> objectMap,
+                                        @RequestParam Integer apiId,
+                                        @RequestParam Integer pageNum,
+                                        @RequestParam Integer pageSize);
+
+    @PostMapping(value = "/api/v1/tms/tmsqueuegrids/disposeQueueGrid")
+    Map<String, Object> disposeQueueGrid(Map<String, Object> map);
+
+    @PostMapping(value = "/api/v1/tms/tmsqueueresults/disposeQueueResult")
+    Map<String, Object> disposeQueueResult(Map<String, Object> map);
+
+    @PostMapping(value = "/api/v1/tms/tmsqueuegrids/getGridAllData")
+    Map<String, Object> getGridAllData(Map<String, Object> map);
+
+
+    @PostMapping("api/v1/tms/omstransorders/banTransOrder")
+    Map<String, Object> banTransOrder(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/loadingOperation")
+    Map<String, Object> loadingOperation(@RequestBody(required = false) Map<String, Object> map,
+                                         @RequestParam Integer apiId,
+                                         @RequestParam Integer pageNum,
+                                         @RequestParam Integer pageSize);
+
+    @PostMapping("api/v1/tms/omstransorders/updateTrainOrderSeq")
+    Map<String, Object> updateTrainOrderSeq(@RequestBody(required = false) Map<String, Object> map);
+
+    @PostMapping("api/v1/tms/omstransorders/purchaseTrainsOrderList")
+    Map<String, Object> purchaseTrainsOrderList(@RequestBody(required = false) Map<String, Object> map,
+                                                @RequestParam Integer apiId,
+                                                @RequestParam Integer pageNum,
+                                                @RequestParam Integer pageSize);
+
+    @PostMapping("/api/v1/tms/tmsloadresults/disposeHandling")
+    Map<String, Object> disposeHandling(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/tms/omstransorders/getgenerateOperateDaily")
+    Map<String, Object> getgenerateOperateDaily(@RequestBody Map<String, Object> map);   @PostMapping("/api/v1/tms/tmsloadresults/preserveMoveListIn")
+    RESTfulResult preserveMoveListIn(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/tms/tmsunloadresults/preserveMoveListOut")
+    RESTfulResult preserveMoveListOut(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/tms/tmsunloadresults/preserveMoveListRevokeOut")
+    RESTfulResult preserveMoveListRevokeOut(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/tms/tmsloadresults/preserveMoveListRevokeIn")
+    RESTfulResult preserveMoveListRevokeIn(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/tms/omstransorders/modifyChange")
+    RESTfulResult modifyChange(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/tms/tmstimingresults/resartStartTimming")
+    RESTfulResult resartStartTimming(@RequestBody Map<String, Object> map);
+
+    @PostMapping("/api/v1/tms/omstransorders/correctTransOrder")
+    Map<String, Object> correctTransOrder(Map<String, Object> map);
+
+    @PostMapping("/api/v1/tms/omstransorders/fixedDispatch")
+    Map<String, Object> fixedDispatch();
+
+    @PostMapping("/api/v1/tms/omstransorders/getDispatchRules")
+    Map<String, Object> getDispatchRules(@RequestBody Map<String, Object> params);
+
+    @PostMapping("/api/v1/tms/omstransorders/getZtZxShiji")
+    Map<String, Object> getZtZxShiji(@RequestBody(required = false) Map<String, Object> map,
+                                     @RequestParam Integer apiId,
+                                     @RequestParam Integer pageNum,
+                                     @RequestParam Integer pageSize);
+
+    @PostMapping("/api/v1/tms/omstransorders/disposeMatchLoadData")
+    Map<String, Object> disposeMatchLoadData(@RequestBody(required = false) Map<String, Object> map);
+
+}
+
+
+
+
+
+

+ 22 - 0
src/main/java/com/steerinfo/dil/interceptors/MyLocaleChangeInterceptor.java

@@ -0,0 +1,22 @@
+package com.steerinfo.dil.interceptors;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.servlet.i18n.LocaleChangeInterceptor;
+
+/**
+ * @Author zhangnan
+ * @Date 2021/4/23 8:19
+ * @Version 1.0
+ */
+
+@Configuration
+public class MyLocaleChangeInterceptor {
+
+    //国际化配置
+    @Bean
+    public LocaleChangeInterceptor localeChangeInterceptor() {
+        return new LocaleChangeInterceptor();
+    }
+
+}

+ 33 - 0
src/main/java/com/steerinfo/dil/mapper/BackgroundProcessingMapper.java

@@ -0,0 +1,33 @@
+package com.steerinfo.dil.mapper;
+
+import org.apache.ibatis.annotations.Param;
+import org.mapstruct.Mapper;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface BackgroundProcessingMapper {
+
+
+    Map<String, Object> getUserInfo(String userName);
+
+    List<Map<String, Object>> getCapacityList(BigDecimal personnelId);
+
+    Map<String, Object> selectCompanyId(String orgName, String roleName);
+
+    List<Map<String, Object>> getCompanyList(String userName);
+
+    List<Map<String, Object>> getCurrentCompanyList(String loginName);
+
+    Map<String, Object> getCompanyRootMap(String loginName);
+
+    Map<String, Object> getCapacityMap(String loginName);
+
+    Map<String, Object> getPersonnelMap(String loginName);
+
+    int submitOrderStatus(Map<String, Object> map);
+
+}

+ 8 - 0
src/main/java/com/steerinfo/dil/mapper/CommonMapper.java

@@ -0,0 +1,8 @@
+package com.steerinfo.dil.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface CommonMapper {
+
+}

+ 15 - 0
src/main/java/com/steerinfo/dil/mapper/DilAppCidMapper.java

@@ -0,0 +1,15 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.DilAppCid;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+
+@Mapper
+public interface DilAppCidMapper extends IBaseMapper<DilAppCid, BigDecimal> {
+
+    @Select("select SEQ_DIL_APP_CID.nextval from dual")
+    BigDecimal nextId();
+}

+ 18 - 0
src/main/java/com/steerinfo/dil/mapper/DilCidCapacityMapper.java

@@ -0,0 +1,18 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.DilCidCapacity;
+import com.steerinfo.framework.mapper.IBaseMapper;
+
+import java.math.*;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+@Mapper
+public interface DilCidCapacityMapper extends IBaseMapper<DilCidCapacity, BigDecimal> {
+
+    @Select("select seq_dil_cid_capacityNo.nextval from dual")
+    BigDecimal getCidMax();
+
+    Integer selectByCidAndCapacityNo(String cid, String capacityNo);
+}

+ 21 - 0
src/main/java/com/steerinfo/dil/mapper/DilRoleOrgcodeTableMapper.java

@@ -0,0 +1,21 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.DilRoleOrgcodeTable;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+import java.util.Map;
+
+@Mapper
+public interface DilRoleOrgcodeTableMapper extends IBaseMapper<DilRoleOrgcodeTable, BigDecimal> {
+
+    @Select("select seq__dilTableColumn.nextval from dual")
+    BigDecimal getPrimaryId();
+
+    int updateEnableStatus(Map<String, Object> map);
+
+    int deleteSchmenLColumnData(Map<String, Object> map);
+
+}

+ 13 - 0
src/main/java/com/steerinfo/dil/mapper/DilTableColumnRoleMapper.java

@@ -0,0 +1,13 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.DilTableColumnRole;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+import java.math.BigDecimal;
+
+@Mapper
+public interface DilTableColumnRoleMapper extends IBaseMapper<DilTableColumnRole, BigDecimal> {
+    BigDecimal selectColumnId(String s, String tableName);
+
+}

+ 25 - 0
src/main/java/com/steerinfo/dil/mapper/DilVersionMapper.java

@@ -0,0 +1,25 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.DilVersion;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+
+@Mapper
+public interface DilVersionMapper extends IBaseMapper<DilVersion, BigDecimal> {
+
+    //查询最大主键
+    @Select("select max(DV.VERSION_ID) + 1 from DIL_VERSION DV")
+    BigDecimal selectMaxId();
+
+    //查询最新的APP版本号
+    String getAppVersion();
+
+    //查询最新的PDA版本号
+    String getPDAVersion();
+
+    //查询版本号是否已存在
+    Integer getVersionId(String version);
+}

+ 17 - 0
src/main/java/com/steerinfo/dil/mapper/LogResultMapper.java

@@ -0,0 +1,17 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.LogResult;
+import com.steerinfo.framework.mapper.IBaseMapper;
+
+import java.math.*;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Options;
+import org.apache.ibatis.annotations.Select;
+
+@Mapper
+public interface LogResultMapper extends IBaseMapper<LogResult, BigDecimal> {
+    @Select("select SEQ_LOG_RESULT.nextval from dual")
+    @Options(flushCache = Options.FlushCachePolicy.TRUE)
+    BigDecimal nextId();
+}

+ 406 - 0
src/main/java/com/steerinfo/dil/mapper/OmstruckOrderMapper.java

@@ -0,0 +1,406 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.OmstruckOrder;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface OmstruckOrderMapper extends IBaseMapper<OmstruckOrder, BigDecimal> {
+    //根据销售订单id查找销售订单信息
+    List<Map<String, Object>> selectSaleNumberForCarrier(Integer saleOrderId);
+
+    //查询已接收的焦炭发运计划
+    List<Map<String, Object>> selectCokeDayPlanAndRecived(Map<String, Object> map);
+
+    //查询已接收的水渣发运计划
+    List<Map<String, Object>> selectWaterSlagDayPlanAndRecived(Integer carrierId);
+
+    //查询所有运输订单信息 状态:3
+    //查询所有已下发运输订单 状态:4
+    List<Map<String, Object>> getAllTruckOrder(Map<String, Object> map);
+
+    //查询最大主键Id
+    @Select("select seq_omstruck_order.nextval from dual")
+    BigDecimal selectMaxId();
+
+    //通过运输订单Id查询运输订单号
+    String getOrderNumberByOrderId(Integer orderId);
+
+    //通过运输订单号查询运输订单ID
+    Integer getOrderIdByOrderNumber(String orderNumber);
+
+    //查询所有运力信息
+    List<Map<String, Object>> getAllCapacity(Map<String, Object> map);
+
+    //通过运力Id 或 车牌号 修改运输状态
+    int updateCapacityByCarIdOrNum(Map<String, Object> map);
+
+    int updateCapacityById(Map<String, Object> map);
+
+    //通过运输订单ID 或 运输订单号 查询运力Id
+    BigDecimal getCapacityIdByOrderOrNum(Map<String, Object> map);
+
+    //通过ID获取派单时间
+    Date getInsertTimeById(Integer orderId);
+
+    //通过车牌号查询运力id
+    BigDecimal getCapacityIdByCapacityNum(String capacityNumber);
+
+    //司机接单调用接口 通过运力Id匹配  /  通过运单ID查询运单信息 APP
+    //查询所有接单或拒绝接单的订单 PC -- 采购
+    List<Map<String, Object>> getTruckOrderByCapacityNum(Map<String, Object> map);
+
+    //查询所有接单或拒绝接单的订单 PC -- 销售
+    List<Map<String, Object>> getSaleTruckOrderByCapacityNum(Map<String, Object> map);
+
+    //查询司机所有已拒绝过的订单
+    List<Map<String, Object>> getReceiveRefuseOrderByCapacityId(Map<String, Object> map);
+
+    //  通过运输订单号或运输订单ID查询总实绩ID和订单类型
+    Map<String, Object> getResultTotalIdByOrderNumAndId(Map<String, Object> map);
+
+    // 通过运输订单Id查询运输订单子表有几种物资 :物资ID
+    List<Integer> getMaterialIdListByOrderId(Integer orderId);
+
+    // 查询实绩地点和时间
+    List<Map<String, Object>> selectPlaceAndTime(BigDecimal orderId);
+
+    //通过运单号查询运单信息
+    List<Map<String, Object>> getOrderByOrderId(BigDecimal orderId);
+
+    //通过运输订单号查询预设路径的作业点ID  及 总实绩ID
+    Map<String, Object> getPointIdByOrderNum(Map<String, Object> map);
+
+    //运输派单
+    List<Map<String, Object>> getTransportDispatch(Map<String, Object> map);
+
+    //查询已下发未接受的销售订单信息
+    List<Map<String, Object>> getOrderUnReceive(BigDecimal orderType);
+
+    //查询已下发已接受的销售订单信息
+    List<Map<String, Object>> getOrderReceived(BigDecimal orderType);
+
+    //通过销售订单物资ID查找物资理重和物资件数
+    Map<String, Object> selectTheoreticalWeightAndMaterialNumber(Integer saleOrderMaterialId);
+
+    //销售物流:展示已经形成订单的水渣发运计划
+    List<Map<String, Object>> selectWaterSlagForOrder(Map<String, Object> map);
+
+    //销售物流:展示已经形成订单的焦炭发运计划
+    List<Map<String, Object>> selectCokeRailPlanForOrder(Map<String, Object> map);
+
+    //通过车序号表id查找物资id
+    List<Map<String, Object>> selectMaterialIdBysaleOrderMaterialId(Integer saleOrderMaterialId);
+
+    //查找司机排班表信息
+    List<Map<String, Object>> selectCapacityAndDriver(Map<String, Object> map);
+
+    //通过用户id查找用户姓名
+    String selectPersonNameByPersonnelId(Integer personnelId);
+
+    //通过车牌号、承运商匹配最新的运力id
+    BigDecimal selectCapacityId(BigDecimal carrierId, String capacityNumber);
+
+    //通过运输订单ID查询数据 用于websocket推送数据
+    Map<String, Object> pushMesToWebsocket(Map<String, Object> map);
+
+    //通过物资id查询批次表匹配最新的批次,关联最新的采购订单号
+    Map<String, Object> selectNewOrderId(Map<String, Object> map);
+
+    //查询所有的收货单位
+    List<Map<String, Object>> getReceivingUnit();
+
+    //查询所有的发货单位
+    List<Map<String, Object>> getSupplier();
+
+    //通过采购订单号查找采购订单ID
+    BigDecimal getPurchaseOrderIdByNo(String purchaseOrderNo);
+
+
+    //App
+    //查询主干信息
+    Map<String, Object> getSaleTruckOrderByCapacityId(Map<String, Object> map);
+
+    //查询物资信息
+    List<Map<String, Object>> getSaleTruckOrderByCapacityNumMaterial(Map<String, Object> map);
+
+    //根据发运计划id查找物资id
+    Map<String, Object> selectMaterialIdAndWeightByDayPlanId(Integer dayPlanId);
+
+    //销售模块,查看所有订单
+    List<Map<String, Object>> selectAllOrderForSale(Map<String, Object> map);
+
+    //根据车序号id查找销售订单
+    List<Map<String, Object>> selectSaleBySaleOrderMaterialId(Integer saleOrderMaterialId);
+
+
+    //销售:接收运输订单展示pc端界面
+    List<Map<String, Object>> selectTransportOrderForSale(Map<String, Object> map);
+
+    List<Map<String, Object>> selectTransportOrderForSale1(Map<String, Object> map);
+
+    //销售:根据承运商查找承运商
+    List<Map<String, Object>> selectSaleMaterialIdByCarrierId(Integer carrierId);
+
+    //根据承运商查找销售订单
+    List<Map<String, Object>> selectSteelSaleForCarrier(Map<String, Object> map);
+
+    //根据销售订单id查找信息
+    List<Map<String, Object>> selectInfoBySaleOrderId(Integer saleOrderId);
+
+    //根据承运商查找发运计划
+    List<Map<String, Object>> selectCokeRailPlan(Map<String, Object> map);
+
+    //根据发运计划查找信息
+    List<Map<String, Object>> selectInfoByDayPlanId(Map<String, Object> map);
+
+    // 车牌号下拉
+    List<Map<String, Object>> getDriverCapacity();
+
+    // 派单信息
+    Map<String, Object> getTruckNoDispatchMap(BigDecimal dispatchId);
+
+    // 物资信息
+    List<Map<String, Object>> getMaterialMessages(BigDecimal dispatchId);
+
+    // 得到销售订单与物资中间表id
+    BigDecimal getSaleMaterialId(BigDecimal dispatchId);
+
+    // 根据车牌号查询运力id
+    BigDecimal getCapacityId(String capacityNumber);
+
+    // 根据运力id查询司机排班id
+    BigDecimal getDriverCapacityId(BigDecimal capacityId);
+
+    List<Map<String, Object>> getCapacityAndDriver(Map<String, Object> mapValue);
+
+    List<BigDecimal> getNullOrNotNull(BigDecimal dispatchId);
+
+    BigDecimal getInwardMaterial(BigDecimal planId);
+
+    List<Map<String, Object>> getInwardOrderList(Map<String, Object> mapValue);
+
+    List<Map<String, Object>> getResultList(BigDecimal driverCapacityId);
+
+    Map<String, Object> sendOrderToApp(Map<String, Object> map);
+
+    Map<String, Object> getSaleOrderMap(BigDecimal orderId);
+
+    Map<String, Object> getSteelInwardOrderMap(BigDecimal orderId);
+
+    Map<String, Object> getPurchaseOrderMap(BigDecimal orderId);
+
+    Map<String, Object> getInwardOrderMap(BigDecimal orderId);
+
+    //通过订单Id查询该订单下所有的物资
+    List<Map<String, Object>> getMaterialMes(@Param("orderId") BigDecimal orderId, @Param("steelJudge") String steelJudge);
+
+    //通过订单Id查询该订单下所有的物资
+    List<Map<String, Object>> getMaterialMesForGrossWeight(BigDecimal orderId, String steelJudge);
+
+    //通过订单Id查询该订单下所有的物资
+    List<Map<String, Object>> getMaterialMesNew(@Param("orderId") BigDecimal orderId, @Param("steelJudge") String steelJudge);
+
+    //根据运输订单查询车牌号
+    String selectCapacityNumber(BigDecimal orderId);
+
+    //根据运输订单查询运输状态
+    BigDecimal selectOrderType(BigDecimal orderId);
+
+    BigDecimal selectOrderId(BigDecimal dcId);
+
+    //查询采购订单数据 给司机
+    Map<String, Object> getCGOrderMessageToApp(Map<String, Object> map);
+
+    //查询内转运输订单给APP 9 10 11
+    Map<String, Object> getNZOrderMessageToApp(Map<String, Object> map);
+
+    //查询采购零星物资订单给app 12 13 14
+    Map<String, Object> getSporadicOrder(Map<String, Object> map);
+
+    //查询发运计划运输订单给APP  2 3 4
+    Map<String, Object> getFYJHOrderMessageToApp(Map<String, Object> map);
+
+    //查询销售运输订单给APP 1
+    Map<String, Object> getXSOrderMessageToApp(Map<String, Object> map);
+
+
+    //通过运输订单号查询运输订单类型
+    Integer getOrderTypeByOrderNumber(@Param("orderId") BigDecimal orderId);
+
+    //通过车牌号查询该车牌下所有已下发 未接收 的 订单Id (4)
+    List<Map<String, Object>> getOrderIdListByCapacityNumber(String capacityNumber);
+
+    //通过车牌号查询该车牌下所有已接收的订单ID (5)
+    List<Integer> getReceiveOrderIdListByCapacityNum(String capacityNumber);
+
+    //通过车牌号查询运输订单号和运输订单ID
+    List<Map<String, Object>> getAllRefuseOrderNumberByCapacity(String capacityNumber);
+
+    //通过运输订单Id或运输订单号查询订单类型
+    Integer getOrderTypeByOrderId(BigDecimal orderId);
+
+    // 销售中的运输订单
+    Map<String, Object> getSaleMap(BigDecimal orderId);
+
+    // 内转钢材的运输订单
+    Map<String, Object> getSteelInwardMap(BigDecimal orderId);
+
+    // 采购的运输订单
+    Map<String, Object> getPurchaseMap(BigDecimal orderId);
+
+    // 内转的运输订单
+    Map<String, Object> getInwardMap(BigDecimal orderId);
+
+    // 判断是走采购,销售还是内转
+    List<Map<String, Object>> getResultListByCapacity(String capacityNumber);
+
+    // 通过卸货点名称查询卸货点id
+    BigDecimal getUnloadPointId(String unloadPoint);
+
+    // 通过ssoId查询承运商id
+    BigDecimal getCarrierIdBySSO(String carrierSsoId);
+
+    List<Map<String, Object>> getOrderMaterialList(BigDecimal orderId);
+
+    //通过订单查询趟次
+    Map<String, Object> getSporadicOrderTimes(BigDecimal orderId);
+
+
+    //根据运输订单id查找所有实绩id
+    List<Map<String, Object>> getAllResultId(BigDecimal orderId);
+
+    //查询订单是否确认
+    Integer getDriverConfirmation(BigDecimal orderId);
+
+    //查看当前订单最大路段顺序号 与当前订单路段顺序号
+    Map<String, Object> getMaxLineSeqByOrderId(BigDecimal orderId);
+
+    //查看配置表的相关信息
+    String getDilVersion();
+
+    //查询运输订单的送货单打印信息
+    BigDecimal getPrintNumber(BigDecimal orderId);
+
+    //通过订单id查询零星订单id,运力id
+    Map<String, Object> getSporadicOrdermapAddOrder(BigDecimal orderId);
+
+    //判断是否是钢材
+    BigDecimal getIsSteel(BigDecimal lineId);
+
+    //通过定向派单ID查询车序号表中的priceId
+    BigDecimal getPriceIdByDispatchId(BigDecimal dispatchId);
+
+    //
+//    //通过订单查询趟次
+//    Integer getSporadicOrderTimes(BigDecimal orderId);
+    //删除计重实绩
+    int deleteWeightResult(BigDecimal resultTotalId);
+
+    //删除装货实绩
+    int deleteLoadResult(BigDecimal resultTotalId);
+
+    //删除出厂实绩
+    int deleteLeaveResult(BigDecimal resultTotalId);
+
+    //删除卸货实绩
+    int deleteUnloadResult(BigDecimal resultTotalId);
+
+    //删除进厂实绩
+    int deleteEnResult(BigDecimal resultTotalId);
+
+    //判断计时实绩是否已经存在
+    int getTimeTaskByTotalId(BigDecimal resultTotalId);
+
+    List<Map<String, Object>> getPurInwardOrderList(Map<String, Object> mapValue);
+
+    Map<String, Object> selectOrderMap(BigDecimal orderId);
+
+    int refuseCtrlZ(Map<String, Object> map);
+
+    Map<String, Object> getInwardOrderMessageToApp(Map<String, Object> map);
+
+    //计时订单
+    Map<String, Object> getInwardTimeOrderMessageToApp(Map<String, Object> map) throws Exception;
+
+    //根据运输订单号查找需要用车时长
+    Map<String, Object> selectInwardTimeByOrderId(BigDecimal orderId);
+
+    List<Map<String, Object>> getTimeTaskEndDetail(Map<String, Object> map);
+
+    List<Map<String, Object>> getPauseTimeTaskDetail(Integer orderId);
+
+    Map<String, Object> getInwardOrderMessage(Map<String, Object> map);
+
+    //删除计时实绩
+    int deleteTimeTaskByTotalId(BigDecimal resultTotalId);
+
+    int closeTruckOrder(BigDecimal orderId);
+
+    Map<String, Object> getSteelOrderMessageToApp(Map<String, Object> map);
+
+    List<Map<String, Object>> getLoadForLoadCarResult(Map<String, Object> map);
+
+    // 查询路段顺序号
+    BigDecimal getLineSeq(BigDecimal orderId);
+
+    String getCapacityNumberByCapacityId(BigDecimal capacityNumber);
+
+    //销售:接收运输订单展示pc端界面
+    List<Map<String, Object>> getDriverInfoForSale2(Map<String, Object> map);
+
+    List<Map<String, Object>> getTransportOrder(Map<String, Object> mapValue);
+
+    //判断是否为达钢厂区内转
+    Map<String, Object> isInwardLine(BigDecimal orderId);
+
+    // 通过运单id或者运单号查询车辆是否放行
+    String canCapacityEnfactory(Map<String, Object> mapValue);
+
+    // 出库信息
+    List<Map<String, Object>> getWarehouseMes(Map<String, Object> mapValue);
+
+    // 通过运单下的物资信息
+    int closeInwardOrderByPlan(BigDecimal bigDecimal);
+
+    Map<String, Object> getInwardSteelOrderMessageToApp(Map<String, Object> map);
+
+    //查询内转多拼
+    Map<String, Object> getMulInwardOrderMessageToApp(Map<String, Object> map);
+
+    List<Map<String, Object>> getMulInwardMaterials(Map<String, Object> map);
+
+    //查询出订单的钢材长度
+    List<Map<String, Object>> getMaterialId(BigDecimal orderId);
+
+
+    int getGoBeyondCount(Object orderId);
+
+    int getMaterialNumByOrderId(Map<String, Object> map);
+
+    int deleteQueueList(BigDecimal capacityId);
+
+    int deleteQueueResult(BigDecimal resultTotalId);
+
+    int deleteQueueSpellList(BigDecimal capacityId);
+
+    Date getOrderPrintDate(BigDecimal orderId);
+
+    String getPrintFlag();
+
+    List<Map<String, Object>> materialMesNewContinue(BigDecimal orderId, String steelJudge);
+
+    List<BigDecimal> selectContinueOrderId(BigDecimal orderId);
+
+    int updateTotalResultNull(BigDecimal resultTotalId);
+
+    int clsoePlanByPlan(BigDecimal bigDecimal);
+
+}

+ 22 - 0
src/main/java/com/steerinfo/dil/mapper/RmsReceivingCompanyMapper.java

@@ -0,0 +1,22 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.RmsReceivingCompany;
+import com.steerinfo.framework.mapper.IBaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+
+import java.math.BigDecimal;
+import java.util.List;
+
+/**
+ * @author xiaosh
+ */
+@Mapper
+public interface RmsReceivingCompanyMapper extends IBaseMapper<RmsReceivingCompany, BigDecimal> {
+    /**
+     * 查询所有收款客户
+     *
+     * @return 收款客户列表
+     */
+    List<RmsReceivingCompany> selectAll();
+}

+ 19 - 0
src/main/java/com/steerinfo/dil/mapper/SystemFileMapper.java

@@ -0,0 +1,19 @@
+package com.steerinfo.dil.mapper;
+
+import com.steerinfo.dil.model.SystemFile;
+import com.steerinfo.framework.mapper.IBaseMapper;
+
+import java.math.*;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface SystemFileMapper extends IBaseMapper<SystemFile, String> {
+
+    SystemFile insertAll(SystemFile systemFile);
+
+    List<Map<String, Object>> getFileInfo(String[] uuidList);
+
+}

+ 137 - 0
src/main/java/com/steerinfo/dil/mapper/UniversalMapper.java

@@ -0,0 +1,137 @@
+package com.steerinfo.dil.mapper;
+
+import org.apache.ibatis.annotations.Options;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.mapstruct.Mapper;
+
+import java.math.BigDecimal;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 通用接口
+ *
+ * @ author    :TXF
+ * @ time      :2021/10/19 18:03
+ */
+
+@Mapper
+public interface UniversalMapper {
+
+    List<Map<String, Object>> getCompanyMesByLike(Map<String, Object> map);
+
+    List<Map<String, Object>> getCompanyMesByPlanLike(Map<String, Object> map);
+
+    List<Map<String, Object>> getMaterialTypeByLike(Map<String, Object> map);
+
+    List<Map<String, Object>> getMaterialByLike(Map<String, Object> map);
+
+    List<Map<String, Object>> getCapacityTypeByLike(Map<String, Object> map);
+
+
+    List<Map<String, Object>> getEmissionStandardByLike(Map<String, Object> map);
+
+    List<Map<String, Object>> getOperationPointByLike(Map<String, Object> map);
+
+    List<Map<String, Object>> getOperationPointByLikeNoCode(Map<String, Object> map);
+
+    List<Map<String, Object>> getCategoryCodeByLike(Map<String, Object> map);
+
+
+    List<Map<String, Object>> getPersonnelByLike(Map<String, Object> map);
+
+    List<Map<String, Object>> getCapacityByLike(Map<String, Object> map);
+
+    List<Map<String, Object>> getCapacityByLikeSc(Map<String, Object> map);
+
+    List<Map<String, Object>> getTransRangeByLike(Map<String, Object> map);
+
+    List<Map<String, Object>> getLineByLike(Map<String, Object> map);
+
+    List<Map<String, Object>> getrmsrmsjobinfosBylike(Map<String, Object> map);
+
+
+    List<String> getColumnNoRoutList(Map<String, Object> map);
+
+    List<String> getColumnHiddenData(Map<String, Object> map);
+
+    List<Map<String, Object>> getColumnShowData(Map<String, Object> map);
+
+    List<Map<String, Object>> getColumnAllData(Map<String, Object> map);
+
+    List<Map<String, Object>> getColumnAllScheme(Map<String, Object> map);
+
+    String getWlUrl();
+
+    //查询采购火运重复装车数量
+    int countTrainLoad(Map<String, Object> map);
+
+    //查询采购火运对应运单及计量实绩
+    List<Map<String, Object>> findTrainWeight(Map<String, Object> map);
+
+    //查询采购火运对应运单及卸货实绩
+    List<Map<String, Object>> findTrainUnload(Map<String, Object> map);
+
+    //查询火运计划下的运单数量
+    int countTransOrder(Map<String, Object> map);
+
+    List<Map<String, Object>> getBusinessTypeLike(Map<String, Object> map);
+
+    List<Map<String, Object>> getFuelTypeByLike(Map<String, Object> map);
+
+    List<Map<String, Object>> getOrderIds(Map<String, Object> map);
+
+    List<Map<String, Object>> getDemandRulesCode(Map<String, Object> map);
+
+    String getIdCardCode(Map<String, Object> map);
+
+    List<Map<String, Object>> getMaterial(Map<String, Object> map);
+
+
+    //获取车型剩余的空闲车辆和已经派车的数量
+    List<Map<String, Object>> getcountCar(Map<String, Object> map);
+
+    List<Map<String, Object>> getContainerList(Map<String, Object> map);
+
+    String getRequirementNo(Map<String, Object> map);
+
+    @Select("select seq_AMS_TRANS_REQUIREMENT.nextval from dual")
+    @Options(flushCache = Options.FlushCachePolicy.TRUE)
+    BigDecimal transRequirementId();
+
+    List<Map<String, Object>> getDriverByLike(Map<String, Object> map);
+
+    Map<String, Object> getConfigByName(String configName);
+
+    Map<String, Object> getCapacityDriver(Map<String, Object> map);
+
+    List<Map<String, Object>> getCapacityDriverSelect(Map<String, Object> map);
+
+    Map<String, Object> getCapacityInfo(Map<String, Object> map);
+
+    Map<String, Object> getDriverInfo(Map<String, Object> map);
+
+    List<Map<String, Object>> getRequireByLike(Map<String, Object> map);
+
+    String getMaxSerialNumber();
+
+    List<Map<String, Object>> getCompanyMesByLike2(Map<String, Object> map);
+
+    List<Map<String, Object>> getQueueGridList(Map<String, Object> map);
+
+    List<Map<String, Object>> getRequirementByLike(Map<String, Object> map);
+
+    List<Map<String, Object>> getTransOrderByJobNumber(Map<String, Object> map);
+
+    List<Map<String, Object>> getCapacityByLikeInner(Map<String, Object> map);
+
+    List<Map<String, Object>> getInventoryByLike(Map<String, Object> map);
+
+    List<Map<String, Object>> getTransOrderInFoByNo(Map<String, Object> map);
+
+    List<Map<String, Object>> selectGpTzd(Map<String, Object> map);
+
+    List<Map<String, Object>> getInnerCapacityStatus(Map<String, Object> map);
+
+}

+ 289 - 0
src/main/java/com/steerinfo/dil/model/DilAppCid.java

@@ -0,0 +1,289 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@ApiModel(value = "null")
+public class DilAppCid implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(PRIMARY_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value = "主键ID", required = true)
+    private BigDecimal primaryId;
+
+    /**
+     * 用户(USER_CODE,VARCHAR,255)
+     */
+    @ApiModelProperty(value = "用户", required = false)
+    private String userCode;
+
+    /**
+     * 推送ID(CID,VARCHAR,255)
+     */
+    @ApiModelProperty(value = "推送ID", required = false)
+    private String cid;
+
+    /**
+     * 新增时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "新增时间", required = false)
+    private Date insertTime;
+
+    /**
+     * 新增用户(INSERT_USERNAME,VARCHAR,255)
+     */
+    @ApiModelProperty(value = "新增用户", required = false)
+    private String insertUsername;
+
+    /**
+     * 修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "修改时间", required = false)
+    private Date updateTime;
+
+    /**
+     * 修改用户(UPDATE_USERNAME,VARCHAR,255)
+     */
+    @ApiModelProperty(value = "修改用户", required = false)
+    private String updateUsername;
+
+    /**
+     * 备注(INSERT_UPDATE_REMARK,VARCHAR,255)
+     */
+    @ApiModelProperty(value = "备注", required = false)
+    private String insertUpdateRemark;
+
+    /**
+     * 逻辑删除(0正常,1删除)(DELETED,DECIMAL,8)
+     */
+    @ApiModelProperty(value = "逻辑删除(0正常,1删除)", required = true)
+    private Integer deleted;
+
+    /**
+     * 备用字段1(ALTERNATE_FIELDS1,VARCHAR,255)
+     */
+    @ApiModelProperty(value = "备用字段1", required = false)
+    private String alternateFields1;
+
+    /**
+     * 备用字段2(ALTERNATE_FIELDS2,VARCHAR,255)
+     */
+    @ApiModelProperty(value = "备用字段2", required = false)
+    private String alternateFields2;
+
+    /**
+     * 备用字段3(ALTERNATE_FIELDS3,VARCHAR,255)
+     */
+    @ApiModelProperty(value = "备用字段3", required = false)
+    private String alternateFields3;
+
+    /**
+     * 备用字段4(ALTERNATE_FIELDS4,VARCHAR,255)
+     */
+    @ApiModelProperty(value = "备用字段4", required = false)
+    private String alternateFields4;
+
+    /**
+     * 备用字段5(ALTERNATE_FIELDS5,VARCHAR,255)
+     */
+    @ApiModelProperty(value = "备用字段5", required = false)
+    private String alternateFields5;
+
+    /**
+     * 备用字段6(ALTERNATE_FIELDS6,VARCHAR,255)
+     */
+    @ApiModelProperty(value = "备用字段6", required = false)
+    private String alternateFields6;
+
+    /**
+     * 备用字段7(ALTERNATE_FIELDS7,VARCHAR,255)
+     */
+    @ApiModelProperty(value = "备用字段7", required = false)
+    private String alternateFields7;
+
+    /**
+     * 备用字段8(ALTERNATE_FIELDS8,VARCHAR,255)
+     */
+    @ApiModelProperty(value = "备用字段8", required = false)
+    private String alternateFields8;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.primaryId;
+    }
+
+    @Override
+    public void setId(BigDecimal primaryId) {
+        this.primaryId = primaryId;
+    }
+
+    public BigDecimal getPrimaryId() {
+        return primaryId;
+    }
+
+    public void setPrimaryId(BigDecimal primaryId) {
+        this.primaryId = primaryId;
+    }
+
+    public String getUserCode() {
+        return userCode;
+    }
+
+    public void setUserCode(String userCode) {
+        this.userCode = userCode == null ? null : userCode.trim();
+    }
+
+    public String getCid() {
+        return cid;
+    }
+
+    public void setCid(String cid) {
+        this.cid = cid == null ? null : cid.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    public Integer getDeleted() {
+        return deleted;
+    }
+
+    public void setDeleted(Integer deleted) {
+        this.deleted = deleted;
+    }
+
+    public String getAlternateFields1() {
+        return alternateFields1;
+    }
+
+    public void setAlternateFields1(String alternateFields1) {
+        this.alternateFields1 = alternateFields1 == null ? null : alternateFields1.trim();
+    }
+
+    public String getAlternateFields2() {
+        return alternateFields2;
+    }
+
+    public void setAlternateFields2(String alternateFields2) {
+        this.alternateFields2 = alternateFields2 == null ? null : alternateFields2.trim();
+    }
+
+    public String getAlternateFields3() {
+        return alternateFields3;
+    }
+
+    public void setAlternateFields3(String alternateFields3) {
+        this.alternateFields3 = alternateFields3 == null ? null : alternateFields3.trim();
+    }
+
+    public String getAlternateFields4() {
+        return alternateFields4;
+    }
+
+    public void setAlternateFields4(String alternateFields4) {
+        this.alternateFields4 = alternateFields4 == null ? null : alternateFields4.trim();
+    }
+
+    public String getAlternateFields5() {
+        return alternateFields5;
+    }
+
+    public void setAlternateFields5(String alternateFields5) {
+        this.alternateFields5 = alternateFields5 == null ? null : alternateFields5.trim();
+    }
+
+    public String getAlternateFields6() {
+        return alternateFields6;
+    }
+
+    public void setAlternateFields6(String alternateFields6) {
+        this.alternateFields6 = alternateFields6 == null ? null : alternateFields6.trim();
+    }
+
+    public String getAlternateFields7() {
+        return alternateFields7;
+    }
+
+    public void setAlternateFields7(String alternateFields7) {
+        this.alternateFields7 = alternateFields7 == null ? null : alternateFields7.trim();
+    }
+
+    public String getAlternateFields8() {
+        return alternateFields8;
+    }
+
+    public void setAlternateFields8(String alternateFields8) {
+        this.alternateFields8 = alternateFields8 == null ? null : alternateFields8.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", primaryId=").append(primaryId);
+        sb.append(", userCode=").append(userCode);
+        sb.append(", cid=").append(cid);
+        sb.append(", insertTime=").append(insertTime);
+        sb.append(", insertUsername=").append(insertUsername);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", updateUsername=").append(updateUsername);
+        sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
+        sb.append(", deleted=").append(deleted);
+        sb.append(", alternateFields1=").append(alternateFields1);
+        sb.append(", alternateFields2=").append(alternateFields2);
+        sb.append(", alternateFields3=").append(alternateFields3);
+        sb.append(", alternateFields4=").append(alternateFields4);
+        sb.append(", alternateFields5=").append(alternateFields5);
+        sb.append(", alternateFields6=").append(alternateFields6);
+        sb.append(", alternateFields7=").append(alternateFields7);
+        sb.append(", alternateFields8=").append(alternateFields8);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 154 - 0
src/main/java/com/steerinfo/dil/model/DilCidCapacity.java

@@ -0,0 +1,154 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@ApiModel(value = "运力与cid的关系表")
+public class DilCidCapacity implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(CID_CAPACITY_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value = "主键ID", required = true)
+    private BigDecimal cidCapacityId;
+
+    /**
+     * 用户cid(CID,VARCHAR,200)
+     */
+    @ApiModelProperty(value = "用户cid", required = false)
+    private String cid;
+
+    /**
+     * 车牌号(CAPACITY_NUMBER,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "车牌号", required = false)
+    private String capacityNumber;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "记录创建人", required = false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "记录创建时间", required = false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "记录修改人", required = false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "记录修改时间", required = false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value = "记录创建或修改备注", required = false)
+    private String insertUpdateRemark;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.cidCapacityId;
+    }
+
+    @Override
+    public void setId(BigDecimal cidCapacityId) {
+        this.cidCapacityId = cidCapacityId;
+    }
+
+    public BigDecimal getCidCapacityId() {
+        return cidCapacityId;
+    }
+
+    public void setCidCapacityId(BigDecimal cidCapacityId) {
+        this.cidCapacityId = cidCapacityId;
+    }
+
+    public String getCid() {
+        return cid;
+    }
+
+    public void setCid(String cid) {
+        this.cid = cid == null ? null : cid.trim();
+    }
+
+    public String getCapacityNumber() {
+        return capacityNumber;
+    }
+
+    public void setCapacityNumber(String capacityNumber) {
+        this.capacityNumber = capacityNumber == null ? null : capacityNumber.trim();
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", cidCapacityId=").append(cidCapacityId);
+        sb.append(", cid=").append(cid);
+        sb.append(", capacityNumber=").append(capacityNumber);
+        sb.append(", insertUsername=").append(insertUsername);
+        sb.append(", insertTime=").append(insertTime);
+        sb.append(", updateUsername=").append(updateUsername);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 123 - 0
src/main/java/com/steerinfo/dil/model/DilRoleOrgcodeTable.java

@@ -0,0 +1,123 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+
+@ApiModel(value = "机构与列的展示关系")
+public class DilRoleOrgcodeTable implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(PRIMARY_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value = "主键ID", required = true)
+    private BigDecimal primaryId;
+
+    /**
+     * 机构关系(ORG_CODE,VARCHAR,200)
+     */
+    @ApiModelProperty(value = "机构关系", required = false)
+    private String orgCode;
+
+    /**
+     * 用户名称(USER_NAME,VARCHAR,50)
+     */
+    @ApiModelProperty(value = "用户名称", required = false)
+    private String userName;
+
+    /**
+     * 列ID(COLUMN_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value = "列ID", required = false)
+    private BigDecimal columnId;
+
+    /**
+     * 方案名称(PRIMARY_NAME,VARCHAR,200)
+     */
+    @ApiModelProperty(value = "方案名称", required = false)
+    private String primaryName;
+
+    /**
+     * 启用状态,0 未启用;1,启用(ENABLE_STATUS,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "启用状态,0 未启用;1,启用", required = false)
+    private BigDecimal enableStatus;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.primaryId;
+    }
+
+    @Override
+    public void setId(BigDecimal primaryId) {
+        this.primaryId = primaryId;
+    }
+
+    public BigDecimal getPrimaryId() {
+        return primaryId;
+    }
+
+    public void setPrimaryId(BigDecimal primaryId) {
+        this.primaryId = primaryId;
+    }
+
+    public String getOrgCode() {
+        return orgCode;
+    }
+
+    public void setOrgCode(String orgCode) {
+        this.orgCode = orgCode == null ? null : orgCode.trim();
+    }
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName == null ? null : userName.trim();
+    }
+
+    public BigDecimal getColumnId() {
+        return columnId;
+    }
+
+    public void setColumnId(BigDecimal columnId) {
+        this.columnId = columnId;
+    }
+
+    public String getPrimaryName() {
+        return primaryName;
+    }
+
+    public void setPrimaryName(String primaryName) {
+        this.primaryName = primaryName == null ? null : primaryName.trim();
+    }
+
+    public BigDecimal getEnableStatus() {
+        return enableStatus;
+    }
+
+    public void setEnableStatus(BigDecimal enableStatus) {
+        this.enableStatus = enableStatus;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", primaryId=").append(primaryId);
+        sb.append(", orgCode=").append(orgCode);
+        sb.append(", userName=").append(userName);
+        sb.append(", columnId=").append(columnId);
+        sb.append(", primaryName=").append(primaryName);
+        sb.append(", enableStatus=").append(enableStatus);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 78 - 0
src/main/java/com/steerinfo/dil/model/DilTableColumnRole.java

@@ -0,0 +1,78 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+
+@ApiModel(value = "表列权限")
+public class DilTableColumnRole implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(PRIMARY_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value = "主键ID", required = true)
+    private BigDecimal primaryId;
+
+    /**
+     * 表名(TABLE_NAME,VARCHAR,50)
+     */
+    @ApiModelProperty(value = "表名", required = false)
+    private String tableName;
+
+    /**
+     * 列名(COLUMN_NAME,VARCHAR,50)
+     */
+    @ApiModelProperty(value = "列名", required = false)
+    private String columnName;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.primaryId;
+    }
+
+    @Override
+    public void setId(BigDecimal primaryId) {
+        this.primaryId = primaryId;
+    }
+
+    public BigDecimal getPrimaryId() {
+        return primaryId;
+    }
+
+    public void setPrimaryId(BigDecimal primaryId) {
+        this.primaryId = primaryId;
+    }
+
+    public String getTableName() {
+        return tableName;
+    }
+
+    public void setTableName(String tableName) {
+        this.tableName = tableName == null ? null : tableName.trim();
+    }
+
+    public String getColumnName() {
+        return columnName;
+    }
+
+    public void setColumnName(String columnName) {
+        this.columnName = columnName == null ? null : columnName.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", primaryId=").append(primaryId);
+        sb.append(", tableName=").append(tableName);
+        sb.append(", columnName=").append(columnName);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 154 - 0
src/main/java/com/steerinfo/dil/model/DilVersion.java

@@ -0,0 +1,154 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@ApiModel(value = "app版本号")
+public class DilVersion implements IBasePO<BigDecimal> {
+    /**
+     * 主键ID(VERSION_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value = "主键ID", required = true)
+    private BigDecimal versionId;
+
+    /**
+     * 版本号(VERSION_VALUE,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "版本号", required = false)
+    private String versionValue;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "记录创建人", required = false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "记录创建时间", required = false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "记录修改人", required = false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "记录修改时间", required = false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value = "记录创建或修改备注", required = false)
+    private String insertUpdateRemark;
+
+    /**
+     * 版本类型(0:APP   1:PDA)(VERSION_TYPE,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "版本类型(0:APP   1:PDA)", required = false)
+    private Short versionType;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.versionId;
+    }
+
+    @Override
+    public void setId(BigDecimal versionId) {
+        this.versionId = versionId;
+    }
+
+    public BigDecimal getVersionId() {
+        return versionId;
+    }
+
+    public void setVersionId(BigDecimal versionId) {
+        this.versionId = versionId;
+    }
+
+    public String getVersionValue() {
+        return versionValue;
+    }
+
+    public void setVersionValue(String versionValue) {
+        this.versionValue = versionValue == null ? null : versionValue.trim();
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    public Short getVersionType() {
+        return versionType;
+    }
+
+    public void setVersionType(Short versionType) {
+        this.versionType = versionType;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", versionId=").append(versionId);
+        sb.append(", versionValue=").append(versionValue);
+        sb.append(", insertUsername=").append(insertUsername);
+        sb.append(", insertTime=").append(insertTime);
+        sb.append(", updateUsername=").append(updateUsername);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
+        sb.append(", versionType=").append(versionType);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 243 - 0
src/main/java/com/steerinfo/dil/model/LogResult.java

@@ -0,0 +1,243 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import java.math.BigDecimal;
+import java.util.Date;
+
+@ApiModel(value="日志表;外键ID和外键类型为查询参数。")
+public class LogResult implements IBasePO<BigDecimal> {
+    /**
+     * 主键序列号:SEQ_LOG_RESULT(LOG_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="主键序列号:SEQ_LOG_RESULT",required=true)
+    private BigDecimal logId;
+
+    /**
+     * 日志内容(LOG_CONTENT,VARCHAR,510)
+     */
+    @ApiModelProperty(value="日志内容",required=true)
+    private String logContent;
+
+    /**
+     * 外键ID(FOREIGN_KEY_ID,DECIMAL,38)
+     */
+    @ApiModelProperty(value="外键ID",required=false)
+    private BigDecimal foreignKeyId;
+
+    /**
+     * 外键类型(FOREIGN_KEY_TYPE,VARCHAR,255)
+     */
+    @ApiModelProperty(value="外键类型",required=false)
+    private String foreignKeyType;
+
+    /**
+     * 方法名,包含完整路径(METHOD_NAME,VARCHAR,255)
+     */
+    @ApiModelProperty(value="方法名,包含完整路径",required=false)
+    private String methodName;
+
+    /**
+     * 方法描述(METHOD_DESCRIPTION,VARCHAR,50)
+     */
+    @ApiModelProperty(value="方法描述",required=false)
+    private String methodDescription;
+
+    /**
+     * 执行时长(EXE_COST,DECIMAL,38)
+     */
+    @ApiModelProperty(value="执行时长",required=false)
+    private BigDecimal exeCost;
+
+    /**
+     * 文件路径(FILE_PATH,VARCHAR,255)
+     */
+    @ApiModelProperty(value="文件路径",required=false)
+    private String filePath;
+
+    /**
+     * 新增时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value="新增时间",required=false)
+    private Date insertTime;
+
+    /**
+     * 新增用户(INSERT_USERNAME,VARCHAR,255)
+     */
+    @ApiModelProperty(value="新增用户",required=false)
+    private String insertUsername;
+
+    /**
+     * 备注(REMARK,VARCHAR,255)
+     */
+    @ApiModelProperty(value="备注",required=false)
+    private String remark;
+
+    /**
+     * 报文1(DATAGRAM1,VARCHAR,4000)
+     */
+    @ApiModelProperty(value="报文1",required=false)
+    private String datagram1;
+
+    /**
+     * 报文2(DATAGRAM2,VARCHAR,4000)
+     */
+    @ApiModelProperty(value="报文2",required=false)
+    private String datagram2;
+
+    /**
+     * 报文3(DATAGRAM3,VARCHAR,4000)
+     */
+    @ApiModelProperty(value="报文3",required=false)
+    private String datagram3;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.logId;
+    }
+
+    @Override
+    public void setId(BigDecimal logId) {
+        this.logId = logId;
+    }
+
+    public BigDecimal getLogId() {
+        return logId;
+    }
+
+    public void setLogId(BigDecimal logId) {
+        this.logId = logId;
+    }
+
+    public String getLogContent() {
+        return logContent;
+    }
+
+    public void setLogContent(String logContent) {
+        this.logContent = logContent == null ? null : logContent.trim();
+    }
+
+    public BigDecimal getForeignKeyId() {
+        return foreignKeyId;
+    }
+
+    public void setForeignKeyId(BigDecimal foreignKeyId) {
+        this.foreignKeyId = foreignKeyId;
+    }
+
+    public String getForeignKeyType() {
+        return foreignKeyType;
+    }
+
+    public void setForeignKeyType(String foreignKeyType) {
+        this.foreignKeyType = foreignKeyType == null ? null : foreignKeyType.trim();
+    }
+
+    public String getMethodName() {
+        return methodName;
+    }
+
+    public void setMethodName(String methodName) {
+        this.methodName = methodName == null ? null : methodName.trim();
+    }
+
+    public String getMethodDescription() {
+        return methodDescription;
+    }
+
+    public void setMethodDescription(String methodDescription) {
+        this.methodDescription = methodDescription == null ? null : methodDescription.trim();
+    }
+
+    public BigDecimal getExeCost() {
+        return exeCost;
+    }
+
+    public void setExeCost(BigDecimal exeCost) {
+        this.exeCost = exeCost;
+    }
+
+    public String getFilePath() {
+        return filePath;
+    }
+
+    public void setFilePath(String filePath) {
+        this.filePath = filePath == null ? null : filePath.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public String getRemark() {
+        return remark;
+    }
+
+    public void setRemark(String remark) {
+        this.remark = remark == null ? null : remark.trim();
+    }
+
+    public String getDatagram1() {
+        return datagram1;
+    }
+
+    public void setDatagram1(String datagram1) {
+        this.datagram1 = datagram1 == null ? null : datagram1.trim();
+    }
+
+    public String getDatagram2() {
+        return datagram2;
+    }
+
+    public void setDatagram2(String datagram2) {
+        this.datagram2 = datagram2 == null ? null : datagram2.trim();
+    }
+
+    public String getDatagram3() {
+        return datagram3;
+    }
+
+    public void setDatagram3(String datagram3) {
+        this.datagram3 = datagram3 == null ? null : datagram3.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", logId=").append(logId);
+        sb.append(", logContent=").append(logContent);
+        sb.append(", foreignKeyId=").append(foreignKeyId);
+        sb.append(", foreignKeyType=").append(foreignKeyType);
+        sb.append(", methodName=").append(methodName);
+        sb.append(", methodDescription=").append(methodDescription);
+        sb.append(", exeCost=").append(exeCost);
+        sb.append(", filePath=").append(filePath);
+        sb.append(", insertTime=").append(insertTime);
+        sb.append(", insertUsername=").append(insertUsername);
+        sb.append(", remark=").append(remark);
+        sb.append(", datagram1=").append(datagram1);
+        sb.append(", datagram2=").append(datagram2);
+        sb.append(", datagram3=").append(datagram3);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 454 - 0
src/main/java/com/steerinfo/dil/model/OmstruckOrder.java

@@ -0,0 +1,454 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@ApiModel(value = "汽运运输订单")
+public class OmstruckOrder implements IBasePO<BigDecimal> {
+    /**
+     * 运输订单id(ORDER_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "运输订单id", required = true)
+    private BigDecimal orderId;
+
+    /**
+     * 车序号表ID/发运计划ID/采购订单ID/内转物流计划ID/零星订单ID(ORDER_PLAN_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "车序号表ID/发运计划ID/采购订单ID/内转物流计划ID/零星订单ID", required = false)
+    private BigDecimal orderPlanId;
+
+    /**
+     * 运输订单号(WYSDD-年月日-8位数的顺序号)(ORDER_NUMBER,VARCHAR,50)
+     */
+    @ApiModelProperty(value = "运输订单号(WYSDD-年月日-8位数的顺序号)", required = false)
+    private String orderNumber;
+
+    /**
+     * 运力ID(CAPACITY_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "运力ID", required = false)
+    private BigDecimal capacityId;
+
+    /**
+     * 订单下发时间(ORDER_ISSUE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "订单下发时间", required = false)
+    private Date orderIssueTime;
+
+    /**
+     * 司机操作订单行为:0:拒绝;1:接收(ORDER_RECEIVE_STATUS,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "司机操作订单行为:0:拒绝;1:接收", required = false)
+    private BigDecimal orderReceiveStatus;
+
+    /**
+     * 司机接收/拒绝订单时间(ORDER_RECEIVE_REFUSE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "司机接收/拒绝订单时间", required = false)
+    private Date orderReceiveRefuseTime;
+
+    /**
+     * 通信时长=司机接单/拒绝时间-订单下发时间(ORDER_COMMUNICATION_DURATION,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "通信时长=司机接单/拒绝时间-订单下发时间", required = false)
+    private BigDecimal orderCommunicationDuration;
+
+    /**
+     * 运单状态 :0:待运输,1:执行中,2:已结束,3:未下发,4:已下发,5:已接收,6:已拒绝,7:逻辑删除 8: 关闭  9:退货关闭 10:不可作业(ORDER_STATUS,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "运单状态 :0:待运输,1:执行中,2:已结束,3:未下发,4:已下发,5:已接收,6:已拒绝,7:逻辑删除 8: 关闭  9:退货关闭 10:不可作业", required = false)
+    private BigDecimal orderStatus;
+
+    /**
+     * 记录创建人(INSERT_USERNAME,VARCHAR,200)
+     */
+    @ApiModelProperty(value = "记录创建人", required = false)
+    private String insertUsername;
+
+    /**
+     * 记录创建时间(INSERT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "记录创建时间", required = false)
+    private Date insertTime;
+
+    /**
+     * 记录修改人(UPDATE_USERNAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "记录修改人", required = false)
+    private String updateUsername;
+
+    /**
+     * 记录修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "记录修改时间", required = false)
+    private Date updateTime;
+
+    /**
+     * 记录创建或修改备注(INSERT_UPDATE_REMARK,VARCHAR,100)
+     */
+    @ApiModelProperty(value = "记录创建或修改备注", required = false)
+    private String insertUpdateRemark;
+
+    /**
+     * 逻辑删除(DELETED,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "逻辑删除", required = false)
+    private BigDecimal deleted;
+
+    /**
+     * 订单类型(1:销售订单;2:焦炭发运计划;3:水渣发运计划;4:内转到异地库;5:采购辅料订单;6:采购老区燃料订单;7:采购新区燃料订单;8:采购进口矿(万州-厂内);9:内转钢坯车 ; 10:采购内转(老区-厂内); 11:厂内内转;12:零星物资进厂、13:零星物资出厂:14:钢材退货 ;15 内转精煤进厂;16 内转精煤出厂;17 采购化工材料新区订单; 18 采购化工材料老区订单)(ORDER_TYPE,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "订单类型(1:销售订单;2:焦炭发运计划;3:水渣发运计划;4:内转到异地库;5:采购辅料订单;6:采购老区燃料订单;7:采购新区燃料订单;8:采购进口矿(万州-厂内);9:内转钢坯车 ; 10:采购内转(老区-厂内); 11:厂内内转;12:零星物资进厂、13:零星物资出厂:14:钢材退货 ;15 内转精煤进厂;16 内转精煤出厂;17 采购化工材料新区订单; 18 采购化工材料老区订单)", required = false)
+    private BigDecimal orderType;
+
+    /**
+     * 路段顺序号:(1:进厂 ; 2:计毛;3:卸货;4:计皮;5:出厂;6:装货)(ORDER_LINE_SEQUENCE,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "路段顺序号:(1:进厂 ; 2:计毛;3:卸货;4:计皮;5:出厂;6:装货)", required = false)
+    private BigDecimal orderLineSequence;
+
+    /**
+     * 运输路线ID(LINE_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "运输路线ID", required = false)
+    private BigDecimal lineId;
+
+    /**
+     * 预计进厂时间(ORDER_ENTRY_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "预计进厂时间", required = false)
+    private Date orderEntryTime;
+
+    /**
+     * 卸货点ID(UNLOAD_POINT_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "卸货点ID", required = false)
+    private BigDecimal unloadPointId;
+
+    /**
+     * 司机确认订单(1:已确认)(DRIVER_CONFIRMATION,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "司机确认订单(1:已确认)", required = false)
+    private BigDecimal driverConfirmation;
+
+    /**
+     * 运输单价ID(PRICE_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "运输单价ID", required = false)
+    private BigDecimal priceId;
+
+    /**
+     * 订单所属承运商ID(CARRIER_ID,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "订单所属承运商ID", required = false)
+    private BigDecimal carrierId;
+
+    /**
+     * 行程ID(TRIP_ID,VARCHAR,200)
+     */
+    @ApiModelProperty(value = "行程ID", required = false)
+    private String tripId;
+
+    /**
+     * 打印状态(ORDER_PRINT_STATUS,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "打印状态", required = false)
+    private BigDecimal orderPrintStatus;
+
+    /**
+     * 司机电话号码(DRIVER_TEL,VARCHAR,36)
+     */
+    @ApiModelProperty(value = "司机电话号码", required = false)
+    private String driverTel;
+
+    /**
+     * 操作人员组织(OPTIONER_CODE,VARCHAR,255)
+     */
+    @ApiModelProperty(value = "操作人员组织", required = false)
+    private String optionerCode;
+
+    /**
+     * 是否可作业(CAN_WORK,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "是否可作业", required = false)
+    private BigDecimal canWork;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public BigDecimal getId() {
+        return this.orderId;
+    }
+
+    @Override
+    public void setId(BigDecimal orderId) {
+        this.orderId = orderId;
+    }
+
+    public BigDecimal getOrderId() {
+        return orderId;
+    }
+
+    public void setOrderId(BigDecimal orderId) {
+        this.orderId = orderId;
+    }
+
+    public BigDecimal getOrderPlanId() {
+        return orderPlanId;
+    }
+
+    public void setOrderPlanId(BigDecimal orderPlanId) {
+        this.orderPlanId = orderPlanId;
+    }
+
+    public String getOrderNumber() {
+        return orderNumber;
+    }
+
+    public void setOrderNumber(String orderNumber) {
+        this.orderNumber = orderNumber == null ? null : orderNumber.trim();
+    }
+
+    public BigDecimal getCapacityId() {
+        return capacityId;
+    }
+
+    public void setCapacityId(BigDecimal capacityId) {
+        this.capacityId = capacityId;
+    }
+
+    public Date getOrderIssueTime() {
+        return orderIssueTime;
+    }
+
+    public void setOrderIssueTime(Date orderIssueTime) {
+        this.orderIssueTime = orderIssueTime;
+    }
+
+    public BigDecimal getOrderReceiveStatus() {
+        return orderReceiveStatus;
+    }
+
+    public void setOrderReceiveStatus(BigDecimal orderReceiveStatus) {
+        this.orderReceiveStatus = orderReceiveStatus;
+    }
+
+    public Date getOrderReceiveRefuseTime() {
+        return orderReceiveRefuseTime;
+    }
+
+    public void setOrderReceiveRefuseTime(Date orderReceiveRefuseTime) {
+        this.orderReceiveRefuseTime = orderReceiveRefuseTime;
+    }
+
+    public BigDecimal getOrderCommunicationDuration() {
+        return orderCommunicationDuration;
+    }
+
+    public void setOrderCommunicationDuration(BigDecimal orderCommunicationDuration) {
+        this.orderCommunicationDuration = orderCommunicationDuration;
+    }
+
+    public BigDecimal getOrderStatus() {
+        return orderStatus;
+    }
+
+    public void setOrderStatus(BigDecimal orderStatus) {
+        this.orderStatus = orderStatus;
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername == null ? null : insertUsername.trim();
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername == null ? null : updateUsername.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark == null ? null : insertUpdateRemark.trim();
+    }
+
+    public BigDecimal getDeleted() {
+        return deleted;
+    }
+
+    public void setDeleted(BigDecimal deleted) {
+        this.deleted = deleted;
+    }
+
+    public BigDecimal getOrderType() {
+        return orderType;
+    }
+
+    public void setOrderType(BigDecimal orderType) {
+        this.orderType = orderType;
+    }
+
+    public BigDecimal getOrderLineSequence() {
+        return orderLineSequence;
+    }
+
+    public void setOrderLineSequence(BigDecimal orderLineSequence) {
+        this.orderLineSequence = orderLineSequence;
+    }
+
+    public BigDecimal getLineId() {
+        return lineId;
+    }
+
+    public void setLineId(BigDecimal lineId) {
+        this.lineId = lineId;
+    }
+
+    public Date getOrderEntryTime() {
+        return orderEntryTime;
+    }
+
+    public void setOrderEntryTime(Date orderEntryTime) {
+        this.orderEntryTime = orderEntryTime;
+    }
+
+    public BigDecimal getUnloadPointId() {
+        return unloadPointId;
+    }
+
+    public void setUnloadPointId(BigDecimal unloadPointId) {
+        this.unloadPointId = unloadPointId;
+    }
+
+    public BigDecimal getDriverConfirmation() {
+        return driverConfirmation;
+    }
+
+    public void setDriverConfirmation(BigDecimal driverConfirmation) {
+        this.driverConfirmation = driverConfirmation;
+    }
+
+    public BigDecimal getPriceId() {
+        return priceId;
+    }
+
+    public void setPriceId(BigDecimal priceId) {
+        this.priceId = priceId;
+    }
+
+    public BigDecimal getCarrierId() {
+        return carrierId;
+    }
+
+    public void setCarrierId(BigDecimal carrierId) {
+        this.carrierId = carrierId;
+    }
+
+    public String getTripId() {
+        return tripId;
+    }
+
+    public void setTripId(String tripId) {
+        this.tripId = tripId == null ? null : tripId.trim();
+    }
+
+    public BigDecimal getOrderPrintStatus() {
+        return orderPrintStatus;
+    }
+
+    public void setOrderPrintStatus(BigDecimal orderPrintStatus) {
+        this.orderPrintStatus = orderPrintStatus;
+    }
+
+    public String getDriverTel() {
+        return driverTel;
+    }
+
+    public void setDriverTel(String driverTel) {
+        this.driverTel = driverTel == null ? null : driverTel.trim();
+    }
+
+    public String getOptionerCode() {
+        return optionerCode;
+    }
+
+    public void setOptionerCode(String optionerCode) {
+        this.optionerCode = optionerCode == null ? null : optionerCode.trim();
+    }
+
+    public BigDecimal getCanWork() {
+        return canWork;
+    }
+
+    public void setCanWork(BigDecimal canWork) {
+        this.canWork = canWork;
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", orderId=").append(orderId);
+        sb.append(", orderPlanId=").append(orderPlanId);
+        sb.append(", orderNumber=").append(orderNumber);
+        sb.append(", capacityId=").append(capacityId);
+        sb.append(", orderIssueTime=").append(orderIssueTime);
+        sb.append(", orderReceiveStatus=").append(orderReceiveStatus);
+        sb.append(", orderReceiveRefuseTime=").append(orderReceiveRefuseTime);
+        sb.append(", orderCommunicationDuration=").append(orderCommunicationDuration);
+        sb.append(", orderStatus=").append(orderStatus);
+        sb.append(", insertUsername=").append(insertUsername);
+        sb.append(", insertTime=").append(insertTime);
+        sb.append(", updateUsername=").append(updateUsername);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", insertUpdateRemark=").append(insertUpdateRemark);
+        sb.append(", deleted=").append(deleted);
+        sb.append(", orderType=").append(orderType);
+        sb.append(", orderLineSequence=").append(orderLineSequence);
+        sb.append(", lineId=").append(lineId);
+        sb.append(", orderEntryTime=").append(orderEntryTime);
+        sb.append(", unloadPointId=").append(unloadPointId);
+        sb.append(", driverConfirmation=").append(driverConfirmation);
+        sb.append(", priceId=").append(priceId);
+        sb.append(", carrierId=").append(carrierId);
+        sb.append(", tripId=").append(tripId);
+        sb.append(", orderPrintStatus=").append(orderPrintStatus);
+        sb.append(", driverTel=").append(driverTel);
+        sb.append(", optionerCode=").append(optionerCode);
+        sb.append(", canWork=").append(canWork);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 129 - 0
src/main/java/com/steerinfo/dil/model/RmsReceivingCompany.java

@@ -0,0 +1,129 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 收款客户 rms_receiving_company
+ *
+ * @author xiaosh
+ */
+public class RmsReceivingCompany implements IBasePO<BigDecimal> {
+    /**
+     * 收款客户ID
+     */
+    @ApiModelProperty(value = "收款客户ID")
+    private BigDecimal companyId;
+    /**
+     * 收款客户编码
+     */
+    @ApiModelProperty(value = "收款客户编码")
+    private String companyCode;
+    /**
+     * 收款客户名称
+     */
+    @ApiModelProperty(value = "收款客户名称")
+    private String companyName;
+    /**
+     * 记录创建人
+     */
+    @ApiModelProperty(value = "记录创建人")
+    private String insertUsername;
+    /**
+     * 记录创建时间
+     */
+    @ApiModelProperty(value = "记录创建时间")
+    private Date insertTime;
+    /**
+     * 记录修改人
+     */
+    @ApiModelProperty(value = "记录修改人")
+    private String updateUsername;
+    /**
+     * 记录修改时间
+     */
+    @ApiModelProperty(value = "记录修改时间")
+    private Date updateTime;
+    /**
+     * 记录创建或修改备注
+     */
+    @ApiModelProperty(value = "记录创建或修改备注")
+    private String insertUpdateRemark;
+
+    @Override
+    public BigDecimal getId() {
+        return this.companyId;
+    }
+
+    @Override
+    public void setId(BigDecimal companyId) {
+        this.companyId = companyId;
+    }
+
+    public BigDecimal getCompanyId() {
+        return companyId;
+    }
+
+    public void setCompanyId(BigDecimal companyId) {
+        this.companyId = companyId;
+    }
+
+    public String getCompanyCode() {
+        return companyCode;
+    }
+
+    public void setCompanyCode(String companyCode) {
+        this.companyCode = companyCode;
+    }
+
+    public String getCompanyName() {
+        return companyName;
+    }
+
+    public void setCompanyName(String companyName) {
+        this.companyName = companyName;
+    }
+
+    public String getInsertUsername() {
+        return insertUsername;
+    }
+
+    public void setInsertUsername(String insertUsername) {
+        this.insertUsername = insertUsername;
+    }
+
+    public Date getInsertTime() {
+        return insertTime;
+    }
+
+    public void setInsertTime(Date insertTime) {
+        this.insertTime = insertTime;
+    }
+
+    public String getUpdateUsername() {
+        return updateUsername;
+    }
+
+    public void setUpdateUsername(String updateUsername) {
+        this.updateUsername = updateUsername;
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getInsertUpdateRemark() {
+        return insertUpdateRemark;
+    }
+
+    public void setInsertUpdateRemark(String insertUpdateRemark) {
+        this.insertUpdateRemark = insertUpdateRemark;
+    }
+}

+ 57 - 0
src/main/java/com/steerinfo/dil/model/SystemFile.java

@@ -0,0 +1,57 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+@ApiModel(value = "null")
+public class SystemFile implements IBasePO<String> {
+    @ApiModelProperty(value = "", required = true)
+    private String id;
+
+    @ApiModelProperty(value = "", required = false)
+    private String filename;
+
+    @ApiModelProperty(value = "", required = false)
+    private String filepath;
+
+    private static final long serialVersionUID = 1L;
+
+    public String getId() {
+        return id;
+    }
+
+    public void setId(String id) {
+        this.id = id == null ? null : id.trim();
+    }
+
+    public String getFilename() {
+        return filename;
+    }
+
+    public void setFilename(String filename) {
+        this.filename = filename == null ? null : filename.trim();
+    }
+
+    public String getFilepath() {
+        return filepath;
+    }
+
+    public void setFilepath(String filepath) {
+        this.filepath = filepath == null ? null : filepath.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", id=").append(id);
+        sb.append(", filename=").append(filename);
+        sb.append(", filepath=").append(filepath);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 886 - 0
src/main/java/com/steerinfo/dil/model/WmsSlmDlivDir.java

@@ -0,0 +1,886 @@
+package com.steerinfo.dil.model;
+
+import com.steerinfo.framework.model.IBasePO;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+import java.math.BigDecimal;
+import java.util.Date;
+
+@ApiModel(value = "发货管理-出库计划表")
+public class WmsSlmDlivDir implements IBasePO<String> {
+    /**
+     * 发运计划号(DLIV_DIRNO,VARCHAR,40)
+     */
+    @ApiModelProperty(value = "发运计划号", required = true)
+    private String dlivDirno;
+
+    @ApiModelProperty(value = "", required = false)
+    private String seq;
+
+    /**
+     * 合同号/订单编号(ORDER_NO,VARCHAR,40)
+     */
+    @ApiModelProperty(value = "合同号/订单编号", required = false)
+    private String orderNo;
+
+    /**
+     * 行号(ORDER_SEQ,VARCHAR,10)
+     */
+    @ApiModelProperty(value = "行号", required = false)
+    private String orderSeq;
+
+    /**
+     * 客户编码(CUSTOMER_NO,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "客户编码", required = false)
+    private String customerNo;
+
+    /**
+     * 客户名称(CUSTOMER_NM,VARCHAR,100)
+     */
+    @ApiModelProperty(value = "客户名称", required = false)
+    private String customerNm;
+
+    /**
+     * 产线(PROD_LINE,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "产线", required = false)
+    private String prodLine;
+
+    /**
+     * 物料名称(PROD_NAME,VARCHAR,50)
+     */
+    @ApiModelProperty(value = "物料名称", required = false)
+    private String prodName;
+
+    /**
+     * 标准代码(SPEC_ABBSYM,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "标准代码", required = false)
+    private String specAbbsym;
+
+    /**
+     * 钢级(牌号)代码(STEEL_CODE,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "钢级(牌号)代码", required = false)
+    private String steelCode;
+
+    /**
+     * 计划件数(QUANTITY,DECIMAL,38)
+     */
+    @ApiModelProperty(value = "计划件数", required = false)
+    private BigDecimal quantity;
+
+    /**
+     * 计划重量(WEIGHT,DECIMAL,13)
+     */
+    @ApiModelProperty(value = "计划重量", required = false)
+    private BigDecimal weight;
+
+    /**
+     * 金额(MONEY,DECIMAL,14)
+     */
+    @ApiModelProperty(value = "金额", required = false)
+    private BigDecimal money;
+
+    /**
+     * 运费(TRANSMONEY,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "运费", required = false)
+    private Short transmoney;
+
+    /**
+     * 指示状态(0未允许发货1允许发货2正在执行3执行完毕)(DLIV_PROG_CD,VARCHAR,1)
+     */
+    @ApiModelProperty(value = "指示状态(0未允许发货1允许发货2正在执行3执行完毕)", required = false)
+    private String dlivProgCd;
+
+    /**
+     * 创建人(CREATE_NAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "创建人", required = false)
+    private String createName;
+
+    /**
+     * 创建时间(CREATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "创建时间", required = false)
+    private Date createTime;
+
+    /**
+     * 修改人(UPDATE_NAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "修改人", required = false)
+    private String updateName;
+
+    /**
+     * 修改时间(UPDATE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "修改时间", required = false)
+    private Date updateTime;
+
+    /**
+     * 有效标识(VALIDFLAG,VARCHAR,1)
+     */
+    @ApiModelProperty(value = "有效标识", required = false)
+    private String validflag;
+
+    /**
+     * 合同行号(ORDER_LINE_NO,VARCHAR,60)
+     */
+    @ApiModelProperty(value = "合同行号", required = false)
+    private String orderLineNo;
+
+    /**
+     * 直径(DIAMETER,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "直径", required = false)
+    private Short diameter;
+
+    /**
+     * 收货单位(FINAL_USER,VARCHAR,50)
+     */
+    @ApiModelProperty(value = "收货单位", required = false)
+    private String finalUser;
+
+    /**
+     * 目的地(收货地址)(DESTINATION,VARCHAR,100)
+     */
+    @ApiModelProperty(value = "目的地(收货地址)", required = false)
+    private String destination;
+
+    /**
+     * 贸易类型2018(ISOUT,VARCHAR,1)
+     */
+    @ApiModelProperty(value = "贸易类型2018", required = false)
+    private String isout;
+
+    /**
+     * 申请人(APPLICANT_NAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "申请人", required = false)
+    private String applicantName;
+
+    /**
+     * 申请时间(APPLICANT_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "申请时间", required = false)
+    private Date applicantTime;
+
+    /**
+     * 确认人(AFFRIM_NAME,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "确认人", required = false)
+    private String affrimName;
+
+    /**
+     * 确认时间(AFFRIM_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "确认时间", required = false)
+    private Date affrimTime;
+
+    /**
+     * 交货日期(DELVRY_EDATE,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "交货日期", required = false)
+    private Date delvryEdate;
+
+    /**
+     * 收货单位描述(FINAL_USER_DESC,VARCHAR,100)
+     */
+    @ApiModelProperty(value = "收货单位描述", required = false)
+    private String finalUserDesc;
+
+    /**
+     * 运输方式('2010')(TRANSIT_TYP,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "运输方式('2010')", required = false)
+    private String transitTyp;
+
+    /**
+     * 车船号(SHIP_CAR_NO,VARCHAR,50)
+     */
+    @ApiModelProperty(value = "车船号", required = false)
+    private String shipCarNo;
+
+    /**
+     * 备注(MEMO,VARCHAR,500)
+     */
+    @ApiModelProperty(value = "备注", required = false)
+    private String memo;
+
+    /**
+     * 打印次数,提货单打印状态(0未打印1打印2作废)(PRINT_NUMBER,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "打印次数,提货单打印状态(0未打印1打印2作废)", required = false)
+    private Short printNumber;
+
+    /**
+     * 审批人(PLAN_SEND_MAN,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "审批人", required = false)
+    private String planSendMan;
+
+    /**
+     * 审批时间(PLAN_SEND_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "审批时间", required = false)
+    private Date planSendTime;
+
+    /**
+     * 退货人(PLAN_RECEIVE_MAN,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "退货人", required = false)
+    private String planReceiveMan;
+
+    /**
+     * 退货时间(PLAN_RECEIVE_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "退货时间", required = false)
+    private Date planReceiveTime;
+
+    /**
+     * 单据完成人(PLAN_OVER_MAN,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "单据完成人", required = false)
+    private String planOverMan;
+
+    /**
+     * 单据完成时间(PLAN_OVER_TIME,TIMESTAMP,7)
+     */
+    @ApiModelProperty(value = "单据完成时间", required = false)
+    private Date planOverTime;
+
+    /**
+     * 承运单位('1109')(CARRIER_UNIT,VARCHAR,20)
+     */
+    @ApiModelProperty(value = "承运单位('1109')", required = false)
+    private String carrierUnit;
+
+    /**
+     * 订货价(牌价)(ORDER_PRICE,DECIMAL,0)
+     */
+    @ApiModelProperty(value = "订货价(牌价)", required = false)
+    private Short orderPrice;
+
+    /**
+     * 供货单位(SUPPLY_UNIT,VARCHAR,10)
+     */
+    @ApiModelProperty(value = "供货单位", required = false)
+    private String supplyUnit;
+
+    /**
+     * 物料编号(PROD_CODE,VARCHAR,50)
+     */
+    @ApiModelProperty(value = "物料编号", required = false)
+    private String prodCode;
+
+    /**
+     * 已出件数(OUTQUANTITY,DECIMAL,38)
+     */
+    @ApiModelProperty(value = "已出件数", required = false)
+    private BigDecimal outquantity;
+
+    /**
+     * 已出重量(OUTWEIGHT,DECIMAL,13)
+     */
+    @ApiModelProperty(value = "已出重量", required = false)
+    private BigDecimal outweight;
+
+    /**
+     * 退货件数(OVERQUANTITY,DECIMAL,38)
+     */
+    @ApiModelProperty(value = "退货件数", required = false)
+    private BigDecimal overquantity;
+
+    /**
+     * 单价(PRICE,DECIMAL,12)
+     */
+    @ApiModelProperty(value = "单价", required = false)
+    private BigDecimal price;
+
+    /**
+     * 成品牌号(STEEL_NAME,VARCHAR,50)
+     */
+    @ApiModelProperty(value = "成品牌号", required = false)
+    private String steelName;
+
+    /**
+     * 成品规格(SPEC_NAME,VARCHAR,50)
+     */
+    @ApiModelProperty(value = "成品规格", required = false)
+    private String specName;
+
+    /**
+     * 公司名字(BODYNAME,VARCHAR,50)
+     */
+    @ApiModelProperty(value = "公司名字", required = false)
+    private String bodyname;
+
+    /**
+     * 业务类型(BUSINAME,VARCHAR,50)
+     */
+    @ApiModelProperty(value = "业务类型", required = false)
+    private String businame;
+
+    /**
+     * 退货重量(OVERWEIGHT,DECIMAL,13)
+     */
+    @ApiModelProperty(value = "退货重量", required = false)
+    private BigDecimal overweight;
+
+    /**
+     * 退货原因(OVERMEMO,VARCHAR,100)
+     */
+    @ApiModelProperty(value = "退货原因", required = false)
+    private String overmemo;
+
+    /**
+     * 老系统编码备注(WMEMO,VARCHAR,100)
+     */
+    @ApiModelProperty(value = "老系统编码备注", required = false)
+    private String wmemo;
+
+    /**
+     * NC订单唯一码(CORDER_BID,VARCHAR,100)
+     */
+    @ApiModelProperty(value = "NC订单唯一码", required = false)
+    private String corderBid;
+
+    private static final long serialVersionUID = 1L;
+
+    @Override
+    public String getId() {
+        return this.dlivDirno;
+    }
+
+    @Override
+    public void setId(String dlivDirno) {
+        this.dlivDirno = dlivDirno == null ? null : dlivDirno.trim();
+    }
+
+    public String getDlivDirno() {
+        return dlivDirno;
+    }
+
+    public void setDlivDirno(String dlivDirno) {
+        this.dlivDirno = dlivDirno == null ? null : dlivDirno.trim();
+    }
+
+    public String getSeq() {
+        return seq;
+    }
+
+    public void setSeq(String seq) {
+        this.seq = seq == null ? null : seq.trim();
+    }
+
+    public String getOrderNo() {
+        return orderNo;
+    }
+
+    public void setOrderNo(String orderNo) {
+        this.orderNo = orderNo == null ? null : orderNo.trim();
+    }
+
+    public String getOrderSeq() {
+        return orderSeq;
+    }
+
+    public void setOrderSeq(String orderSeq) {
+        this.orderSeq = orderSeq == null ? null : orderSeq.trim();
+    }
+
+    public String getCustomerNo() {
+        return customerNo;
+    }
+
+    public void setCustomerNo(String customerNo) {
+        this.customerNo = customerNo == null ? null : customerNo.trim();
+    }
+
+    public String getCustomerNm() {
+        return customerNm;
+    }
+
+    public void setCustomerNm(String customerNm) {
+        this.customerNm = customerNm == null ? null : customerNm.trim();
+    }
+
+    public String getProdLine() {
+        return prodLine;
+    }
+
+    public void setProdLine(String prodLine) {
+        this.prodLine = prodLine == null ? null : prodLine.trim();
+    }
+
+    public String getProdName() {
+        return prodName;
+    }
+
+    public void setProdName(String prodName) {
+        this.prodName = prodName == null ? null : prodName.trim();
+    }
+
+    public String getSpecAbbsym() {
+        return specAbbsym;
+    }
+
+    public void setSpecAbbsym(String specAbbsym) {
+        this.specAbbsym = specAbbsym == null ? null : specAbbsym.trim();
+    }
+
+    public String getSteelCode() {
+        return steelCode;
+    }
+
+    public void setSteelCode(String steelCode) {
+        this.steelCode = steelCode == null ? null : steelCode.trim();
+    }
+
+    public BigDecimal getQuantity() {
+        return quantity;
+    }
+
+    public void setQuantity(BigDecimal quantity) {
+        this.quantity = quantity;
+    }
+
+    public BigDecimal getWeight() {
+        return weight;
+    }
+
+    public void setWeight(BigDecimal weight) {
+        this.weight = weight;
+    }
+
+    public BigDecimal getMoney() {
+        return money;
+    }
+
+    public void setMoney(BigDecimal money) {
+        this.money = money;
+    }
+
+    public Short getTransmoney() {
+        return transmoney;
+    }
+
+    public void setTransmoney(Short transmoney) {
+        this.transmoney = transmoney;
+    }
+
+    public String getDlivProgCd() {
+        return dlivProgCd;
+    }
+
+    public void setDlivProgCd(String dlivProgCd) {
+        this.dlivProgCd = dlivProgCd == null ? null : dlivProgCd.trim();
+    }
+
+    public String getCreateName() {
+        return createName;
+    }
+
+    public void setCreateName(String createName) {
+        this.createName = createName == null ? null : createName.trim();
+    }
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+    public String getUpdateName() {
+        return updateName;
+    }
+
+    public void setUpdateName(String updateName) {
+        this.updateName = updateName == null ? null : updateName.trim();
+    }
+
+    public Date getUpdateTime() {
+        return updateTime;
+    }
+
+    public void setUpdateTime(Date updateTime) {
+        this.updateTime = updateTime;
+    }
+
+    public String getValidflag() {
+        return validflag;
+    }
+
+    public void setValidflag(String validflag) {
+        this.validflag = validflag == null ? null : validflag.trim();
+    }
+
+    public String getOrderLineNo() {
+        return orderLineNo;
+    }
+
+    public void setOrderLineNo(String orderLineNo) {
+        this.orderLineNo = orderLineNo == null ? null : orderLineNo.trim();
+    }
+
+    public Short getDiameter() {
+        return diameter;
+    }
+
+    public void setDiameter(Short diameter) {
+        this.diameter = diameter;
+    }
+
+    public String getFinalUser() {
+        return finalUser;
+    }
+
+    public void setFinalUser(String finalUser) {
+        this.finalUser = finalUser == null ? null : finalUser.trim();
+    }
+
+    public String getDestination() {
+        return destination;
+    }
+
+    public void setDestination(String destination) {
+        this.destination = destination == null ? null : destination.trim();
+    }
+
+    public String getIsout() {
+        return isout;
+    }
+
+    public void setIsout(String isout) {
+        this.isout = isout == null ? null : isout.trim();
+    }
+
+    public String getApplicantName() {
+        return applicantName;
+    }
+
+    public void setApplicantName(String applicantName) {
+        this.applicantName = applicantName == null ? null : applicantName.trim();
+    }
+
+    public Date getApplicantTime() {
+        return applicantTime;
+    }
+
+    public void setApplicantTime(Date applicantTime) {
+        this.applicantTime = applicantTime;
+    }
+
+    public String getAffrimName() {
+        return affrimName;
+    }
+
+    public void setAffrimName(String affrimName) {
+        this.affrimName = affrimName == null ? null : affrimName.trim();
+    }
+
+    public Date getAffrimTime() {
+        return affrimTime;
+    }
+
+    public void setAffrimTime(Date affrimTime) {
+        this.affrimTime = affrimTime;
+    }
+
+    public Date getDelvryEdate() {
+        return delvryEdate;
+    }
+
+    public void setDelvryEdate(Date delvryEdate) {
+        this.delvryEdate = delvryEdate;
+    }
+
+    public String getFinalUserDesc() {
+        return finalUserDesc;
+    }
+
+    public void setFinalUserDesc(String finalUserDesc) {
+        this.finalUserDesc = finalUserDesc == null ? null : finalUserDesc.trim();
+    }
+
+    public String getTransitTyp() {
+        return transitTyp;
+    }
+
+    public void setTransitTyp(String transitTyp) {
+        this.transitTyp = transitTyp == null ? null : transitTyp.trim();
+    }
+
+    public String getShipCarNo() {
+        return shipCarNo;
+    }
+
+    public void setShipCarNo(String shipCarNo) {
+        this.shipCarNo = shipCarNo == null ? null : shipCarNo.trim();
+    }
+
+    public String getMemo() {
+        return memo;
+    }
+
+    public void setMemo(String memo) {
+        this.memo = memo == null ? null : memo.trim();
+    }
+
+    public Short getPrintNumber() {
+        return printNumber;
+    }
+
+    public void setPrintNumber(Short printNumber) {
+        this.printNumber = printNumber;
+    }
+
+    public String getPlanSendMan() {
+        return planSendMan;
+    }
+
+    public void setPlanSendMan(String planSendMan) {
+        this.planSendMan = planSendMan == null ? null : planSendMan.trim();
+    }
+
+    public Date getPlanSendTime() {
+        return planSendTime;
+    }
+
+    public void setPlanSendTime(Date planSendTime) {
+        this.planSendTime = planSendTime;
+    }
+
+    public String getPlanReceiveMan() {
+        return planReceiveMan;
+    }
+
+    public void setPlanReceiveMan(String planReceiveMan) {
+        this.planReceiveMan = planReceiveMan == null ? null : planReceiveMan.trim();
+    }
+
+    public Date getPlanReceiveTime() {
+        return planReceiveTime;
+    }
+
+    public void setPlanReceiveTime(Date planReceiveTime) {
+        this.planReceiveTime = planReceiveTime;
+    }
+
+    public String getPlanOverMan() {
+        return planOverMan;
+    }
+
+    public void setPlanOverMan(String planOverMan) {
+        this.planOverMan = planOverMan == null ? null : planOverMan.trim();
+    }
+
+    public Date getPlanOverTime() {
+        return planOverTime;
+    }
+
+    public void setPlanOverTime(Date planOverTime) {
+        this.planOverTime = planOverTime;
+    }
+
+    public String getCarrierUnit() {
+        return carrierUnit;
+    }
+
+    public void setCarrierUnit(String carrierUnit) {
+        this.carrierUnit = carrierUnit == null ? null : carrierUnit.trim();
+    }
+
+    public Short getOrderPrice() {
+        return orderPrice;
+    }
+
+    public void setOrderPrice(Short orderPrice) {
+        this.orderPrice = orderPrice;
+    }
+
+    public String getSupplyUnit() {
+        return supplyUnit;
+    }
+
+    public void setSupplyUnit(String supplyUnit) {
+        this.supplyUnit = supplyUnit == null ? null : supplyUnit.trim();
+    }
+
+    public String getProdCode() {
+        return prodCode;
+    }
+
+    public void setProdCode(String prodCode) {
+        this.prodCode = prodCode == null ? null : prodCode.trim();
+    }
+
+    public BigDecimal getOutquantity() {
+        return outquantity;
+    }
+
+    public void setOutquantity(BigDecimal outquantity) {
+        this.outquantity = outquantity;
+    }
+
+    public BigDecimal getOutweight() {
+        return outweight;
+    }
+
+    public void setOutweight(BigDecimal outweight) {
+        this.outweight = outweight;
+    }
+
+    public BigDecimal getOverquantity() {
+        return overquantity;
+    }
+
+    public void setOverquantity(BigDecimal overquantity) {
+        this.overquantity = overquantity;
+    }
+
+    public BigDecimal getPrice() {
+        return price;
+    }
+
+    public void setPrice(BigDecimal price) {
+        this.price = price;
+    }
+
+    public String getSteelName() {
+        return steelName;
+    }
+
+    public void setSteelName(String steelName) {
+        this.steelName = steelName == null ? null : steelName.trim();
+    }
+
+    public String getSpecName() {
+        return specName;
+    }
+
+    public void setSpecName(String specName) {
+        this.specName = specName == null ? null : specName.trim();
+    }
+
+    public String getBodyname() {
+        return bodyname;
+    }
+
+    public void setBodyname(String bodyname) {
+        this.bodyname = bodyname == null ? null : bodyname.trim();
+    }
+
+    public String getBusiname() {
+        return businame;
+    }
+
+    public void setBusiname(String businame) {
+        this.businame = businame == null ? null : businame.trim();
+    }
+
+    public BigDecimal getOverweight() {
+        return overweight;
+    }
+
+    public void setOverweight(BigDecimal overweight) {
+        this.overweight = overweight;
+    }
+
+    public String getOvermemo() {
+        return overmemo;
+    }
+
+    public void setOvermemo(String overmemo) {
+        this.overmemo = overmemo == null ? null : overmemo.trim();
+    }
+
+    public String getWmemo() {
+        return wmemo;
+    }
+
+    public void setWmemo(String wmemo) {
+        this.wmemo = wmemo == null ? null : wmemo.trim();
+    }
+
+    public String getCorderBid() {
+        return corderBid;
+    }
+
+    public void setCorderBid(String corderBid) {
+        this.corderBid = corderBid == null ? null : corderBid.trim();
+    }
+
+    @Override
+    public String toString() {
+        StringBuilder sb = new StringBuilder();
+        sb.append(getClass().getSimpleName());
+        sb.append(" [");
+        sb.append("Hash = ").append(hashCode());
+        sb.append(", dlivDirno=").append(dlivDirno);
+        sb.append(", seq=").append(seq);
+        sb.append(", orderNo=").append(orderNo);
+        sb.append(", orderSeq=").append(orderSeq);
+        sb.append(", customerNo=").append(customerNo);
+        sb.append(", customerNm=").append(customerNm);
+        sb.append(", prodLine=").append(prodLine);
+        sb.append(", prodName=").append(prodName);
+        sb.append(", specAbbsym=").append(specAbbsym);
+        sb.append(", steelCode=").append(steelCode);
+        sb.append(", quantity=").append(quantity);
+        sb.append(", weight=").append(weight);
+        sb.append(", money=").append(money);
+        sb.append(", transmoney=").append(transmoney);
+        sb.append(", dlivProgCd=").append(dlivProgCd);
+        sb.append(", createName=").append(createName);
+        sb.append(", createTime=").append(createTime);
+        sb.append(", updateName=").append(updateName);
+        sb.append(", updateTime=").append(updateTime);
+        sb.append(", validflag=").append(validflag);
+        sb.append(", orderLineNo=").append(orderLineNo);
+        sb.append(", diameter=").append(diameter);
+        sb.append(", finalUser=").append(finalUser);
+        sb.append(", destination=").append(destination);
+        sb.append(", isout=").append(isout);
+        sb.append(", applicantName=").append(applicantName);
+        sb.append(", applicantTime=").append(applicantTime);
+        sb.append(", affrimName=").append(affrimName);
+        sb.append(", affrimTime=").append(affrimTime);
+        sb.append(", delvryEdate=").append(delvryEdate);
+        sb.append(", finalUserDesc=").append(finalUserDesc);
+        sb.append(", transitTyp=").append(transitTyp);
+        sb.append(", shipCarNo=").append(shipCarNo);
+        sb.append(", memo=").append(memo);
+        sb.append(", printNumber=").append(printNumber);
+        sb.append(", planSendMan=").append(planSendMan);
+        sb.append(", planSendTime=").append(planSendTime);
+        sb.append(", planReceiveMan=").append(planReceiveMan);
+        sb.append(", planReceiveTime=").append(planReceiveTime);
+        sb.append(", planOverMan=").append(planOverMan);
+        sb.append(", planOverTime=").append(planOverTime);
+        sb.append(", carrierUnit=").append(carrierUnit);
+        sb.append(", orderPrice=").append(orderPrice);
+        sb.append(", supplyUnit=").append(supplyUnit);
+        sb.append(", prodCode=").append(prodCode);
+        sb.append(", outquantity=").append(outquantity);
+        sb.append(", outweight=").append(outweight);
+        sb.append(", overquantity=").append(overquantity);
+        sb.append(", price=").append(price);
+        sb.append(", steelName=").append(steelName);
+        sb.append(", specName=").append(specName);
+        sb.append(", bodyname=").append(bodyname);
+        sb.append(", businame=").append(businame);
+        sb.append(", overweight=").append(overweight);
+        sb.append(", overmemo=").append(overmemo);
+        sb.append(", wmemo=").append(wmemo);
+        sb.append(", corderBid=").append(corderBid);
+        sb.append(", serialVersionUID=").append(serialVersionUID);
+        sb.append("]");
+        return sb.toString();
+    }
+}

+ 7 - 0
src/main/java/com/steerinfo/dil/service/IBackgroundProcessService.java

@@ -0,0 +1,7 @@
+package com.steerinfo.dil.service;
+
+import java.util.Map;
+
+public interface IBackgroundProcessService {
+
+}

+ 23 - 0
src/main/java/com/steerinfo/dil/service/IDilVersionService.java

@@ -0,0 +1,23 @@
+package com.steerinfo.dil.service;
+
+/**
+ * DilVersion服务接口:
+ *
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-12-14 10:05
+ * 类描述
+ * 修订历史:
+ * 日期:2021-12-14
+ * 作者:generator
+ * 参考:
+ * 描述:DilVersion服务接口
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ * @see null
+ */
+public interface IDilVersionService {
+
+    String getAppVersion();
+
+    String addAppVersion(String version);
+
+}

+ 28 - 0
src/main/java/com/steerinfo/dil/service/ISystemFileService.java

@@ -0,0 +1,28 @@
+package com.steerinfo.dil.service;
+
+import com.steerinfo.framework.service.IBaseService;
+import com.steerinfo.dil.model.SystemFile;
+import io.swagger.models.auth.In;
+
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * SystemFile服务接口:
+ *
+ * @author generator
+ * @version 1.0-SNAPSHORT 2023-10-30 09:19
+ * 类描述
+ * 修订历史:
+ * 日期:2023-10-30
+ * 作者:generator
+ * 参考:
+ * 描述:SystemFile服务接口
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ * @see null
+ */
+public interface ISystemFileService extends IBaseService<SystemFile, String> {
+
+    SystemFile insertFile(SystemFile systemFile);
+
+}

+ 14 - 0
src/main/java/com/steerinfo/dil/service/LogService.java

@@ -0,0 +1,14 @@
+package com.steerinfo.dil.service;
+
+import com.steerinfo.dil.mapper.LogResultMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 日志服务
+ */
+@Service
+public class LogService {
+    @Autowired
+    private LogResultMapper logResultMapper;
+}

+ 23 - 0
src/main/java/com/steerinfo/dil/service/RmsReceivingCompanyService.java

@@ -0,0 +1,23 @@
+package com.steerinfo.dil.service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author xiaosh
+ */
+public interface RmsReceivingCompanyService {
+    /**
+     * 查询收款客户
+     *
+     * @return 名称列表
+     */
+    List<String> queryRmsReceivingCompanyName();
+
+    /**
+     * 查询收款客户
+     *
+     * @return 编号名称列表
+     */
+    List<Map<String, Object>> queryRmsReceivingCompanyMap();
+}

+ 19 - 0
src/main/java/com/steerinfo/dil/service/UniversalService.java

@@ -0,0 +1,19 @@
+package com.steerinfo.dil.service;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/10/19 18:04
+ */
+
+public interface UniversalService {
+
+
+    Map<String, Object> getColumnShowHidden(Map<String, Object> map);
+
+    int updateColumnShowHidden(Map<String, Object> map);
+
+    Map<String, Object> getColumShowHideScheme(Map<String, Object> map);
+}

+ 18 - 0
src/main/java/com/steerinfo/dil/service/impl/BackgroundProcessingServiceImpl.java

@@ -0,0 +1,18 @@
+package com.steerinfo.dil.service.impl;
+
+import com.steerinfo.dil.mapper.BackgroundProcessingMapper;
+import com.steerinfo.dil.mapper.DilCidCapacityMapper;
+import com.steerinfo.dil.model.DilCidCapacity;
+import com.steerinfo.dil.service.IBackgroundProcessService;
+import com.steerinfo.dil.util.DataChange;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.math.BigDecimal;
+import java.util.*;
+
+@Service(value = "backgroundProcessingService")
+public class BackgroundProcessingServiceImpl implements IBackgroundProcessService {
+
+
+}

+ 72 - 0
src/main/java/com/steerinfo/dil/service/impl/DilVersionServiceImpl.java

@@ -0,0 +1,72 @@
+package com.steerinfo.dil.service.impl;
+
+import com.steerinfo.dil.mapper.DilVersionMapper;
+import com.steerinfo.dil.model.DilVersion;
+import com.steerinfo.dil.service.IDilVersionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+
+/**
+ * DilVersion服务实现:
+ *
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-12-14 10:05
+ * 类描述
+ * 修订历史:
+ * 日期:2021-12-14
+ * 作者:generator
+ * 参考:
+ * 描述:DilVersion服务实现
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ * @see null
+ */
+@Service(value = "dilVersionService")
+public class DilVersionServiceImpl implements IDilVersionService {
+
+    @Autowired
+    private DilVersionMapper dilVersionMapper;
+
+
+    /**
+     * 查询最新版本号
+     *
+     * @return 版本号
+     */
+    public String getAppVersion() {
+        //查找当前最新版本号
+        return dilVersionMapper.getAppVersion();
+    }
+
+    /**
+     * 查询PDA最新版本号
+     *
+     * @return
+     */
+    public String getPDAVersion() {
+        //查询PDA当前最新版本号
+        return dilVersionMapper.getPDAVersion();
+    }
+
+    /**
+     * 添加APP版本号
+     *
+     * @param version
+     * @return
+     */
+    public String addAppVersion(String version) {
+        //判断该版本号是否已存在
+        Integer versionId = dilVersionMapper.getVersionId(version);
+        if (versionId != null) {
+            return "版本号已存在";
+        }
+        DilVersion dilVersion = new DilVersion();
+        dilVersion.setVersionId(dilVersionMapper.selectMaxId());
+        dilVersion.setVersionValue(version);
+        dilVersion.setInsertTime(new Date());
+        dilVersion.setInsertUsername("admin");
+        dilVersionMapper.insertSelective(dilVersion);
+        return version + "添加成功";
+    }
+}

+ 49 - 0
src/main/java/com/steerinfo/dil/service/impl/RmsReceivingCompanyServiceImpl.java

@@ -0,0 +1,49 @@
+package com.steerinfo.dil.service.impl;
+
+import com.steerinfo.dil.mapper.RmsReceivingCompanyMapper;
+import com.steerinfo.dil.model.RmsReceivingCompany;
+import com.steerinfo.dil.service.RmsReceivingCompanyService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author xiaosh
+ */
+@Service(value = "rmsReceivingCompanyService1")
+public class RmsReceivingCompanyServiceImpl implements RmsReceivingCompanyService {
+
+    @Autowired
+    private RmsReceivingCompanyMapper rmsReceivingCompanyMapper;
+
+    @Override
+    public List<String> queryRmsReceivingCompanyName() {
+        List<String> receivingCompany = new ArrayList<>();
+        List<RmsReceivingCompany> list = rmsReceivingCompanyMapper.selectAll();
+        if (null != list && !list.isEmpty()) {
+            for (RmsReceivingCompany rmsReceivingCompany : list) {
+                receivingCompany.add(rmsReceivingCompany.getCompanyName());
+            }
+        }
+        return receivingCompany;
+    }
+
+    @Override
+    public List<Map<String, Object>> queryRmsReceivingCompanyMap() {
+        List<Map<String, Object>> receivingCompany = new ArrayList<>();
+        List<RmsReceivingCompany> list = rmsReceivingCompanyMapper.selectAll();
+        if (null != list && !list.isEmpty()) {
+            for (RmsReceivingCompany rmsReceivingCompany : list) {
+                Map<String, Object> map = new HashMap<>(4);
+                map.put("values1", rmsReceivingCompany.getCompanyCode());
+                map.put("label1", rmsReceivingCompany.getCompanyName());
+                receivingCompany.add(map);
+            }
+        }
+        return receivingCompany;
+    }
+}

+ 49 - 0
src/main/java/com/steerinfo/dil/service/impl/SystemFileServiceImpl.java

@@ -0,0 +1,49 @@
+package com.steerinfo.dil.service.impl;
+
+import com.steerinfo.framework.mapper.IBaseMapper;
+import com.steerinfo.framework.service.impl.BaseServiceImpl;
+import com.steerinfo.dil.model.SystemFile;
+import com.steerinfo.dil.mapper.SystemFileMapper;
+import com.steerinfo.dil.service.ISystemFileService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.Date;
+import java.math.BigDecimal;
+
+/**
+ * SystemFile服务实现:
+ *
+ * @author generator
+ * @version 1.0-SNAPSHORT 2023-10-30 09:19
+ * 类描述
+ * 修订历史:
+ * 日期:2023-10-30
+ * 作者:generator
+ * 参考:
+ * 描述:SystemFile服务实现
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ * @see null
+ */
+@Service(value = "systemFileService")
+public class SystemFileServiceImpl extends BaseServiceImpl<SystemFile, String> implements ISystemFileService {
+
+    @Autowired
+    private SystemFileMapper systemFileMapper;
+
+    @Override
+    protected IBaseMapper<SystemFile, String> getMapper() {
+        return systemFileMapper;
+    }
+
+    @Override
+    public SystemFile insertFile(SystemFile systemFile) {
+        SystemFile s = systemFileMapper.insertAll(systemFile);
+        if (s != null) {
+            return s;
+        } else {
+            return null;
+        }
+
+    }
+}

+ 36 - 0
src/main/java/com/steerinfo/dil/service/impl/TestServiceImpl.java

@@ -0,0 +1,36 @@
+//package com.steerinfo.dil.service.impl;
+//
+//import com.steerinfo.dil.feign.AmsFeign;
+//import io.seata.spring.annotation.GlobalTransactional;
+//import org.springframework.beans.factory.annotation.Autowired;
+//import org.springframework.stereotype.Service;
+//import org.springframework.transaction.annotation.Transactional;
+//
+//import java.util.HashMap;
+//import java.util.Map;
+//
+///**
+// * @ClassName TestServiceImpl
+// * @Description TODO
+// * @date 2024-04-22 11:27
+// * @Version 1.0
+// */
+//@Service(value = "testService")
+//public class TestServiceImpl {
+//    @Autowired
+//    AmsFeign amsFeign;
+//
+//
+//    @Transactional(rollbackFor = Exception.class)
+//    public Map<String, Object> test(Map<String, Object> map) {
+//        Map<String, Object> map1 = amsFeign.productionRequirementAdd(map);
+//
+//        Map<String, Object> map2 = amsFeign.getproductionPlanList(new HashMap<>(),null,null,null);
+//
+//        if(true){
+//            int i = 1/0;
+//        }
+//
+//        return map1;
+//    }
+//}

+ 132 - 0
src/main/java/com/steerinfo/dil/service/impl/UniversalServiceImpl.java

@@ -0,0 +1,132 @@
+package com.steerinfo.dil.service.impl;
+
+import com.alibaba.fastjson.JSON;
+import com.steerinfo.dil.feign.AmsFeign;
+import com.steerinfo.dil.mapper.DilRoleOrgcodeTableMapper;
+import com.steerinfo.dil.mapper.DilTableColumnRoleMapper;
+import com.steerinfo.dil.mapper.UniversalMapper;
+import com.steerinfo.dil.model.DilRoleOrgcodeTable;
+import com.steerinfo.dil.service.UniversalService;
+import com.steerinfo.dil.util.DataChange;
+import com.steerinfo.dil.util.HTTPRequestUtils;
+import org.apache.commons.codec.digest.DigestUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.io.IOException;
+import java.math.BigDecimal;
+import java.util.*;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/10/19 18:05
+ */
+
+@Service
+@EnableScheduling
+@EnableAsync
+public class UniversalServiceImpl implements UniversalService {
+
+    @Resource
+    private UniversalMapper universalMapper;
+
+    @Resource
+    private DilRoleOrgcodeTableMapper dilRoleOrgcodeTableMapper;
+
+    @Resource
+    private DilTableColumnRoleMapper dilTableColumnRoleMapper;
+
+
+    @Autowired
+    private AmsFeign amsFeign;
+
+
+    @Override
+    public Map<String, Object> getColumnShowHidden(Map<String, Object> map) {
+        Map<String, Object> responseMap = new HashMap<>();
+        List<Map<String, Object>> columnShowData = universalMapper.getColumnShowData(map);
+        List<Map<String, Object>> columnAllData = universalMapper.getColumnAllData(map);
+        List<String> columnHiddenData = universalMapper.getColumnHiddenData(map);
+        responseMap.put("columnShowData", columnShowData);
+        responseMap.put("columnAllData", columnAllData);
+        responseMap.put("columnHiddenData", columnHiddenData);
+        return responseMap;
+    }
+
+    @Override
+    public synchronized int updateColumnShowHidden(Map<String, Object> map) {
+        int i = 0;
+        //首先删除原来的列
+        if ("默认方案".equals(map.get("schemeName"))) {
+            dilRoleOrgcodeTableMapper.updateEnableStatus(map);
+            return 0;
+        }
+        i += dilRoleOrgcodeTableMapper.deleteSchmenLColumnData(map);
+        List<String> columnHiddenData = (List<String>) map.get("columnHiddenData");
+        List<DilRoleOrgcodeTable> mapList = new ArrayList<>();
+        for (String s : columnHiddenData) {
+            DilRoleOrgcodeTable dilRoleOrgcodeTable = new DilRoleOrgcodeTable();
+            BigDecimal columnId = dilTableColumnRoleMapper.selectColumnId(s, map.get("tableName").toString());
+            dilRoleOrgcodeTable.setColumnId(columnId);
+            dilRoleOrgcodeTable.setUserName(map.get("userName").toString());
+            dilRoleOrgcodeTable.setOrgCode(map.get("orgCode").toString());
+            dilRoleOrgcodeTable.setEnableStatus(new BigDecimal(1));
+            dilRoleOrgcodeTable.setPrimaryName(map.get("schemeName").toString());
+            dilRoleOrgcodeTable.setPrimaryId(dilRoleOrgcodeTableMapper.getPrimaryId());
+            mapList.add(dilRoleOrgcodeTable);
+        }
+        //将该用户的所有方案都变成未启用状
+        dilRoleOrgcodeTableMapper.updateEnableStatus(map);
+        if (mapList.size() > 0) {
+            //然后再批量新增进去
+            i += dilRoleOrgcodeTableMapper.batchInsert(mapList);
+        }
+        return i;
+    }
+
+    @Override
+    public Map<String, Object> getColumShowHideScheme(Map<String, Object> map) {
+        Map<String, Object> responseMap = new HashMap<>();
+        List<Map<String, Object>> schemeList = new ArrayList<>();
+        //每一个map;
+        Map<String, Object> schemeMap = new HashMap<>();
+        //作为传值用的map
+        Map<String, Object> attrMap = new HashMap<>();
+        //当前启用状态的值
+        String activeName = "默认方案";
+        //以下是方案的标题和名字
+        schemeMap.put("title", "默认方案");
+        schemeMap.put("name", "默认方案");
+        //以下是方案的显示数据和隐藏数据
+        List<Map<String, Object>> columnAllData = universalMapper.getColumnAllData(map);
+        schemeMap.put("columnAllData", columnAllData);
+        responseMap.put("columnAllData", columnAllData);
+        attrMap.put("tableName", map.get("tableName"));
+        map.put("schemeName", activeName);
+        List<String> columnHiddenData = universalMapper.getColumnHiddenData(map);
+        schemeMap.put("columnHiddenData", columnHiddenData);
+        schemeList.add(schemeMap);
+        responseMap.put("activeName", activeName);
+        responseMap.put("columnHiddenData", columnHiddenData);
+        //然后根据用户名和报表名称,去查询方案名称和启用状态
+        List<Map<String, Object>> schemeMapAnotherData = universalMapper.getColumnAllScheme(map);
+        for (Map<String, Object> schemeMapAnotherDataMap : schemeMapAnotherData) {
+            Map<String, Object> itemMap = new HashMap<>();
+            itemMap.put("title", schemeMapAnotherDataMap.get("schemeName"));
+            itemMap.put("name", schemeMapAnotherDataMap.get("schemeName"));
+            itemMap.put("columnAllData", columnAllData);
+            List<String> itemColumnHiddenData = universalMapper.getColumnHiddenData(schemeMapAnotherDataMap);
+            itemMap.put("columnHiddenData", itemColumnHiddenData);
+            schemeList.add(itemMap);
+            if (DataChange.dataToBigDecimal(schemeMapAnotherDataMap.get("enableStatus")).compareTo(new BigDecimal(1)) == 0) {
+                responseMap.put("activeName", schemeMapAnotherDataMap.get("schemeName"));
+                responseMap.put("columnHiddenData", itemColumnHiddenData);
+            }
+        }
+        responseMap.put("schemeList", schemeList);
+        return responseMap;
+    }
+}

+ 75 - 0
src/main/java/com/steerinfo/dil/util/BaseRESTfulController.java

@@ -0,0 +1,75 @@
+package com.steerinfo.dil.util;
+
+import com.steerinfo.framework.controller.BaseController;
+import com.steerinfo.framework.controller.RESTfulResult;
+
+/**
+ * @Author zhangnan
+ * @Date 2021/7/8 11:33
+ * @Version 1.0
+ */
+public class BaseRESTfulController extends BaseController {
+    public BaseRESTfulController() {
+    }
+
+    protected RESTfulResult success() {
+        RESTfulResult result = new RESTfulResult();
+        result.setSucceed();
+        result.setMessage(result.getResultMessage());
+        result.setData(true);
+        result.setCode("200");
+        return result;
+    }
+
+    protected RESTfulResult success(Object obj) {
+        RESTfulResult result = new RESTfulResult();
+        result.setSucceed();
+        result.setMessage(result.getResultMessage());
+        result.setData(obj);
+        result.setCode("200");
+        return result;
+    }
+
+    protected RESTfulResult success(Object obj, String msg) {
+        RESTfulResult result = this.success(obj);
+        result.setMessage(msg);
+        result.setCode("200");
+        return result;
+    }
+
+    protected RESTfulResult success(Object obj, String code, String msg) {
+        RESTfulResult result = this.success(obj, msg);
+        result.setCode("200");
+        result.setCode(code);
+        return result;
+    }
+
+    protected RESTfulResult failed() {
+        return this.failed((Object) null);
+    }
+
+    protected RESTfulResult failed(Object obj) {
+        RESTfulResult result = new RESTfulResult("201", (String) null);
+        result.setMessage(result.getResultMessage());
+        result.setData(obj);
+        return result;
+    }
+
+    protected RESTfulResult failed(Object obj, String msg) {
+        RESTfulResult result = new RESTfulResult("201", msg);
+        result.setData(obj);
+        return result;
+    }
+
+    protected RESTfulResult failed(Object obj, String code, String msg) {
+        RESTfulResult result = this.failed(obj, msg);
+        result = new RESTfulResult("201", msg);
+        result.setCode(code);
+        return result;
+    }
+
+    protected RESTfulResult loginFailed(String msg) {
+        RESTfulResult result = new RESTfulResult("500", msg);
+        return result;
+    }
+}

+ 49 - 0
src/main/java/com/steerinfo/dil/util/ColumnDataUtil.java

@@ -0,0 +1,49 @@
+package com.steerinfo.dil.util;
+
+import com.steerinfo.dil.feign.ColumnDataFeign;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.util.*;
+
+@Component
+public class ColumnDataUtil {
+    @Autowired
+    ColumnDataFeign columnDataFeign;
+
+    private Set<Map<String, Object>> setListMap(List<Map<String, Object>> list, String name) {
+        Set<Map<String, Object>> setString = new HashSet<>();
+        for (Map<String, Object> map : list) {//遍历每条数据
+            Map<String, Object> map1 = new HashMap<>();
+            //map.get(name)获取每条数据中对应表头字段的数据
+            map1.put("text", map.get(name));
+            if (map.get(name) != null) {
+                map1.put("value", map.get(name));
+                setString.add(map1);
+            }
+        }
+        return setString;
+    }
+
+    public PageListAdd tableColumnData(Integer apiId, List<Map<String, Object>> data) {
+        List<Map<String, Object>> columnDataList = columnDataFeign.getColumnData(apiId);
+        for (Map<String, Object> columnData : columnDataList) {
+            //每个表头字段的过滤条件
+            columnData.put("filters", setListMap(data, columnData.get("prop").toString()));
+        }
+        PageListAdd pageList = new PageListAdd(data);
+        pageList.setColumnData(columnDataList);
+        return pageList;
+    }
+
+    public PageListAdd tableColumnDataByUserId(Integer apiId, List<Map<String, Object>> list, List<Map<String, Object>> data, String userId) {
+        List<Map<String, Object>> columnDataList = columnDataFeign.getColumnDataByUserId(apiId, userId);
+//        for (Map<String, Object> columnData : columnDataList) {
+//            //每个表头字段的过滤条
+//            columnData.put("filters", setListMap(data, columnData.get("prop").toString()));
+//        }
+        PageListAdd pageList = new PageListAdd(data);
+        pageList.setColumnData(columnDataList);
+        return pageList;
+    }
+}

+ 365 - 0
src/main/java/com/steerinfo/dil/util/DataChange.java

@@ -0,0 +1,365 @@
+package com.steerinfo.dil.util;
+
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.imageio.ImageIO;
+import java.awt.*;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.math.BigDecimal;
+import java.text.DateFormat;
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+/**
+ * @ author    :TXF
+ * @ time      :2021/8/25 11:25
+ */
+
+public class DataChange {
+
+    static String tempDir = "/temp/";
+
+    /**
+     * 时间转换类
+     * 处理了三种类型 yyyy-MM-dd HH:mm:ss  yyyy/MM/dd HH:mm:ss  时间戳类型(带毫秒数时间戳13位)
+     *
+     * @param vueDate
+     * @return
+     */
+    public static Date dataToDate(Object vueDate) {
+        if (vueDate instanceof Date) {
+            return (Date) vueDate;
+        } else if (vueDate instanceof Long) {
+            return new Date((Long) vueDate);
+        } else {
+            try {
+                String str = String.valueOf(vueDate);
+                if (judgeNumber(str) && str.length() == 13) {
+                    return new Date(Long.parseLong(str));
+                } else if (str.contains("-")) {
+                    if (str.length() == "yyyy-MM-dd".length()) {
+                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                        return sdf.parse(str);
+                    }
+                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                    return sdf.parse(str);
+                } else if (str.contains("/")) {
+                    if (str.length() == "yyyy/MM/dd".length()) {
+                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
+                        return sdf.parse(str);
+                    }
+                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
+                    return sdf.parse(str);
+                }
+            } catch (Exception e) {
+                System.out.println("时间解析错误!返回null");
+                return null;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * 判断是否纯数字(不带小数点)仅供上面方法使用
+     *
+     * @param str
+     * @return
+     */
+    public static boolean judgeNumber(String str) {
+        Pattern pattern = Pattern.compile("^[-\\+]?[\\d]*$");
+        return pattern.matcher(str).matches();
+    }
+
+
+    /**
+     * 数据转换成BigDecimal
+     *
+     * @param data
+     * @return
+     */
+    public static BigDecimal dataToBigDecimal(Object data) {
+        if (data != null) {
+            if (data instanceof BigDecimal) {
+                return (BigDecimal) data;
+            } else {
+                String str = String.valueOf(data);
+                BigDecimal decimal = BigDecimal.ZERO;
+                if (!"".equals(str)) {
+                    try {
+                        decimal = new BigDecimal(str);
+                    } catch (Exception e) {
+                        System.out.println(data + ":数据解析失败!返回0");
+                        return BigDecimal.ZERO;
+                    }
+                }
+                return decimal;
+            }
+        }
+        return BigDecimal.ZERO;
+    }
+
+    /**
+     * 将时间截取到天  为字符串类型 用于前端只显示到天
+     *
+     * @param date 传入时间
+     * @return
+     */
+    public static Date dataToDayDate(Object date) {
+        try {
+            Date origin = dataToDate(date);
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+            if (origin == null) {
+                return null;
+            }
+            return sdf.parse(sdf.format(origin));
+        } catch (Exception e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+    /**
+     * 查询日期是否过期,过期则返回 true
+     *
+     * @param day 传入时间
+     * @return
+     */
+    public static boolean isExpireDay(Object day) {
+        try {
+            if (dataToDayDate(day).getTime() < dataToDayDate(new Date()).getTime()) {
+                return true;
+            } else {
+                return false;
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+            return true;
+        }
+    }
+
+
+    /**
+     * 遍历列表使只显示两位小数
+     *
+     * @param list
+     * @param key
+     */
+    public static void dataTo2Number(List<Map<String, Object>> list, String... key) {
+        DecimalFormat df = new DecimalFormat("0.00");
+        //遍历List
+        for (Map<String, Object> map : list) {
+            for (String s : key) {
+                //修改数据为带两位小数
+                try {
+                    BigDecimal oldDate = dataToBigDecimal(map.get(s));
+                    String resultDeduction = df.format(oldDate.doubleValue());
+                    map.put(s, resultDeduction);
+                } catch (Exception e) {
+                    System.out.println("原料扣减量数据有误");
+                }
+            }
+        }
+    }
+
+    /**
+     * 计算相差时间  日时分秒
+     *
+     * @param
+     * @return
+     */
+    public static String calculatedTimeDifference(Date time1, Date time2) {
+        long t1 = time1.getTime();
+        long t2 = time2.getTime();
+        if (t1 > t2) {
+            long temp = t1;
+            t1 = t2;
+            t2 = temp;
+        }
+        long between = t2 - t1;
+        long day = between / (24 * 60 * 60 * 1000);
+        long hour = (between / (60 * 60 * 1000) - day * 24);
+        long min = ((between / (60 * 1000)) - day * 24 * 60 - hour * 60);
+        long s = (between / 1000 - day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
+        return day + "天" + +hour + "时" + min + "分" + s + "秒";
+    }
+
+    /**
+     * 生成带时间的八位数顺序号
+     *
+     * @param start 前缀
+     * @param id    顺序号  主键Id
+     * @return
+     */
+    public static String generateEightDigitsNumber(String start, Integer id) {
+        id = id % 100000000; //保证不超过
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
+        StringBuilder sb = new StringBuilder(start + sdf.format(new Date()));
+        sb.append(
+                id < 10
+                        ? "0000000" + id : id < 100
+                        ? "000000" + id : id < 1000
+                        ? "00000" + id : id < 10000
+                        ? "0000" + id : id < 100000
+                        ? "000" + id : id < 1000000
+                        ? "00" + id : id < 10000000
+                        ? "0" + id : id.toString()
+        );
+        return sb.toString();
+    }
+
+    /**
+     * 根据时间段查询数据 支持只选择单个时间
+     *
+     * @param startTime
+     * @param endTime
+     * @param map
+     * @param sdf
+     * @return
+     * @Author TXF
+     * @Date 2022/1/10 23:21
+     **/
+    public static void queryDataByDate(String startTime, String endTime, Map<String, Object> map, SimpleDateFormat sdf) {
+        if (startTime != null && !"null".equals(startTime) && endTime != null && !"null".equals(endTime)) {
+            map.put("startDate", sdf.format(new Date(Long.parseLong(startTime))));
+            map.put("endDate", sdf.format(new Date(Long.parseLong(endTime) + 86400000)));
+        } else if (startTime != null && !"null".equals(startTime)) {
+            map.put("oneDate", sdf.format(new Date(Long.parseLong(startTime))));
+        } else if (endTime != null && !"null".equals(endTime)) {
+            map.put("oneDate", sdf.format(new Date(Long.parseLong(endTime))));
+        } else {
+            map.put("oneDate", sdf.format(new Date()));
+        }
+    }
+
+    /**
+     * 只支持两个时间查询
+     *
+     * @param startTime
+     * @param endTime
+     * @param sdf
+     * @return
+     * @Author TXF
+     * @Date 2022/1/15 9:08
+     **/
+    public static void queryDataByDateTime(String startTime, String endTime, Map<String, Object> map, SimpleDateFormat sdf) {
+        SimpleDateFormat sdfDate = new SimpleDateFormat("yyyy-MM-dd");
+        if (startTime != null && !"null".equals(startTime) && endTime != null && !"null".equals(endTime)) {
+            map.put("startDate", sdf.format(new Date(Long.parseLong(startTime))));
+            map.put("endDate", sdf.format(new Date(Long.parseLong(endTime))));
+        }
+        //如果开始时间和结束时间有且只有一个为空 则只查那天的数据
+        else if ((startTime != null && !"null".equals(startTime)) || (endTime != null && !"null".equals(endTime))) {
+            if (startTime != null && !"null".equals(startTime)) {
+                queryDataByTwoDateSon(map, startTime, sdfDate);
+            }
+            if (endTime != null && !"null".equals(endTime)) {
+                queryDataByTwoDateSon(map, endTime, sdfDate);
+            }
+        } else {
+            //如果两者时间都为空,则查询当天数据
+            String nowDate = sdfDate.format(new Date());
+            map.put("oneDate", nowDate + " 00:00:00");
+        }
+    }
+
+    /**
+     * 上面方法的儿子方法 如果只传入了一个时间 则查询那天的数据
+     *
+     * @param map
+     * @param time
+     * @param sdfDate
+     * @return
+     * @Author TXF
+     * @Date 2022/1/17 16:17
+     **/
+    private static void queryDataByTwoDateSon(Map<String, Object> map, String time, SimpleDateFormat sdfDate) {
+        Date date1 = new Date(Long.parseLong(time));
+        Date date2 = new Date(Long.parseLong(time) + 86400000);
+        String dayStartTime = sdfDate.format(date1);
+        String dayEndTime = sdfDate.format(date2);
+        map.put("startDate", dayStartTime + " 00:00:00");
+        map.put("endDate", dayEndTime + " 00:00:00");
+    }
+
+    public static void getMonthStartEnd(Map<String, Object> map) {
+        //
+        Calendar cale = Calendar.getInstance();
+
+        // 获取当月第一天和最后一天
+        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+        String firstDay, lastDay;
+        // 获取前月的第一天
+        cale.add(Calendar.MONTH, 0);
+        cale.set(Calendar.DAY_OF_MONTH, 1);
+        firstDay = format.format(cale.getTime());
+        // 获取前月的最后一天
+        cale = Calendar.getInstance();
+        cale.add(Calendar.MONTH, 1);
+        cale.set(Calendar.DAY_OF_MONTH, 0);
+        lastDay = format.format(cale.getTime());
+        System.out.println("本月第一天和最后一天分别是 : " + firstDay + " and " + lastDay);
+        map.put("firstDay", firstDay);
+        map.put("lastDay", lastDay);
+
+    }
+
+    public static File paintWater(MultipartFile file, String text, int xOffset, int yOffset) throws Exception {
+        //将文件对象转化为图片对象
+        Image srcImg = ImageIO.read(file.getInputStream());
+        //获取图片的宽
+        int srcImgWidth = srcImg.getWidth(null);
+        //获取图片的高
+        int srcImgHeight = srcImg.getHeight(null);
+        // 加水印
+        BufferedImage bufImg = new BufferedImage(srcImgWidth, srcImgHeight, BufferedImage.TYPE_INT_RGB);
+        //创建画笔
+        Graphics2D graphics = bufImg.createGraphics();
+        //srcImg 为上面获取到的原始图片的图片对象
+        graphics.drawImage(srcImg, 0, 0, srcImgWidth, srcImgHeight, null);
+        //根据图片的背景设置水印颜色
+        graphics.setColor(new Color(255, 0, 0, 255));
+        //设置字体  画笔字体样式为微软雅黑,加粗,文字大小为60pt
+        graphics.setFont(new Font("微软雅黑", Font.BOLD, 40));
+        //设置水印的坐标
+        int x = 0;
+        if (xOffset >= 0) {
+            x = xOffset;
+        } else {
+            x = srcImgWidth + (xOffset % srcImgWidth);
+        }
+        int y = 0;
+        if (yOffset >= 0) {
+            y = yOffset;
+        } else {
+            y = srcImgHeight + (yOffset % srcImgWidth);
+        }
+        //自定义水印 第一个参数是水印内容,第二个参数是x轴坐标,第三个参数是y轴坐标
+        graphics.drawString(text, x, y);
+        //时间水印
+        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+        graphics.drawString(df.format(new Date()), x, y + 50);
+        graphics.dispose();
+        //待存储的地址
+        File fileDir = new File(tempDir);
+        if (!fileDir.exists() || !fileDir.isDirectory()) {
+            fileDir.mkdir();
+        }
+        String tarImgPath = tempDir + file.getOriginalFilename();
+        // 输出图片
+        FileOutputStream outImgStream = new FileOutputStream(tarImgPath);
+        ImageIO.write(bufImg, "png", outImgStream);
+        outImgStream.flush();
+        outImgStream.close();
+        //返回目标图片
+        File targetFile = new File(tarImgPath);
+//        targetFile.delete();//临时文件返回后,保存在其他地方然后及时删除
+        return targetFile;
+    }
+}

+ 284 - 0
src/main/java/com/steerinfo/dil/util/DateUtils.java

@@ -0,0 +1,284 @@
+package com.steerinfo.dil.util;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.List;
+
+public class DateUtils {
+    /**
+     * 日期转换为字符串 格式自定义
+     *
+     * @param date
+     * @param timeformat
+     * @return
+     */
+    public static String dateStr(Date date, String timeformat) {
+        if (date == null) {
+            return "";
+        }
+        String str = new SimpleDateFormat(timeformat).format(date);
+        return str;
+    }
+
+    public static String dateStr(Date date) {
+        if (date == null) {
+            return "";
+        }
+        String str = new SimpleDateFormat("yyyy-mm-dd").format(date);
+        return str;
+    }
+
+    /**
+     * 字符串转换为日期 格式自定义
+     *
+     * @param date
+     * @param date
+     * @return
+     */
+    public static Date StrDate(String date) {
+        SimpleDateFormat dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd");
+        String str = new SimpleDateFormat("yyyy-mm-dd").format(date);
+        try {
+            Date date1 = dateTimeFormat.parse(date);
+            return date1;
+        } catch (ParseException e) {
+            throw new RuntimeException(e);
+        }
+
+    }
+
+    /**
+     * 时间戳转标准时间
+     *
+     * @param stap 时间戳
+     * @return
+     */
+    public static String stampToDate(String stap) {
+        String time;
+        try {
+            if (stap == null || stap.length() == 0) {
+                time = null;
+            } else {
+                SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                Date date = null;
+                try {
+                    long lt = new Long(stap);
+                    date = new Date(lt);
+                } catch (Exception e) {
+                    date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(stap);
+                }
+                time = simpleDateFormat.format(date);
+            }
+        } catch (Exception e) {
+            time = null;
+            e.printStackTrace();
+        }
+        return time;
+    }
+
+    /**
+     * 时间序列偏移量 偏移量自定义
+     *
+     * @param time
+     * @param offsetinfo 偏移量
+     * @return
+     */
+    public static Date offsetDate(Date time, String offsetinfo) {
+        String[] offsetinfoarray = offsetinfo.split(",");
+        Calendar cal = Calendar.getInstance();
+        cal.setTime(time);
+        for (int i = 0; i < offsetinfoarray.length; i++) {
+            if (offsetinfoarray[i] != null && !"".equals(offsetinfoarray[i])) {
+                String timegran = offsetinfoarray[i].substring(0, offsetinfoarray[i].length() - 2);
+                int offset = Integer.parseInt(offsetinfoarray[i].substring(offsetinfoarray[i].length() - 2));
+                switch (timegran) {
+                    case "ss":
+                        cal.add(Calendar.SECOND, offset);
+                        break;
+                    case "mm":
+                        cal.add(Calendar.MINUTE, offset);
+                        break;
+                    case "HH":
+                        cal.add(Calendar.HOUR, offset);
+                        break;
+                    case "dd":
+                        cal.add(Calendar.DATE, offset);
+                        break;
+                    case "MM":
+                        cal.add(Calendar.MONTH, offset);
+                        break;
+                    case "yyyy":
+                        cal.add(Calendar.YEAR, offset);
+                        break;
+                }
+            }
+        }
+        return cal.getTime();
+    }
+
+    public static List<String> getMonitortime(String timegran, String time, String starttime) {
+        List<String> list = new ArrayList<String>();
+        if ("YEAR".equals(timegran)) {
+            list.add(time);
+        } else {
+            try {
+                Date d1 = new SimpleDateFormat("yyyy-MM-dd").parse(starttime);//定义开始日期
+                Date d2 = new SimpleDateFormat("yyyy-MM-dd").parse((Integer.parseInt(time) + 1) + "-01-01");//定义结束日期
+                Calendar dd = Calendar.getInstance();//定义日期实例
+                dd.setTime(d1);//设置日期起始时间
+                while (dd.getTime().before(d2)) {//判断是否到结束日期
+                    if ("MONTH".equals(timegran)) {
+                        list.add(dateStr(dd.getTime(), "yyyy-MM"));
+                        dd.add(Calendar.MONTH, 1);
+                    } else {
+                        list.add(dateStr(dd.getTime(), "yyyy-MM-dd"));
+                        dd.add(Calendar.DAY_OF_YEAR, 1);
+                    }
+                }
+            } catch (ParseException e) {
+                e.printStackTrace();
+            }
+        }
+        return list;
+    }
+
+    /**
+     * 自动补全日期并返回新日期 偏移量自定义
+     *
+     * @param time     时间
+     * @param interval 偏移量
+     * @return
+     */
+    public static String changeTime(String time, int interval) {
+        Calendar dd = Calendar.getInstance();
+        try {
+            if (time.length() == 4) {
+                Date d = new SimpleDateFormat("yyyy-MM-dd").parse(time + "-01-01");
+                dd.setTime(d);
+                dd.add(Calendar.YEAR, interval);
+            }
+            if (time.length() == 7) {
+                Date d = new SimpleDateFormat("yyyy-MM-dd").parse(time + "-01");
+                dd.setTime(d);
+                dd.add(Calendar.MONTH, interval);
+            }
+            if (time.length() == 10) {
+                Date d = new SimpleDateFormat("yyyy-MM-dd").parse(time);
+                dd.setTime(d);
+                dd.add(Calendar.DATE, interval);
+            }
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        return dateStr(dd.getTime(), "yyyy-MM-dd");
+    }
+
+    /**
+     * 获取现在时间
+     *
+     * @Param timeformat 时间格式
+     * @return(String)格式自定义
+     */
+    public static String getCurrentTime(String timeformat) {
+        Date time = new Date();
+        return dateStr(time, timeformat);
+    }
+
+    /**
+     * 获取现在时间
+     *
+     * @Param timeformat 时间格式
+     * @return(Date)格式自定义
+     */
+    public static Date getCurrentTimetoDate(String timeformat) {
+        try {
+            Date date = new java.sql.Date(new Date().getTime());
+            String datestr = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date);
+            Date time = new SimpleDateFormat(timeformat).parse(datestr);
+            return time;
+        } catch (ParseException e) {
+            e.printStackTrace();
+            return null;
+        }
+    }
+
+    /**
+     * 将"yyyy-MM-dd"转换为 格式自定义
+     *
+     * @param date
+     * @param timeformat
+     * @return
+     */
+    public static String dateToString(String date, String timeformat) {
+        String Strtime = "";
+        try {
+            if (date != null && !"".equals(date)) {
+                Date parse = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").parse(date + " 00:00:00");
+                Strtime = new SimpleDateFormat(timeformat).format(parse);
+            }
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        return Strtime;
+    }
+
+    /**
+     * 判断某天是否是该月的第一天
+     *
+     * @param date
+     * @return
+     */
+    public static boolean isFirstDayOfMonth(Date date) {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        System.out.println(calendar.get(Calendar.MONTH));
+        return calendar.get(Calendar.DAY_OF_MONTH) == 1;
+    }
+
+    public static String getDate() {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+        Date dt = null;
+        String reStr = null;
+        try {
+            dt = sdf.parse(DateUtils.dateStr(new Date(), "yyyy-MM-dd"));
+            Calendar rightNow = Calendar.getInstance();
+            rightNow.setTime(dt);
+            rightNow.add(Calendar.DAY_OF_MONTH, -3);
+            Date dt1 = rightNow.getTime();
+            reStr = sdf.format(dt1);
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        return reStr;
+    }
+
+    /**
+     * 根据月份得到当月天数
+     *
+     * @param date
+     * @return
+     * @throws ParseException
+     */
+    public static int getDaysOfMonth(String date) throws ParseException {
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(sdf.parse(date));
+        return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+    }
+
+    /**
+     * 根据月份得到当月天数
+     *
+     * @param date
+     * @return
+     * @throws ParseException
+     */
+    public static int getDaysOfMonth(Date date) throws ParseException {
+        Calendar calendar = Calendar.getInstance();
+        calendar.setTime(date);
+        return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
+    }
+}

+ 30 - 0
src/main/java/com/steerinfo/dil/util/DisposeRoleData.java

@@ -0,0 +1,30 @@
+package com.steerinfo.dil.util;
+
+
+import org.springframework.stereotype.Component;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Map;
+
+@Component
+public class DisposeRoleData {
+
+    private static List<String> list = Arrays.asList("businessCompany", "approveBusinessCompany", "admin", "siji", "chengYunShang");
+
+
+    public List<String> disposeRoleData(Object roleCodes, Object companyList) {
+        //转数组
+        List<String> roleCodeList = (List<String>) roleCodes;
+        //
+        List<String> roleFinalList = new ArrayList<>();
+        //遍历数组
+        for (String roleCode : roleCodeList) {
+            if (list.contains(roleCode)) {
+                roleFinalList.add(roleCode);
+            }
+        }
+        return roleFinalList;
+    }
+}

+ 70 - 0
src/main/java/com/steerinfo/dil/util/ESUtil.java

@@ -0,0 +1,70 @@
+package com.steerinfo.dil.util;
+
+import org.springframework.stereotype.Component;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@Component
+public class ESUtil {
+
+    // totalMap
+    public final Map<String, Object> totalMap = new HashMap<>();
+    // context
+    public final Map<String, Object> context = new HashMap<>();
+    public final boolean logError = true;
+    public final boolean logData = true;
+    // context
+    public final Map<String, Object> login = new HashMap<>();
+    public final String password = "dgjt@kingdee";
+    public final String dcName = "FDDGEAS85";
+    public final String dbType = "1";
+    public final String userName = "user";
+    // context
+    public final String command = "dgQcReportHandler";
+
+    /**
+     * 得到context的map
+     *
+     * @return
+     */
+    public Map<String, Object> getContext() {
+        this.context.put("logError", logError);
+        this.context.put("logData", logData);
+        return this.context;
+    }
+
+    /**
+     * 得到login的map
+     *
+     * @return
+     */
+    public Map<String, Object> getLogin() {
+        this.login.put("password", password);
+        this.login.put("dcName", dcName);
+        this.login.put("dbType", dbType);
+        this.login.put("userName", userName);
+        return this.login;
+    }
+
+    /**
+     * 得到command字符串
+     *
+     * @return
+     */
+    public String getCommand() {
+        return this.command;
+    }
+
+    /**
+     * 将所有的配置放入到totalMap的map里面
+     *
+     * @return
+     */
+    public Map<String, Object> getTotalMap() {
+        totalMap.put("context", getContext());
+        totalMap.put("login", getLogin());
+        totalMap.put("command", getCommand());
+        return this.totalMap;
+    }
+}

+ 147 - 0
src/main/java/com/steerinfo/dil/util/EasyExcelUitl.java

@@ -0,0 +1,147 @@
+package com.steerinfo.dil.util;
+
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.write.style.column.LongestMatchColumnWidthStyleStrategy;
+import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.beust.jcommander.internal.Lists;
+import com.itextpdf.text.log.Logger;
+import com.itextpdf.text.log.LoggerFactory;
+import com.steerinfo.framework.utils.collection.MapUtils;
+
+import java.io.ByteArrayOutputStream;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+
+public class EasyExcelUitl {
+    private static final Logger log = LoggerFactory.getLogger(EasyExcelUitl.class);
+
+    private static final String DEFAULT_SHEET_NAME = "sheet1";
+
+
+    /**
+     * 生成文件
+     *
+     * @param excelHead
+     * @param excelRows
+     * @return
+     */
+    private static byte[] createExcelFile(List<List<String>> excelHead, List<List<Object>> excelRows) {
+        try {
+            if (CollectionUtils.isNotEmpty(excelHead)) {
+                ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
+                EasyExcel.write(outputStream).registerWriteHandler(new LongestMatchColumnWidthStyleStrategy())
+                        .head(excelHead)
+                        .sheet(DEFAULT_SHEET_NAME)
+                        .doWrite(excelRows);
+                return outputStream.toByteArray();
+            }
+        } catch (Exception e) {
+            log.error("动态生成excel文件失败,headColumns:" + JSONArray.toJSONString(excelHead) + ",excelRows:" + JSONArray.toJSONString(excelRows), e);
+        }
+        return null;
+    }
+
+    /**
+     * 生成文件(自定义头部排列)
+     *
+     * @param rowHeads
+     * @param excelRows
+     * @return
+     */
+    public static byte[] customerExportExcelFile(List<List<String>> rowHeads, List<List<Object>> excelRows) {
+        //将行头部转成easyexcel能识别的部分
+        List<List<String>> excelHead = transferHead(rowHeads);
+        return createExcelFile(excelHead, excelRows);
+    }
+
+
+    /**
+     * 动态生成导出模版(单表头)
+     *
+     * @param headColumns 列名称
+     * @return excel文件流
+     */
+    public static byte[] exportTemplateExcelFile(List<String> headColumns) {
+        List<List<String>> excelHead = Lists.newArrayList();
+        headColumns.forEach(columnName -> {
+            excelHead.add(Lists.newArrayList(columnName));
+        });
+        byte[] stream = createExcelFile(excelHead, new ArrayList<>());
+        return stream;
+    }
+
+    /**
+     * 动态生成模版(复杂表头)
+     *
+     * @param excelHead 列名称
+     * @return
+     */
+    public static byte[] exportTemplateExcelFileCustomHead(List<List<String>> excelHead) {
+        byte[] stream = createExcelFile(excelHead, new ArrayList<>());
+        return stream;
+    }
+
+    /**
+     * 将行头部转成easyexcel能识别的部分
+     *
+     * @param rowHeads
+     * @return
+     */
+    public static List<List<String>> transferHead(List<List<String>> rowHeads) {
+        //将头部列进行反转
+        List<List<String>> realHead = new ArrayList<>();
+        if (CollectionUtils.isNotEmpty(rowHeads)) {
+            Map<Integer, List<String>> cellMap = new LinkedHashMap<>();
+            //遍历行
+            for (List<String> cells : rowHeads) {
+                //遍历列
+                for (int i = 0; i < cells.size(); i++) {
+                    if (cellMap.containsKey(i)) {
+                        cellMap.get(i).add(cells.get(i));
+                    } else {
+                        cellMap.put(i, Lists.newArrayList(cells.get(i)));
+                    }
+                }
+            }
+            //将列一行一行加入realHead
+            cellMap.entrySet().forEach(item -> realHead.add(item.getValue()));
+        }
+        return realHead;
+    }
+
+    /**
+     * 动态导出文件(通过map方式计算)
+     *
+     * @param headColumnMap 有序列头部
+     * @param dataList      数据体
+     * @return
+     */
+    public static byte[] exportExcelFile(LinkedHashMap<String, String> headColumnMap, List<Map<String, Object>> dataList) {
+        //获取列名称
+        List<List<String>> excelHead = new ArrayList<>();
+        if (MapUtils.isNotEmpty(headColumnMap)) {
+            //key为匹配符,value为列名,如果多级列名用逗号隔开
+            headColumnMap.entrySet().forEach(entry -> {
+                excelHead.add(Lists.newArrayList(entry.getValue().split(",")));
+            });
+        }
+        List<List<Object>> excelRows = new ArrayList<>();
+        if (MapUtils.isNotEmpty(headColumnMap) && CollectionUtils.isNotEmpty(dataList)) {
+            for (Map<String, Object> dataMap : dataList) {
+                List<Object> rows = new ArrayList<>();
+                headColumnMap.entrySet().forEach(headColumnEntry -> {
+                    if (dataMap.containsKey(headColumnEntry.getKey())) {
+                        Object data = dataMap.get(headColumnEntry.getKey());
+                        rows.add(data);
+                    }
+                });
+                excelRows.add(rows);
+            }
+        }
+        byte[] stream = createExcelFile(excelHead, excelRows);
+        return stream;
+    }
+}

+ 587 - 0
src/main/java/com/steerinfo/dil/util/ExcelToolUtils.java

@@ -0,0 +1,587 @@
+package com.steerinfo.dil.util;
+
+import org.apache.commons.lang3.StringUtils;
+import org.apache.poi.hssf.usermodel.HSSFCell;
+import org.apache.poi.hssf.usermodel.HSSFDataFormat;
+import org.apache.poi.hssf.usermodel.HSSFDateUtil;
+import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+import org.apache.tomcat.util.http.fileupload.FileItem;
+import org.apache.tomcat.util.http.fileupload.FileItemFactory;
+import org.apache.tomcat.util.http.fileupload.disk.DiskFileItemFactory;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.*;
+import java.text.DecimalFormat;
+import java.text.NumberFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+
+/**
+ * @Author fubo
+ * @Description excel导入
+ * @Date 2020/6/10 8:46
+ **/
+public class ExcelToolUtils {
+
+
+    /**
+     * MultipartFile转 FileItem 并删除本地临时文件
+     **/
+    public static FileItem MultipartFileItem(MultipartFile file) throws Exception {
+        File files = multipartFileToFile(file);
+        FileItem fielitem = createFileItem(files, files.getName());
+        delteTempFile(files);
+
+        return fielitem;
+    }
+
+    /*
+      创建FileItem
+       */
+    public static FileItem createFileItem(File file, String fieldName) {
+        FileItemFactory factory = new DiskFileItemFactory(16, null);
+        FileItem item = factory.createItem(fieldName, "text/plain", true, file.getName());
+        int bytesRead = 0;
+        byte[] buffer = new byte[8192];
+        try {
+            FileInputStream fis = new FileInputStream(file);
+            OutputStream os = item.getOutputStream();
+            while ((bytesRead = fis.read(buffer, 0, 8192)) != -1) {
+                os.write(buffer, 0, bytesRead);
+            }
+            os.close();
+            fis.close();
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+        return item;
+    }
+
+
+    /**
+     * MultipartFile 转 File
+     *
+     * @param file
+     * @throws Exception
+     */
+    public static File multipartFileToFile(MultipartFile file) throws Exception {
+        File toFile = null;
+        if (file.equals("") || file.getSize() <= 0) {
+            file = null;
+        } else {
+            InputStream ins = null;
+            ins = file.getInputStream();
+            toFile = new File(file.getOriginalFilename());
+            inputStreamToFile(ins, toFile);
+            ins.close();
+        }
+        return toFile;
+    }
+
+    //获取流文件
+    private static void inputStreamToFile(InputStream ins, File file) {
+        try {
+            OutputStream os = new FileOutputStream(file);
+            int bytesRead = 0;
+            byte[] buffer = new byte[8192];
+            while ((bytesRead = ins.read(buffer, 0, 8192)) != -1) {
+                os.write(buffer, 0, bytesRead);
+            }
+            os.close();
+            ins.close();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+    /**
+     * 删除本地临时文件
+     *
+     * @param file
+     */
+    public static void delteTempFile(File file) {
+        if (file != null) {
+            File del = new File(file.toURI());
+            del.delete();
+        }
+    }
+
+    private static NumberFormat numberFormat = NumberFormat.getInstance();
+
+    static {
+        numberFormat.setGroupingUsed(false);
+    }
+
+    /**
+     * 解析文件的方法.
+     *
+     * @param inputStream 文件输入流, 要解析的Excel文件输入流
+     * @param fileName    文件名.
+     * @param startRow    从第几行开始读取数据.
+     * @return List<String [ ]> 集合中的一个元素对应一行解析的数据.
+     * 元素为字符串数组类型. 数组中的每个元素对应一列数据.
+     * @throws IOException
+     */
+    public static List<String[]> parseExcel(InputStream inputStream, String fileName, int startRow)
+            throws Exception {
+
+        // 1. 定义excel对象变量
+        Workbook workbook = null;
+
+        //获取后缀
+        String suffix = fileName.substring(fileName.lastIndexOf("."));
+
+        // 2. 判断后缀.决定使用的解析方式. 决定如何创建具体的对象
+        if (".xls".equals(suffix)) {
+            // 2003
+            workbook = new HSSFWorkbook(inputStream);
+        } else if (".xlsx".equals(suffix)) {
+            // 2007
+            workbook = new XSSFWorkbook(inputStream);
+        } else {
+            // 未知内容
+            throw new Exception("请选择xls或者xlsx文件!");
+        }
+
+        // 获取工作表  excel分为若干个表. sheet
+        Sheet sheet = workbook.getSheetAt(0);
+
+        if (sheet == null) {
+            return null;
+        }
+
+        // 获取表格中最后一行的行号
+        int lastRowNum = sheet.getLastRowNum();
+
+        // 最后一行的行号小于startRow
+        if (lastRowNum < startRow) {
+            throw new Exception("请输入数据");
+        }
+
+
+        List<String[]> result = new ArrayList<>();
+
+        // 定义行变量和单元格变量
+        Row row = null;
+        Cell cell = null;
+        // 循环读取
+        try {
+            for (int rowNum = startRow; rowNum <= lastRowNum; rowNum++) {
+                row = sheet.getRow(rowNum);
+                // 获取当前行的第一列和最后一列的标记(列数)
+                short firstCellNum = row.getFirstCellNum();//第一列从0开始
+                short lastCellNum = row.getLastCellNum();//最后一列
+                if (lastCellNum != 0) {
+                    String[] rowArray = new String[lastCellNum];
+                    for (int cellNum = firstCellNum; cellNum < lastCellNum; cellNum++) {
+                        cell = row.getCell(cellNum);
+                        // 判断单元格是否有数据
+                        if (cell == null) {
+                            rowArray[cellNum] = null;
+                        } else {
+                            rowArray[cellNum] = parseCell(cell);
+                        }
+                    }
+                    if (rowArray[0] != null || !rowArray[0].equals("")) {
+                        result.add(rowArray);
+                    }
+                }
+            }
+
+        } catch (Exception e) {
+            throw new Exception("文件存在隐藏行或合并列!");
+        }
+        return result;
+    }
+
+    /**
+     * 解析文件的方法.
+     *
+     * @param inputStream 文件输入流, 要解析的Excel文件输入流
+     * @param fileName    文件名.
+     * @param startRow    从第几行开始读取数据.
+     * @return List<String [ ]> 集合中的一个元素对应一行解析的数据.
+     * 元素为字符串数组类型. 数组中的每个元素对应一列数据.
+     * @throws IOException
+     */
+    public static List<List<String[]>> parseExcels(InputStream inputStream, String fileName, int startRow)
+            throws Exception {
+
+        // 1. 定义excel对象变量
+        Workbook workbook = null;
+
+        //获取后缀
+        String suffix = fileName.substring(fileName.lastIndexOf("."));
+
+        // 2. 判断后缀.决定使用的解析方式. 决定如何创建具体的对象
+        if (".xls".equals(suffix)) {
+            // 2003
+            workbook = new HSSFWorkbook(inputStream);
+        } else if (".xlsx".equals(suffix)) {
+            // 2007
+            workbook = new XSSFWorkbook(inputStream);
+        } else {
+            // 未知内容
+            throw new Exception("请选择xls或者xlsx文件!");
+        }
+        List<List<String[]>> result = new ArrayList<>();
+        for (int k = 0; k < workbook.getNumberOfSheets(); k++) {
+            // 获取工作表  excel分为若干个表. sheet
+            Sheet sheet = workbook.getSheetAt(k);
+
+            if (sheet == null) {
+                return null;
+            }
+
+            // 获取表格中最后一行的行号
+            int lastRowNum = sheet.getLastRowNum();
+
+            // 最后一行的行号小于startRow
+            if (lastRowNum < startRow) {
+                throw new Exception("请输入数据");
+            }
+            List<String[]> res = new ArrayList<>();
+            // 定义行变量和单元格变量
+            Row row = null;
+            Cell cell = null;
+            // 循环读取
+            try {
+                for (int rowNum = startRow; rowNum <= lastRowNum; rowNum++) {
+                    row = sheet.getRow(rowNum);
+                    // 获取当前行的第一列和最后一列的标记(列数)
+                    short firstCellNum = row.getFirstCellNum();//第一列从0开始
+                    short lastCellNum = row.getLastCellNum();//最后一列
+                    if (lastCellNum != 0) {
+                        String[] rowArray = new String[lastCellNum];
+                        for (int cellNum = firstCellNum; cellNum < lastCellNum; cellNum++) {
+                            cell = row.getCell(cellNum);
+                            // 判断单元格是否有数据
+                            if (cell == null) {
+                                rowArray[cellNum] = null;
+                            } else {
+                                rowArray[cellNum] = parseCell(cell);
+                            }
+                        }
+                        res.add(rowArray);
+                        if (rowArray[0] != null && !"".equals(rowArray[0])) {
+                            res.add(rowArray);
+                        }
+                    }
+                }
+                result.add(res);
+            } catch (Exception e) {
+                e.printStackTrace();
+                throw new Exception("文件存在隐藏行或合并列!");
+            }
+        }
+        return result;
+    }
+
+    /**
+     * 解析单元格
+     *
+     * @return String 单元格数据
+     */
+    private static String parseCell(Cell cell) {
+        //空返回空
+        if (cell == null) {
+            return null;
+        }
+
+        String result = null;
+
+        switch (cell.getCellType()) {
+
+            case HSSFCell.CELL_TYPE_NUMERIC:// 判断单元格的值是否为数字类型
+
+                if (HSSFDateUtil.isCellDateFormatted(cell)) {// 处理日期格式、时间格式
+                    SimpleDateFormat sdf = null;
+                    if (cell.getCellStyle().getDataFormat() == HSSFDataFormat
+                            .getBuiltinFormat("h:mm")) {
+                        sdf = new SimpleDateFormat("HH:mm");
+                    } else {// 日期
+                        sdf = new SimpleDateFormat("yyyy-MM-dd");
+                    }
+                    Date date = cell.getDateCellValue();
+                    result = sdf.format(date);
+                } else if (cell.getCellStyle().getDataFormat() == 58) {
+                    // 处理自定义日期格式:m月d日(通过判断单元格的格式id解决,id的值是58)
+					/*yyyy年m月d日----->31
+					yyyy-MM-dd-----	14
+					yyyy年m月-------	57
+					m月d日  ----------58
+					HH:mm-----------20
+					h时mm分  -------	32*/
+
+                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                    double value = cell.getNumericCellValue();
+                    Date date = DateUtil
+                            .getJavaDate(value);
+                    result = sdf.format(date);
+                } else {
+                    // 返回数值类型的值
+                    Object inputValue = null;// 单元格值
+                    Long longVal = Math.round(cell.getNumericCellValue());
+                    Double doubleVal = cell.getNumericCellValue();
+                    if (Double.parseDouble(longVal + ".0") == doubleVal) {   //判断是否含有小数位.0
+                        inputValue = longVal;
+                    } else {
+                        inputValue = doubleVal;
+                    }
+                    DecimalFormat df = new DecimalFormat("#.##");    //格式化为四位小数,按自己需求选择;
+                    result = String.valueOf(df.format(inputValue));      //返回String类型
+
+//                    double value = cell.getNumericCellValue();
+//                    CellStyle style = cell.getCellStyle();
+//                    DecimalFormat format = new DecimalFormat("0.00");
+//                    String temp = style.getDataFormatString();
+//                    // 单元格设置成常规
+//                    if (temp.equals("General")) {
+//                        format.applyPattern("#");
+//                    }
+//                    result = format.format(value);
+                }
+                break;
+            case HSSFCell.CELL_TYPE_STRING:// 判断单元格的值是否为String类型
+                result = cell.getRichStringCellValue().toString();
+                break;
+            case HSSFCell.CELL_TYPE_BLANK://判断单元格的值是否为布尔类型
+                result = "";
+            default:
+                result = "";
+                break;
+        }
+
+        return result;
+    }
+
+
+    /**
+     * 生成随机数:当前年月日时分秒+四位随机数
+     *
+     * @return
+     */
+    public static String getRandom() {
+
+        SimpleDateFormat simpleDateFormat;
+
+        simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
+
+        Date date = new Date();
+
+        String str = simpleDateFormat.format(date);//当前年月日
+
+        Random random = new Random();
+
+        int rannum = (int) (random.nextDouble() * (9999 - 1000 + 1)) + 1000;// 获取5位随机数
+
+        return str + rannum;
+    }
+
+
+    /**
+     * 发货单页面生成的随机发货单编号-按前端设定
+     *
+     * @return
+     */
+    public static String Random() {
+
+        SimpleDateFormat simpleDateFormat;
+
+        simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
+
+        Date date = new Date();
+
+        String str = simpleDateFormat.format(date);//当前年月日
+
+        Random random = new Random();
+
+        int rannum = (int) (random.nextDouble() * (99999 - 10000 + 1)) + 10000;// 获取5位随机数
+
+        return "CX-" + str + rannum;
+    }
+
+    //截取字符串中数字-按MEs规则来(前八位位年月日,后面拼编号和英文做辨识)
+    public static String getNumberText(String str) {
+        if (StringUtils.isBlank(str)) {
+            throw new RuntimeException("参数str不能为空");
+        }
+        StringBuffer number = new StringBuffer("");
+
+        String[] strArray = str.split("");
+        for (String string : strArray) {
+            //if(!StringUtils.isBlank(string) && RegUtils.isNumberText(string)){
+            //    number.append(string);
+            //}
+        }
+        return number.toString() + "XG";
+    }
+
+
+    /**
+     * 获取Excel中的对象数组
+     *
+     * @param file
+     * @param startRow 默认0
+     * @return
+     * @throws Exception
+     */
+    public static List<Map<String, Object>> getExcelList(MultipartFile file, int startRow)
+            throws Exception {
+        File excel = multipartFileToFile(file);
+        FileInputStream inputStream = null;
+        String fileName = excel.getName();
+        // 解决fileName兼容性问题
+        int lastindex = fileName.lastIndexOf("\\");
+        fileName = fileName.substring(lastindex + 1);
+        if (fileName != null && fileName.length() > 0) {
+            inputStream = new FileInputStream(excel);
+        }
+        //构建返回数组
+        List<Map<String, Object>> list = new ArrayList<>();
+        // 1. 创建工作簿
+        Workbook workbook = null;
+        // 2. 根据格式解析文件
+        if (fileName.endsWith(".xls")) {
+            workbook = new HSSFWorkbook(inputStream);
+        } else if (fileName.endsWith(".xlsx")) {
+            workbook = new XSSFWorkbook(inputStream);
+        } else {
+            throw new Exception("请选择xls或者xlsx文件!");
+        }
+        for (int sheetIndex = 0; sheetIndex < workbook.getNumberOfSheets(); sheetIndex++) {
+            // 获取工作表  excel分为若干个表. sheet
+            Sheet sheet = workbook.getSheetAt(sheetIndex);
+            if (sheet == null) {
+                break;
+            }
+            // 获取表格中最后一行的行号
+            int lastRowNum = sheet.getLastRowNum();
+            if (lastRowNum <= startRow) {
+                throw new Exception("第" + (sheetIndex + 1) + "个工作簿无数据!请检查Excel!");
+            }
+            // 定义行变量和单元格变量
+            Row row = null;
+            Cell cell = null;
+            //获取表头
+            Row titlesRow = sheet.getRow(startRow);
+            // 获取当前行的第一列和最后一列的标记(列数)
+            int firstCellNum = titlesRow.getFirstCellNum();//第一列
+            int lastCellNum = titlesRow.getLastCellNum();//最后一列
+            String[] titles = new String[lastCellNum];
+            if (lastCellNum > firstCellNum) {
+                for (int cellNum = firstCellNum; cellNum < lastCellNum; cellNum++) {
+                    cell = titlesRow.getCell(cellNum);
+                    // 判断单元格是否有数据
+                    if (cell == null) {
+                        titles[cellNum] = null;
+                    } else {
+                        titles[cellNum] = parseCell(cell);
+                    }
+                }
+            } else {
+                throw new Exception("第" + sheetIndex + "个工作簿无表头数据!请检查Excel!");
+            }
+            try {
+                //遍历除表头外的所有行
+                for (int rowNum = startRow + 1; rowNum <= lastRowNum; rowNum++) {
+                    row = sheet.getRow(rowNum);
+                    if (row == null) {
+                        continue;
+                    }
+                    //遍历行的所有列
+                    Map<String, Object> item = new HashMap<>();
+                    for (int cellNum = firstCellNum; cellNum < lastCellNum; cellNum++) {
+                        cell = row.getCell(cellNum);
+                        //获取表头对应数据
+                        if (titles[cellNum] != null && !titles[cellNum].equals("")
+                                && cell != null && !cell.toString().equals("")) {
+                            item.put(titles[cellNum], parseCell(cell));
+                        }
+                    }
+                    if (item.keySet().toArray().length > 0) {
+                        list.add(item);
+                    }
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+                throw new Exception("文件存在隐藏行或合并列!");
+            }
+        }
+        return list;
+    }
+
+    public static List<Map<String, Object>> getExcelList(MultipartFile file, int startRow, List<String> excelHead)
+            throws Exception {
+        File excel = multipartFileToFile(file);
+        FileInputStream inputStream = null;
+        String fileName = excel.getName();
+        // 解决fileName兼容性问题
+        int lastindex = fileName.lastIndexOf("\\");
+        fileName = fileName.substring(lastindex + 1);
+        if (fileName != null && fileName.length() > 0) {
+            inputStream = new FileInputStream(excel);
+        }
+        //构建返回数组
+        List<Map<String, Object>> list = new ArrayList<>();
+        // 1. 创建工作簿
+        Workbook workbook = null;
+        // 2. 根据格式解析文件
+        if (fileName.endsWith(".xls")) {
+            workbook = new HSSFWorkbook(inputStream);
+        } else if (fileName.endsWith(".xlsx")) {
+            workbook = new XSSFWorkbook(inputStream);
+        } else {
+            throw new Exception("请选择xls或者xlsx文件!");
+        }
+        for (int sheetIndex = 0; sheetIndex < workbook.getNumberOfSheets(); sheetIndex++) {
+            // 获取工作表  excel分为若干个表. sheet
+            Sheet sheet = workbook.getSheetAt(sheetIndex);
+            if (sheet == null) {
+                break;
+            }
+            // 获取表格中最后一行的行号
+            int lastRowNum = sheet.getLastRowNum();
+            if (lastRowNum < startRow) {
+                throw new Exception("第" + (sheetIndex + 1) + "个工作簿无数据!请检查Excel!");
+            }
+            // 定义行变量和单元格变量
+            Row row = null;
+            Cell cell = null;
+            //获取表头
+            Row titlesRow = sheet.getRow(startRow);
+            // 获取当前行的第一列和最后一列的标记(列数)
+            int firstCellNum = 0;//第一列
+            int lastCellNum = excelHead.size();//最后一列
+            try {
+                //遍历除表头外的所有行
+                for (int rowNum = startRow + 1; rowNum <= lastRowNum; rowNum++) {
+                    row = sheet.getRow(rowNum);
+                    if (row == null) {
+                        continue;
+                    }
+                    //遍历行的所有列
+                    Map<String, Object> item = new HashMap<>();
+                    for (int cellNum = firstCellNum; cellNum < lastCellNum; cellNum++) {
+                        cell = row.getCell(cellNum);
+                        //获取表头对应数据
+                        if (excelHead.get(cellNum) != null && !excelHead.get(cellNum).equals("")
+                                && cell != null && !cell.toString().equals("")) {
+                            item.put(excelHead.get(cellNum), parseCell(cell));
+                        }
+                    }
+                    if (item.keySet().toArray().length > 0) {
+                        list.add(item);
+                    }
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+                throw new Exception("文件存在隐藏行或合并列!");
+            }
+        }
+        return list;
+    }
+}

+ 583 - 0
src/main/java/com/steerinfo/dil/util/FtpFileUtil.java

@@ -0,0 +1,583 @@
+package com.steerinfo.dil.util;
+
+import com.steerinfo.framework.utils.io.IOUtils;
+import com.steerinfo.framework.utils.text.Charsets;
+import org.apache.commons.net.ftp.*;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.*;
+import java.util.Base64;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * POIExcelToHtml 文件转换:
+ *
+ * @author generator
+ * @version 1.0-SNAPSHOT 2021-08-09 18:06
+ * 类描述
+ * 修订历史:
+ * 日期:2021-08-09
+ * 作者:shadow
+ * 参考:
+ * 描述:
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ * @see null
+ */
+@Component
+public class FtpFileUtil {
+    /**
+     * ftp服务器ip地址
+     */
+
+    // String FTP_ADDRESS;
+    private String FTP_ADDRESS = "172.16.90.202";
+
+    /**
+     * 端口号
+     */
+
+    //Integer FTP_PORT;
+    private Integer FTP_PORT = 21;
+    /**
+     * 用户名
+     */
+
+    private String FTP_USERNAME = "ftpuser";
+    /**
+     * 密码
+     */
+
+    private String FTP_PASSWORD = "123456";
+
+    private FTPClient ftpClient = new FTPClient();
+    private static final String SPOT = ".";
+
+    /**
+     * 上传文件
+     *
+     * @param filePath    文件路径
+     * @param filename    文件名称
+     * @param basePath    上级目录
+     * @param inputStream 文件输入流
+     * @return 是否成功
+     */
+    public boolean uploadFile(String filePath, String filename, String basePath, InputStream inputStream) {
+        boolean result = false;
+        try {
+            // 连接FTP服务器
+            ftpClient.connect(FTP_ADDRESS, FTP_PORT);
+            ftpClient.login(FTP_USERNAME, FTP_PASSWORD);
+            int reply;
+            ftpClient.enterLocalPassiveMode();
+            reply = ftpClient.getReplyCode();
+            if (!FTPReply.isPositiveCompletion(reply)) {
+                ftpClient.disconnect();
+                return false;
+            }
+            //切换到上传目录
+            boolean changed = ftpClient.changeWorkingDirectory(filePath);
+            if (!changed) {
+                //如果目录不存在创建目录
+                String[] dirs = filePath.split("/");
+                String tempPath = basePath;
+                for (String dir : dirs) {
+                    if (null == dir || "".equals(dir)) {
+                        continue;
+                    }
+                    tempPath += "/" + dir;
+                    if (!ftpClient.makeDirectory(tempPath)) {
+                        return false;
+                    } else {
+                        ftpClient.changeWorkingDirectory(tempPath);
+                    }
+                }
+            }
+            System.out.println("当前目录" + ftpClient.printWorkingDirectory());
+            //设置为被动模式
+
+            //设置上传文件的类型为二进制类型
+            ftpClient.setFileType(FTP.BINARY_FILE_TYPE);
+            //上传文件
+            if (!ftpClient.storeFile(filename, inputStream)) {
+                System.out.println("上传文件失败");
+                return false;
+            }
+            ftpClient.logout();
+            result = true;
+        } catch (IOException e) {
+            e.printStackTrace();
+        } finally {
+            if (ftpClient.isConnected()) {
+                try {
+                    inputStream.close();
+                    ftpClient.disconnect();
+                } catch (IOException ioe) {
+                    ioe.printStackTrace();
+                }
+            }
+        }
+        return result;
+    }
+
+    /***
+     * 上传
+     * @param buffIn 文件流
+     * @param filePath 文件路径
+     * @param fileName 文件名称
+     * @param needDelete 是否删除
+     * @return 是否成功
+     * @throws FTPConnectionClosedException ftp错误
+     * @throws IOException io流错误
+     * @throws Exception 普通错误
+     */
+    public boolean uploadToFtp(InputStream buffIn, String filePath, String fileName, boolean needDelete)
+            throws FTPConnectionClosedException, IOException, Exception {
+        boolean result;
+        try {
+            //建立连接
+            this.connectToServer();
+            ftpClient.changeWorkingDirectory("/");
+            this.setFileType(FTP.BINARY_FILE_TYPE);
+            int reply = ftpClient.getReplyCode();
+            if (!FTPReply.isPositiveCompletion(reply)) {
+                ftpClient.disconnect();
+                throw new IOException("failed to connect to the FTP Server:" + FTP_ADDRESS);
+            }
+            //进入文件目录
+            boolean changeWork = ftpClient.changeWorkingDirectory(filePath);
+            if (!changeWork) {
+                if (!createDirectory(filePath)) {
+                    return false;
+                }
+            }
+            result = ftpClient.storeFile(fileName, buffIn);
+            if (needDelete) {
+                ftpClient.deleteFile(fileName);
+            }
+            // 输出操作结果信息
+            if (result) {
+                System.out.println("uploadToFtp INFO: upload file  to ftp : succeed!");
+            } else {
+                System.out.println("uploadToFtp INFO: upload file  to ftp : failed!");
+            }
+        } catch (FTPConnectionClosedException e) {
+            System.out.println("ftp连接被关闭!");
+            throw e;
+        } catch (Exception e) {
+            System.out.println("ERR : upload file  to ftp : failed! ");
+            throw e;
+        } finally {
+            try {
+                if (buffIn != null) {
+                    buffIn.close();
+                }
+            } catch (Exception e) {
+                System.out.println("ftp关闭输入流时失败!");
+            }
+            if (ftpClient.isConnected()) {
+                closeConnect();
+            }
+        }
+        return result;
+    }
+
+    /***
+     * 预览
+     * @param fileName 文件名
+     * @param filePath 文件路径
+     * @return 返回HTML
+     * @throws IOException io流错误
+     */
+    public String downloadFile(String fileName, String filePath) throws IOException {
+        InputStream inputStream;
+        String data = fileName + "预览失败";
+        String workhtml = null;
+        File temp = File.createTempFile("temp", ".temp");
+        try {
+            this.connectToServer();
+            // 设置传输二进制文件
+            this.setFileType(FTP.BINARY_FILE_TYPE);
+            ftpClient.enterLocalPassiveMode();
+            int reply = ftpClient.getReplyCode();
+            if (!FTPReply.isPositiveCompletion(reply)) {
+                ftpClient.disconnect();
+                throw new IOException("failed to connect to the FTP Server:" + FTP_ADDRESS);
+            }
+
+            String directory = filePath.substring(0, filePath.lastIndexOf("/") + 1);
+            // 进入文件所在目录,注意编码格式,以能够正确识别中文目录
+            boolean cdStatus = ftpClient.changeWorkingDirectory(directory);
+            if (!cdStatus) {
+                return data;
+            }
+            String file = filePath.substring(filePath.lastIndexOf("/") + 1);
+            // 检验文件是否存在
+            inputStream = ftpClient.retrieveFileStream(file);
+
+            String suffixName;
+            if (inputStream != null) {
+                if (fileName != null && fileName.contains(SPOT)) {
+                    POIWordToHtml poiWordToHtml = new POIWordToHtml();
+                    suffixName = fileName.substring(fileName.indexOf(".") + 1);
+                    switch (suffixName) {
+                        case "docx":
+                            data = poiWordToHtml.readWordImgToHtml(inputStream);
+                            break;
+                        case "doc":
+                            data = poiWordToHtml.docToHtml(inputStream);
+                            break;
+
+                        case "xlsx":
+                        case "xls":
+                            data = POIExcelToHtml.excelToHtml(inputStream);
+                            break;
+                        case "pptx":
+                        case "ppt":
+                            data = POIPptToHtml.pptToHtml(inputStream, suffixName);
+                            break;
+                        case "jpg":
+                        case "gif":
+                        case "png":
+                        case "jpeg":
+                        case "jpe":
+                            ByteArrayOutputStream stream = new ByteArrayOutputStream();
+                            IOUtils.copy(inputStream, stream);
+                            String imgStr = Base64.getEncoder().encodeToString(stream.toByteArray());
+                            data = "<img style='width:100%' src=" + "\"data:image/" + suffixName + ";base64," + imgStr + "\"" + "/>";
+                            stream.close();
+                            break;
+                        case "txt":
+                            ByteArrayOutputStream txtStream = new ByteArrayOutputStream();
+                            IOUtils.copy(inputStream, txtStream);
+                            data = txtStream.toString();
+                            break;
+                        default:
+                            data = fileName + "文件暂时不支持预览。";
+                            break;
+                    }
+                }
+                inputStream.close();
+                ftpClient.completePendingCommand();
+            }
+        } catch (FTPConnectionClosedException e) {
+            System.out.println("ftp连接被关闭!");
+            throw e;
+        } catch (Exception e) {
+            System.out.println("ERR : upload file " + fileName + " from ftp : failed!" + e.getMessage());
+        } finally {
+            if (ftpClient.isConnected()) {
+                closeConnect();
+            }
+        }
+        return data;
+    }
+
+    /**
+     * 下载
+     *
+     * @param response 响应头
+     * @param fileName 文件名
+     * @param filePath 文件路径
+     * @return 返回下载是否成功
+     */
+    public boolean download(HttpServletResponse response, String fileName, String filePath) {
+        boolean flag = false;
+        try {
+            this.connectToServer();
+            // 设置传输二进制文件
+            this.setFileType(FTP.BINARY_FILE_TYPE);
+            this.ftpClient.enterLocalPassiveMode();
+            int reply = ftpClient.getReplyCode();
+            if (!FTPReply.isPositiveCompletion(reply)) {
+                ftpClient.disconnect();
+                throw new IOException("failed to connect to the FTP Server:" + FTP_ADDRESS);
+            }
+            String transferName = new String(fileName.getBytes(Charsets.UTF_8), Charsets.ISO_8859_1);
+            String directory = filePath.substring(0, filePath.lastIndexOf("/") + 1);
+            String file = filePath.substring(filePath.lastIndexOf("/") + 1);
+            // 进入文件所在目录,注意编码格式,以能够正确识别中文目录
+            ftpClient.changeWorkingDirectory(directory);
+            response.setCharacterEncoding("UTF-8");
+            response.setContentType("multipart/form-data;charset=UTF-8");
+            response.setHeader("Content-Disposition", "attachment; filename=\"" + transferName + "\"");
+            FTPFile[] fs = ftpClient.listFiles();
+            for (FTPFile ff : fs) {
+                if (ff.getName().equals(file)) {
+                    OutputStream os = response.getOutputStream();
+                    flag = ftpClient.retrieveFile(ff.getName(), os);
+                    os.flush();
+                    os.close();
+                    break;
+                }
+            }
+            closeConnect();
+
+        } catch (FTPConnectionClosedException ignored) {
+
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return flag;
+    }
+
+    /**
+     * 下载返回流
+     *
+     * @param fileName 文件名称
+     * @param filePath 文件路径
+     * @return 返回是否成功
+     */
+    public ByteArrayOutputStream download(String fileName, String filePath) {
+        ByteArrayOutputStream os = new ByteArrayOutputStream();
+        try {
+            this.connectToServer();
+            // 设置传输二进制文件
+            this.setFileType(FTP.BINARY_FILE_TYPE);
+            ftpClient.enterLocalPassiveMode();
+            int reply = ftpClient.getReplyCode();
+            if (!FTPReply.isPositiveCompletion(reply)) {
+                ftpClient.disconnect();
+                throw new IOException("failed to connect to the FTP Server:" + FTP_ADDRESS);
+            }
+            String directory = filePath.substring(0, filePath.lastIndexOf("/") + 1);
+            String file = filePath.substring(filePath.lastIndexOf("/") + 1);
+            // 进入文件所在目录,注意编码格式,以能够正确识别中文目录
+            ftpClient.changeWorkingDirectory(directory);
+            FTPFile[] fs = ftpClient.listFiles();
+            for (FTPFile ff : fs) {
+                if (ff.getName().equals(file)) {
+                    os.close();
+                    break;
+                }
+            }
+            closeConnect();
+        } catch (FTPConnectionClosedException ignored) {
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+
+        return os;
+    }
+
+    public boolean deleteFile(String filePath) throws Exception {
+        boolean result;
+        try {
+            //建立连接
+            this.connectToServer();
+            ftpClient.changeWorkingDirectory("/");
+            this.setFileType(FTP.BINARY_FILE_TYPE);
+            int reply = ftpClient.getReplyCode();
+            if (!FTPReply.isPositiveCompletion(reply)) {
+                ftpClient.disconnect();
+                throw new IOException("failed to connect to the FTP Server:" + FTP_ADDRESS);
+            }
+            String directory = filePath.substring(0, filePath.lastIndexOf("/") + 1);
+            String fileName = filePath.substring(filePath.lastIndexOf("/") + 1);
+            //进入文件目录
+            boolean changeWork = ftpClient.changeWorkingDirectory(directory);
+            if (!changeWork) {
+                return false;
+            }
+            result = ftpClient.deleteFile(fileName);
+        } catch (FTPConnectionClosedException e) {
+            System.out.println("ftp连接被关闭!");
+            throw e;
+        } catch (Exception e) {
+            System.out.println("ERR : delete file  to ftp : failed! ");
+            throw e;
+        } finally {
+            if (ftpClient.isConnected()) {
+                closeConnect();
+            }
+        }
+        return result;
+    }
+
+    /***
+     * 建立连接
+     * @throws FTPConnectionClosedException ftp错误
+     * @throws Exception 普通错误
+     */
+    private void connectToServer() throws FTPConnectionClosedException, Exception {
+        if (!ftpClient.isConnected()) {
+            int reply;
+            try {
+                //建立连接
+                ftpClient = new FTPClient();
+                //ftpClient.setControlEncoding("GBK");//windows default服务器gbk
+                ftpClient.setControlEncoding("UTF-8");//linux default UTF-8
+                ftpClient.connect(FTP_ADDRESS, FTP_PORT);
+                ftpClient.login(FTP_USERNAME, FTP_PASSWORD);
+                ftpClient.enterLocalPassiveMode();
+                reply = ftpClient.getReplyCode();
+                if (!FTPReply.isPositiveCompletion(reply)) {
+                    ftpClient.disconnect();
+                    System.out.println("connectToServer FTP server refused connection.");
+                }
+            } catch (FTPConnectionClosedException ex) {
+                System.out.println("没有连接数!there are too many connected users,please try later");
+                throw ex;
+            } catch (Exception e) {
+                System.out.println("登录ftp服务器失败");
+                throw e;
+            }
+        }
+    }
+
+    /**
+     * 设置传输文件类型
+     *
+     * @param fileType 文件类型
+     */
+    private void setFileType(int fileType) {
+        try {
+            ftpClient.setFileType(fileType);
+        } catch (Exception e) {
+            System.out.println("ftp设置传输文件的类型时失败!");
+
+        }
+    }
+
+    /**
+     * 关闭连接
+     */
+    public void closeConnect() {
+        try {
+            if (ftpClient != null) {
+                ftpClient.logout();
+                ftpClient.disconnect();
+            }
+        } catch (Exception e) {
+            System.out.println("ftp连接关闭失败!");
+        }
+    }
+
+    /**
+     * 创建文件夹
+     */
+    public boolean createDirectory(String directory) {
+        try {
+            ftpClient.changeWorkingDirectory("/");
+            String[] dirs = directory.split("/");
+            String tempPath = "";
+            for (String dir : dirs) {
+                if (null == dir || "".equals(dir)) {
+                    continue;
+                }
+                tempPath += "/" + dir;
+                if (!ftpClient.makeDirectory(tempPath)) {
+                    if (!ftpClient.changeWorkingDirectory(tempPath)) {
+                        return false;
+                    }
+                } else {
+                    ftpClient.changeWorkingDirectory(tempPath);
+                }
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return true;
+    }
+
+
+    //重写下载图片方法
+    public Map<String, Object> downloadFileNew(String fileName, String filePath) throws IOException {
+        InputStream inputStream;
+        String data = fileName + "预览失败";
+        String type = "";
+        String workhtml = null;
+        File temp = File.createTempFile("temp", ".temp");
+        try {
+            this.connectToServer();
+            // 设置传输二进制文件
+            this.setFileType(FTP.BINARY_FILE_TYPE);
+            ftpClient.enterLocalPassiveMode();
+            int reply = ftpClient.getReplyCode();
+            if (!FTPReply.isPositiveCompletion(reply)) {
+                ftpClient.disconnect();
+                throw new IOException("failed to connect to the FTP Server:" + FTP_ADDRESS);
+            }
+
+            String directory = filePath.substring(0, filePath.lastIndexOf("/") + 1);
+            // 进入文件所在目录,注意编码格式,以能够正确识别中文目录
+            boolean cdStatus = ftpClient.changeWorkingDirectory(directory);
+            if (!cdStatus) {
+                return new HashMap<>();
+            }
+            String file = filePath.substring(filePath.lastIndexOf("/") + 1);
+            // 检验文件是否存在
+            inputStream = ftpClient.retrieveFileStream(file);
+            String suffixName;
+            if (inputStream != null) {
+                if (file != null && file.contains(SPOT)) {
+                    POIWordToHtml poiWordToHtml = new POIWordToHtml();
+                    suffixName = file.substring(file.indexOf(".") + 1);
+                    switch (suffixName) {
+                        case "docx":
+                            data = poiWordToHtml.readWordImgToHtml(inputStream);
+                            type = suffixName;
+
+                            break;
+                        case "doc":
+                            data = poiWordToHtml.docToHtml(inputStream);
+                            type = suffixName;
+
+                            break;
+
+                        case "xlsx":
+                        case "xls":
+                            data = POIExcelToHtml.excelToHtml(inputStream);
+                            type = suffixName;
+
+                            break;
+                        case "pptx":
+                        case "ppt":
+                            data = POIPptToHtml.pptToHtml(inputStream, suffixName);
+                            type = suffixName;
+
+                            break;
+                        case "jpg":
+                        case "gif":
+                        case "png":
+                        case "jpeg":
+                        case "jpe":
+                            ByteArrayOutputStream stream = new ByteArrayOutputStream();
+                            IOUtils.copy(inputStream, stream);
+                            String imgStr = Base64.getEncoder().encodeToString(stream.toByteArray());
+                            data = "data:image/" + suffixName + ";base64," + imgStr;
+                            type = suffixName;
+                            stream.close();
+                            break;
+                        case "txt":
+                            ByteArrayOutputStream txtStream = new ByteArrayOutputStream();
+                            IOUtils.copy(inputStream, txtStream);
+                            data = txtStream.toString();
+                            type = suffixName;
+
+                            break;
+                        default:
+                            data = fileName + "文件暂时不支持预览。";
+                            break;
+                    }
+                }
+                inputStream.close();
+                ftpClient.completePendingCommand();
+            }
+        } catch (FTPConnectionClosedException e) {
+            System.out.println("ftp连接被关闭!");
+            throw e;
+        } catch (Exception e) {
+            System.out.println("ERR : upload file " + fileName + " from ftp : failed!" + e.getMessage());
+        } finally {
+            if (ftpClient.isConnected()) {
+                closeConnect();
+            }
+        }
+        Map<String, Object> map = new HashMap<>();
+        map.put("data", data);
+        map.put("type", type);
+        return map;
+    }
+}

+ 186 - 0
src/main/java/com/steerinfo/dil/util/HTTPRequestUtils.java

@@ -0,0 +1,186 @@
+package com.steerinfo.dil.util;
+
+import com.alibaba.fastjson.JSONObject;
+import org.apache.http.HttpEntity;
+import org.apache.http.ParseException;
+import org.apache.http.client.methods.CloseableHttpResponse;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.message.BasicHeader;
+import org.apache.http.protocol.HTTP;
+import org.apache.http.util.EntityUtils;
+
+import java.io.*;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLConnection;
+
+public class HTTPRequestUtils {
+    /**
+     * 发送post请求
+     *
+     * @param url      路径
+     * @param json     参数(json类型)
+     * @param encoding 编码格式
+     * @return
+     * @throws ParseException
+     * @throws IOException
+     */
+    public static String send(String url, String json, String encoding) throws ParseException, IOException {
+        String body = "";
+
+        //创建httpclient对象
+        CloseableHttpClient client = HttpClients.createDefault();
+        //创建post方式请求对象
+        HttpPost httpPost = new HttpPost(url);
+
+        //装填参数
+        StringEntity s = new StringEntity(json.toString(), "utf-8");
+        s.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
+        //设置参数到请求对象中
+        httpPost.setEntity(s);
+        System.out.println("请求地址:" + url);
+        System.out.println(json);
+        httpPost.setHeader("Content-type", "application/json");
+        httpPost.setHeader("-UserAgent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
+
+        //执行请求操作,并拿到结果(同步阻塞)
+        CloseableHttpResponse response = client.execute(httpPost);
+        System.out.println(response);
+        //获取结果实体
+        HttpEntity entity = response.getEntity();
+        System.out.println(entity);
+        if (entity != null) {
+            //按指定编码转换结果实体为String类型
+            body = EntityUtils.toString(entity, encoding);
+        }
+        EntityUtils.consume(entity);
+        //释放链接
+        response.close();
+        return body;
+    }
+
+
+    public static String getJsonData(JSONObject jsonParam, String urls) {
+        StringBuffer sb = new StringBuffer();
+        try {
+            // 创建url资源
+            URL url = new URL(urls);
+            // 建立http连接
+            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
+            // 设置允许输出
+            conn.setDoOutput(true);
+            // 设置允许输入
+            conn.setDoInput(true);
+            // 设置不用缓存
+            conn.setUseCaches(false);
+            // 设置传递方式
+            conn.setRequestMethod("POST");
+            // 设置维持长连接
+            conn.setRequestProperty("Connection", "Keep-Alive");
+            // 设置文件字符集:
+            conn.setRequestProperty("Charset", "UTF-8");
+            // 转换为字节数组
+            byte[] data = (jsonParam.toString()).getBytes();
+            // 设置文件长度
+            conn.setRequestProperty("Content-Length", String.valueOf(data.length));
+            // 设置文件类型:
+            conn.setRequestProperty("Content-Type", "application/json");
+            // 开始连接请求
+            conn.connect();
+            OutputStream out = new DataOutputStream(conn.getOutputStream());
+            // 写入请求的字符串
+            out.write((jsonParam.toString()).getBytes());
+            out.flush();
+            out.close();
+            System.out.println(conn.getResponseCode());
+
+            // 请求返回的状态
+            if (HttpURLConnection.HTTP_OK == conn.getResponseCode()) {
+                System.out.println("连接成功");
+                // 请求返回的数据
+                InputStream in1 = conn.getInputStream();
+                try {
+                    String readLine = new String();
+                    BufferedReader responseReader = new BufferedReader(new InputStreamReader(in1, "UTF-8"));
+                    while ((readLine = responseReader.readLine()) != null) {
+                        sb.append(readLine).append("\n");
+                    }
+                    responseReader.close();
+                    System.out.println(sb.toString());
+
+                } catch (Exception e1) {
+                    e1.printStackTrace();
+                }
+            } else {
+                System.out.println("error++");
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return sb.toString();
+
+    }
+
+    /**
+     * 向指定 URL 发送POST方法的请求
+     *
+     * @param url   发送请求的 URL
+     * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。
+     * @return 所代表远程资源的响应结果
+     */
+    public static String sendPost(String url, String param) {
+        PrintWriter out = null;
+        BufferedReader in = null;
+        String result = "";
+        try {
+            URL realUrl = new URL(url);
+            // 打开和URL之间的连接
+            URLConnection conn = realUrl.openConnection();
+            // 设置通用的请求属性
+            conn.setRequestProperty("accept", "*/*");
+            conn.setRequestProperty("connection", "Keep-Alive");
+            conn.setRequestProperty("charsert", "utf-8");
+            conn.setRequestProperty("Content-Type", "application/json");
+//            conn.setRequestProperty("user-agent",
+//                    "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)");
+            // 发送POST请求必须设置如下两行
+            conn.setDoOutput(true);
+            conn.setDoInput(true);
+            // 获取URLConnection对象对应的输出流
+            out = new PrintWriter(conn.getOutputStream());
+            // 发送请求参数
+            out.print(param);
+            // flush输出流的缓冲
+            out.flush();
+            // 定义BufferedReader输入流来读取URL的响应
+            in = new BufferedReader(
+                    new InputStreamReader(conn.getInputStream()));
+            String line;
+            while ((line = in.readLine()) != null) {
+                result += line;
+            }
+        } catch (Exception e) {
+            System.out.println("发送 POST 请求出现异常!" + e);
+            e.printStackTrace();
+        }
+        //使用finally块来关闭输出流、输入流
+        finally {
+            try {
+                if (out != null) {
+                    out.close();
+                }
+                if (in != null) {
+                    in.close();
+                }
+            } catch (IOException ex) {
+                ex.printStackTrace();
+            }
+        }
+        return result;
+    }
+
+
+}

+ 126 - 0
src/main/java/com/steerinfo/dil/util/HttpUtil.java

@@ -0,0 +1,126 @@
+package com.steerinfo.dil.util;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import org.apache.commons.httpclient.HttpClient;
+import org.apache.commons.httpclient.HttpException;
+import org.apache.commons.httpclient.methods.*;
+import org.apache.commons.httpclient.params.HttpMethodParams;
+import org.springframework.web.bind.annotation.RequestParam;
+
+import java.io.IOException;
+
+public class HttpUtil {
+    public static JSONObject post(PostMethod postMethod, int connectTimeout, int socketTimeout) throws Exception {
+        // 创建httpClient实例对象
+        HttpClient httpClient = new HttpClient();
+        // 设置httpClient连接主机服务器超时时间
+        httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(connectTimeout);
+        // 设置socket.timeout时间
+        httpClient.getHttpConnectionManager().getParams().setSoTimeout(socketTimeout);
+        if (postMethod.getRequestHeader("Content-Type") == null) {
+            postMethod.addRequestHeader("Content-Type", "application/json;charset=utf-8");
+        }
+        httpClient.executeMethod(postMethod);
+        String result = postMethod.getResponseBodyAsString();
+        postMethod.releaseConnection();//释放连接
+        return JSONObject.parseObject(result);
+    }
+
+    public static JSONObject delete(DeleteMethod deleteMethod, int connectTimeout, int socketTimeout) throws Exception {
+        HttpClient httpClient = new HttpClient();
+        httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(connectTimeout);
+        httpClient.getHttpConnectionManager().getParams().setSoTimeout(socketTimeout);
+        if (deleteMethod.getRequestHeader("Content-Type") == null) {
+            deleteMethod.addRequestHeader("Content-Type", "application/json;charset=utf-8");
+        }
+        httpClient.executeMethod(deleteMethod);
+        String result = deleteMethod.getResponseBodyAsString();
+        deleteMethod.releaseConnection();//释放连接
+        return JSONObject.parseObject(result);
+    }
+
+
+    public static JSONObject sendPost(String url, JSONObject param, @RequestParam(required = false) String headerValue) throws HttpException, IOException {
+        // 创建httpClient实例对象
+        HttpClient httpClient = new HttpClient();
+        // 设置httpClient连接/执行超时时间(ms)
+        httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(1000);
+        httpClient.getHttpConnectionManager().getParams().setSoTimeout(15000);
+        // 创建post请求方法实例对象
+        PostMethod postMethod = new PostMethod(url);
+        postMethod.addRequestHeader("Content-Type", "application/json;charset=utf-8");
+        postMethod.setRequestHeader("Cookie", headerValue);
+        // 构建参数
+        RequestEntity entity = new StringRequestEntity(param.toJSONString(), "application/json", "UTF-8");
+        postMethod.setRequestEntity(entity);
+        //执行并处理返回
+        httpClient.executeMethod(postMethod);
+        String result = postMethod.getResponseBodyAsString();
+        postMethod.releaseConnection();
+        return JSONObject.parseObject(result);
+    }
+
+    public static JSONObject sendPostObject(String url, JSONObject param, String accessToken) throws HttpException, IOException {
+        // 创建httpClient实例对象
+        HttpClient httpClient = new HttpClient();
+        // 设置httpClient连接/执行超时时间(ms)
+        httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(1000);
+        httpClient.getHttpConnectionManager().getParams().setSoTimeout(15000);
+        // 创建post请求方法实例对象
+        PostMethod postMethod = new PostMethod(url);
+        postMethod.addRequestHeader("Content-Type", "application/json;charset=utf-8");
+        // 构建参数
+        postMethod.setRequestHeader("Authorization", accessToken);
+        RequestEntity entity = new StringRequestEntity(param.toJSONString(), "application/json", "UTF-8");
+        postMethod.setRequestEntity(entity);
+        //执行并处理返回
+        httpClient.executeMethod(postMethod);
+        String result = postMethod.getResponseBodyAsString();
+        postMethod.releaseConnection();
+        return JSONObject.parseObject(result);
+    }
+
+    public static JSONObject sendPostArray(String url, JSONArray array, String accessToken) throws HttpException, IOException {
+        // 创建httpClient实例对象
+        HttpClient httpClient = new HttpClient();
+        // 设置httpClient连接/执行超时时间(ms)
+        httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(1000);
+        httpClient.getHttpConnectionManager().getParams().setSoTimeout(15000);
+        // 创建post请求方法实例对象
+        PostMethod postMethod = new PostMethod(url);
+        postMethod.addRequestHeader("Content-Type", "application/json;charset=utf-8");
+        // 构建参数
+        postMethod.setRequestHeader("Authorization", accessToken);
+        //postMethod.setRequestHeader("Cookie",accessToken);
+        RequestEntity entity = new StringRequestEntity(array.toJSONString(), "application/json", "UTF-8");
+        postMethod.setRequestEntity(entity);
+        //执行并处理返回
+        httpClient.executeMethod(postMethod);
+        String result = postMethod.getResponseBodyAsString();
+        postMethod.releaseConnection();
+        return JSONObject.parseObject(result);
+    }
+
+    public static String sendGet(String urlParam) throws HttpException, IOException {
+        // 创建httpClient实例对象
+        HttpClient httpClient = new HttpClient();
+        // 设置httpClient连接主机服务器超时时间:15000毫秒
+        httpClient.getHttpConnectionManager().getParams().setConnectionTimeout(15000);
+        // 创建GET请求方法实例对象
+        GetMethod getMethod = new GetMethod(urlParam);
+        // 设置post请求超时时间
+        getMethod.getParams().setParameter(HttpMethodParams.SO_TIMEOUT, 60000);
+        getMethod.addRequestHeader("Content-Type", "application/json;charset=utf-8");
+
+        httpClient.executeMethod(getMethod);
+
+        String result = getMethod.getResponseBodyAsString();
+        getMethod.releaseConnection();
+        return result;
+    }
+
+    public static void main(String[] args) throws HttpException, IOException {
+
+    }
+}

+ 18 - 0
src/main/java/com/steerinfo/dil/util/IDutils.java

@@ -0,0 +1,18 @@
+package com.steerinfo.dil.util;
+
+import java.util.Random;
+
+public class IDutils {
+    public static String getImageName() {
+        //取当前时间的长整形值包含毫秒
+        long millis = System.currentTimeMillis();
+        //long millis = System.nanoTime();
+        //加上三位随机数
+        Random random = new Random();
+        int end3 = random.nextInt(999);
+        //如果不足三位前面补0
+        String str = millis + String.format("%03d", end3);
+
+        return str;
+    }
+}

+ 427 - 0
src/main/java/com/steerinfo/dil/util/POIExcelToHtml.java

@@ -0,0 +1,427 @@
+package com.steerinfo.dil.util;
+
+import org.apache.poi.hssf.usermodel.*;
+import org.apache.poi.hssf.util.HSSFColor;
+import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.ss.util.CellRangeAddress;
+import org.apache.poi.xssf.usermodel.XSSFCellStyle;
+import org.apache.poi.xssf.usermodel.XSSFColor;
+import org.apache.poi.xssf.usermodel.XSSFFont;
+import org.apache.poi.xssf.usermodel.XSSFWorkbook;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.text.DecimalFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * POIExcelToHtml 文件转换:
+ *
+ * @author generator
+ * @version 1.0-SNAPSHORT 2021-08-09 18:06
+ * 类描述
+ * 修订历史:
+ * 日期:2021-08-09
+ * 作者:shadow
+ * 参考:
+ * 描述:Execl转HTML
+ * @Copyright 湖南视拓信息技术股份有限公司. All rights reserved.
+ * @see null
+ */
+public class POIExcelToHtml {
+
+    public static String excelToHtml(InputStream is) {
+
+        String htmlExcel = "预览文件失败";
+        try {
+            Workbook wb = WorkbookFactory.create(is);
+            if (wb instanceof XSSFWorkbook) {
+                XSSFWorkbook xWb = (XSSFWorkbook) wb;
+                htmlExcel = POIExcelToHtml.getExcelInfo(xWb);
+            } else if (wb instanceof HSSFWorkbook) {
+                HSSFWorkbook hWb = (HSSFWorkbook) wb;
+                htmlExcel = POIExcelToHtml.getExcelInfo(hWb);
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            try {
+                is.close();
+            } catch (IOException e) {
+                e.printStackTrace();
+            }
+        }
+        return htmlExcel;
+    }
+
+    private static String getExcelInfo(Workbook wb) {
+        StringBuffer sb = new StringBuffer();
+        int sheetCounts = wb.getNumberOfSheets();
+        // sb.append("<!DOCTYPE html> <html> <head> <meta charset='utf-8'
+        // /><title>HTML实例</title></head> ");
+
+        for (int i = 0; i < sheetCounts; i++) {
+            Sheet sheet = wb.getSheetAt(i);// 获取第一个Sheet的内容
+            int lastRowNum = sheet.getLastRowNum();
+            Map<String, String> map[] = getRowSpanColSpanMap(sheet);
+            // sb.append("<br><br>");
+            sb.append(sheet.getSheetName());
+            sb.append("<table style='border-collapse:collapse;' width='100%'>");
+            Row row = null; // 兼容
+            Cell cell = null; // 兼容
+            for (int rowNum = sheet.getFirstRowNum(); rowNum <= lastRowNum; rowNum++) {
+                row = sheet.getRow(rowNum);
+                if (row == null) {
+                    sb.append("<tr><td > &nbsp;</td></tr>");
+                    continue;
+                }
+                sb.append("<tr>");
+                int lastColNum = row.getLastCellNum();
+                for (int colNum = 0; colNum < lastColNum; colNum++) {
+                    cell = row.getCell(colNum);
+                    if (cell == null) { // 特殊情况 空白的单元格会返回null
+                        sb.append("<td>&nbsp;</td>");
+                        continue;
+                    }
+
+                    String stringValue = getCellValue(cell);//````````````
+                    if (map[0].containsKey(rowNum + "," + colNum)) {
+                        String pointString = map[0].get(rowNum + "," + colNum);
+                        map[0].remove(rowNum + "," + colNum);
+                        int bottomeRow = Integer.valueOf(pointString.split(",")[0]);
+                        int bottomeCol = Integer.valueOf(pointString.split(",")[1]);
+                        int rowSpan = bottomeRow - rowNum + 1;
+                        int colSpan = bottomeCol - colNum + 1;
+                        sb.append("<td rowspan= '" + rowSpan + "' colspan= '" + colSpan + "' ");
+                    } else if (map[1].containsKey(rowNum + "," + colNum)) {
+                        map[1].remove(rowNum + "," + colNum);
+                        continue;
+                    } else {
+                        sb.append("<td ");
+                    }
+
+                    dealExcelStyle(wb, sheet, cell, sb);// 处理单元格样式
+                    sb.append(">");
+                    if (stringValue == null || "".equals(stringValue.trim())) {
+                        sb.append(" &nbsp; ");
+                    } else {
+                        // 将ascii码为160的空格转换为html下的空格(&nbsp;)
+                        sb.append(stringValue.replace(String.valueOf((char) 160), "&nbsp;"));
+                    }
+                    sb.append("</td>");
+                }
+                sb.append("</tr>");
+            }
+            sb.append("</table>");
+        }
+
+        // sb.append("</body></html> ");
+        return sb.toString();
+    }
+
+    private static Map<String, String>[] getRowSpanColSpanMap(Sheet sheet) {
+        Map<String, String> map0 = new HashMap<String, String>();
+        Map<String, String> map1 = new HashMap<String, String>();
+        int mergedNum = sheet.getNumMergedRegions();
+        CellRangeAddress range = null;
+        for (int i = 0; i < mergedNum; i++) {
+            range = sheet.getMergedRegion(i);
+            int topRow = range.getFirstRow();
+            int topCol = range.getFirstColumn();
+            int bottomRow = range.getLastRow();
+            int bottomCol = range.getLastColumn();
+            map0.put(topRow + "," + topCol, bottomRow + "," + bottomCol);
+            // System.out.println(topRow + "," + topCol + "," + bottomRow + ","
+            // + bottomCol);
+            int tempRow = topRow;
+            while (tempRow <= bottomRow) {
+                int tempCol = topCol;
+                while (tempCol <= bottomCol) {
+                    map1.put(tempRow + "," + tempCol, "");
+                    tempCol++;
+                }
+                tempRow++;
+            }
+            map1.remove(topRow + "," + topCol);
+        }
+        Map[] map = {map0, map1};
+        return map;
+    }
+
+    /**
+     * 200 * 获取表格单元格Cell内容 201 * @param cell 202 * @return 203
+     */
+    private static String getCellValue(Cell cell) {
+        String result = new String();
+        switch (cell.getCellType()) {
+            case Cell.CELL_TYPE_NUMERIC:// 数字类型
+                if (HSSFDateUtil.isCellDateFormatted(cell)) {// 处理日期格式、时间格式
+                    SimpleDateFormat sdf = null;
+                    if (cell.getCellStyle().getDataFormat() == HSSFDataFormat.getBuiltinFormat("hh:mm")) {
+                        sdf = new SimpleDateFormat("HH:mm");
+                    } else if (cell.getCellStyle().getDataFormat() == HSSFDataFormat
+                            .getBuiltinFormat("yyyy-MM-dd HH:mm:ss")) {// 日期
+                        sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+                    } else {
+                        sdf = new SimpleDateFormat("yyyy-MM-dd");
+                    }
+                    Date date = cell.getDateCellValue();
+                    result = sdf.format(date);
+                } else if (cell.getCellStyle().getDataFormat() == 58) {
+                    // 处理自定义日期格式:m月d日(通过判断单元格的格式id解决,id的值是58)
+                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+                    double value = cell.getNumericCellValue();
+                    Date date = DateUtil.getJavaDate(value);
+                    result = sdf.format(date);
+                } else {
+                    double value = cell.getNumericCellValue();
+                    CellStyle style = cell.getCellStyle();
+                    DecimalFormat format = new DecimalFormat();
+                    String temp = style.getDataFormatString();
+                    // 单元格设置成常规
+                    if (temp.equals("General")) {
+                        format.applyPattern("#");
+                    }
+                    result = format.format(value);
+                }
+                break;
+            case Cell.CELL_TYPE_STRING:// String类型
+                result = cell.getRichStringCellValue().toString();
+                break;
+            case Cell.CELL_TYPE_BLANK:
+                result = "";
+                break;
+            default:
+                result = "";
+                break;
+        }
+        return result;
+    }
+
+    /**
+     * 251 * 处理表格样式 252 * @param wb 253 * @param sheet 254 * @param cell 255
+     * * @param sb 256
+     */
+    private static void dealExcelStyle(Workbook wb, Sheet sheet, Cell cell, StringBuffer sb) {
+
+        CellStyle cellStyle = cell.getCellStyle();
+        if (cellStyle != null) {
+            //short alignment = cellStyle.getAlignment();旧写法获取枚举数字;新写法获取枚举
+
+            sb.append("align='" + convertAlignToHtml(cellStyle.getAlignmentEnum()) + "' ");// 单元格内容的水平对齐方式
+            //short verticalAlignment = cellStyle.getVerticalAlignment();
+            //short verticalAlignment = cellStyle.getVerticalAlignmentEnum().getCode();
+            sb.append("valign='" + convertVerticalAlignToHtml(cellStyle.getVerticalAlignmentEnum()) + "' ");// 单元格中内容的垂直排列方式
+
+            if (wb instanceof XSSFWorkbook) {
+                XSSFFont xf = ((XSSFCellStyle) cellStyle).getFont();
+                Boolean boldWeight = xf.getBold();
+                //short boldWeight = xf.getBoldweight();
+                String fontfamily = xf.getFontName();
+                int underline = xf.getUnderline();
+                boolean Italic = xf.getItalic();
+
+                sb.append("style='");
+                if (underline >= 1) {
+                    sb.append("text-decoration:underline;"); // 字体型号
+                }
+                if (Italic) {
+                    sb.append("font-style: italic;"); // 字体型号
+                }
+                sb.append("font-family:" + fontfamily + ";"); // 字体型号
+                sb.append("font-weight:" + (boldWeight ? "bold" : "100") + ";"); // 字体加粗
+                sb.append("font-size: " + xf.getFontHeight() / 2 + "%;"); // 字体大小
+                int columnWidth = sheet.getColumnWidth(cell.getColumnIndex());
+                sb.append("width:" + columnWidth + "px;");
+
+                XSSFColor xc = xf.getXSSFColor();
+                if (xc != null && !"".equals(xc)) {
+                    sb.append("color:#" + xc.getARGBHex().substring(2) + ";"); // 字体颜色
+                }
+
+                XSSFColor bgColor = (XSSFColor) cellStyle.getFillForegroundColorColor();
+                if (bgColor != null && !"".equals(bgColor)) {
+                    sb.append("background-color:#" + bgColor.getARGBHex().substring(2) + ";"); // 背景颜色
+                }
+                sb.append(getBorderStyle(0, cellStyle.getBorderTop(),
+                        ((XSSFCellStyle) cellStyle).getTopBorderXSSFColor()));
+                sb.append(getBorderStyle(1, cellStyle.getBorderRight(),
+                        ((XSSFCellStyle) cellStyle).getRightBorderXSSFColor()));
+                sb.append(getBorderStyle(2, cellStyle.getBorderBottom(),
+                        ((XSSFCellStyle) cellStyle).getBottomBorderXSSFColor()));
+                sb.append(getBorderStyle(3, cellStyle.getBorderLeft(),
+                        ((XSSFCellStyle) cellStyle).getLeftBorderXSSFColor()));
+
+            } else if (wb instanceof HSSFWorkbook) {
+
+                HSSFFont hf = ((HSSFCellStyle) cellStyle).getFont(wb);
+                short fontColor = hf.getColor();
+                Boolean boldWeight = hf.getBold();
+                //short boldWeight = hf.getBoldweight();
+                String fontfamily = hf.getFontName();
+                int underline = hf.getUnderline();
+                boolean Italic = hf.getItalic();
+
+                sb.append("style='");
+                if (underline >= 1) {
+                    // 字体型号
+                    sb.append("text-decoration:underline;");
+                }
+                if (Italic) {
+                    // 字体型号
+                    sb.append("font-style: italic;");
+                }
+                // 类HSSFPalette用于求的颜色的国际标准形式
+                HSSFPalette palette = ((HSSFWorkbook) wb).getCustomPalette();
+                HSSFColor hc = palette.getColor(fontColor);
+                // 字体加粗
+                sb.append("font-weight:" + (boldWeight ? "bold" : "100") + ";");
+                // 字体型号
+                sb.append("font-family:" + fontfamily + ";");
+                // 字体大小
+                sb.append("font-size: " + hf.getFontHeight() / 2 + "%;");
+                String fontColorStr = convertToStardColor(hc);
+                // 字体颜色
+                if (fontColorStr != null && !"".equals(fontColorStr.trim())) {
+                    sb.append("color:" + fontColorStr + ";");
+                }
+                int columnWidth = sheet.getColumnWidth(cell.getColumnIndex());
+                sb.append("width:" + columnWidth + "px;");
+                short bgColor = cellStyle.getFillForegroundColor();
+                //short bgColor = cellStyle.getFillBackgroundColor();
+                hc = palette.getColor(bgColor);
+                String bgColorStr = convertToStardColor(hc);
+                if (bgColorStr != null && !"".equals(bgColorStr.trim())) {
+                    // 背景颜色
+                    sb.append("background-color:" + bgColorStr + ";");
+                }
+                /**
+                 * 旧版本 cellStyle.getBorderTop()
+                 * 新版本 cellStyle.getBorderTopEnum()
+                 */
+                sb.append(getBorderStyle(palette, 0, cellStyle.getBorderTop(), cellStyle.getTopBorderColor()));
+                sb.append(getBorderStyle(palette, 1, cellStyle.getBorderRight(), cellStyle.getRightBorderColor()));
+                sb.append(getBorderStyle(palette, 3, cellStyle.getBorderLeft(), cellStyle.getLeftBorderColor()));
+                sb.append(getBorderStyle(palette, 2, cellStyle.getBorderBottom(), cellStyle.getBottomBorderColor()));
+            }
+
+            sb.append("' ");
+        }
+    }
+
+    /**
+     * 330 * 单元格内容的水平对齐方式 331 * @param alignment 332 * @return 333
+     *
+     * @param alignment
+     */
+    private static String convertAlignToHtml(HorizontalAlignment alignment) {
+
+        String align = "left";
+        /**
+         * CellStyle.ALIGN_CENTER:旧写法
+         * HorizontalAlignment.LEFT:新写法
+         */
+        switch (alignment) {
+            case LEFT:
+                align = "left";
+                break;
+            case CENTER:
+                align = "center";
+                break;
+            case RIGHT:
+                align = "right";
+                break;
+            default:
+                break;
+        }
+        return align;
+    }
+
+    /**
+     * 354 * 单元格中内容的垂直排列方式 355 * @param verticalAlignment 356 * @return 357
+     *
+     * @param verticalAlignment
+     */
+    private static String convertVerticalAlignToHtml(VerticalAlignment verticalAlignment) {
+
+        /**
+         * 旧写法CellStyle.VERTICAL_BOTTOM:
+         * 新写法VerticalAlignment.BOTTOM:
+         */
+        String valign = "middle";
+        switch (verticalAlignment) {
+            case BOTTOM:
+                valign = "bottom";
+                break;
+            case CENTER:
+                valign = "center";
+                break;
+            case TOP:
+                valign = "top";
+                break;
+            default:
+                break;
+        }
+        return valign;
+    }
+
+    private static String convertToStardColor(HSSFColor hc) {
+
+        /**
+         * 颜色定义变化
+         * 旧版本 : HSSFColor.BLACK.index
+         * 新版本 : IndexedColors.BLACK.index
+         */
+        StringBuffer sb = new StringBuffer("");
+        if (hc != null) {
+            if (IndexedColors.AUTOMATIC.index == hc.getIndex()) {
+                return null;
+            }
+            sb.append("#");
+            for (int i = 0; i < hc.getTriplet().length; i++) {
+                sb.append(fillWithZero(Integer.toHexString(hc.getTriplet()[i])));
+            }
+        }
+
+        return sb.toString();
+    }
+
+    private static String fillWithZero(String str) {
+        if (str != null && str.length() < 2) {
+            return "0" + str;
+        }
+        return str;
+    }
+
+    static String[] bordesr = {"border-top:", "border-right:", "border-bottom:", "border-left:"};
+    static String[] borderStyles = {"solid ", "solid ", "solid ", "solid ", "solid ", "solid ", "solid ", "solid ",
+            "solid ", "solid", "solid", "solid", "solid", "solid"};
+
+    private static String getBorderStyle(HSSFPalette palette, int b, short s, short t) {
+        if (s == 0) {
+            return bordesr[b] + borderStyles[s] + "#d0d7e5 1px;";
+        }
+        String borderColorStr = convertToStardColor(palette.getColor(t));
+        borderColorStr = borderColorStr == null || borderColorStr.length() < 1 ? "#000000" : borderColorStr;
+        return bordesr[b] + borderStyles[s] + borderColorStr + " 1px;";
+
+    }
+
+    private static String getBorderStyle(int b, short s, XSSFColor xc) {
+        if (s == 0) {
+            return bordesr[b] + borderStyles[s] + "#d0d7e5 1px;";
+        }
+        if (xc != null && !"".equals(xc)) {
+            // t.getARGBHex();
+            String borderColorStr = xc.getARGBHex();
+            borderColorStr = borderColorStr == null || borderColorStr.length() < 1 ? "#000000"
+                    : borderColorStr.substring(2);
+            return bordesr[b] + borderStyles[s] + borderColorStr + " 1px;";
+        }
+        return "";
+    }
+
+}

Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels