Browse Source

Merge branch 'master' of http://git.zthymaoyi.com/gdc/yiliangyiyun

ccjgmwz 4 years ago
parent
commit
e9e1b9dd08
84 changed files with 4663 additions and 856 deletions
  1. 5 1
      pom.xml
  2. 6 2
      winsea-haixin-platform-backend/pom.xml
  3. 0 1
      winsea-haixin-platform-backend/src/main/java/com/yh/saas/PlatformApplication.java
  4. 14 0
      winsea-haixin-platform-backend/src/main/java/com/yh/saas/platform/controller/StaffController.java
  5. 17 17
      winsea-haixin-platform-backend/src/main/resources/application-dev.yml
  6. 2 2
      winsea-haixin-platform-backend/src/main/resources/application-test.yml
  7. 3 3
      winsea-haixin-platform-backend/src/main/resources/application.yml
  8. 0 4
      winsea-haixin-platform-backend/target/maven-archiver/pom.properties
  9. 0 62
      winsea-haixin-platform-backend/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst
  10. 0 56
      winsea-haixin-platform-backend/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst
  11. 1 3
      winsea-haixin-plugin-configuration/src/main/java/com/yh/saas/plugin/configuration/basic/controller/DutyBasicController.java
  12. 5 0
      winsea-haixin-plugin-yiliangyiyun/pom.xml
  13. 2 3
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/GeneratorCodeByTables.java
  14. 26 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/constant/NumberConstant.java
  15. 36 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/constant/StatusEnum.java
  16. 44 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/DriverCarInfoController.java
  17. 36 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/DriverPayeeInfoController.java
  18. 123 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/DriverViewInfoController.java
  19. 26 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/TranCarInfoController.java
  20. 71 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/TranProcessInfoController.java
  21. 98 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/TranTaskInfoController.java
  22. 40 11
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehouseBaseInfoController.java
  23. 69 4
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehouseInOutInfoController.java
  24. 11 6
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehouseInventoryCountInfoController.java
  25. 18 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehousePositionStorageInfoController.java
  26. 8 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/CommonSysParameter.java
  27. 7 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/ContractGoodsInfo.java
  28. 55 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/ContractManagementInfo.java
  29. 81 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/DriverCarInfo.java
  30. 95 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/DriverPayeeInfo.java
  31. 104 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/DriverViewInfo.java
  32. 179 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/TranCarInfo.java
  33. 232 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/TranProcessInfo.java
  34. 176 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/TranTaskInfo.java
  35. 36 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehouseBaseInfo.java
  36. 56 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehouseInOutInfo.java
  37. 7 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehouseInventoryCountInfo.java
  38. 5 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehousePositionInfo.java
  39. 23 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/view/ConfigDO.java
  40. 19 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/view/DistinguishView.java
  41. 23 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/view/WarehouseNumView.java
  42. 33 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/view/WarehouseView.java
  43. 9 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/exception/YExceptionEnum.java
  44. 16 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/DriverCarInfoMapper.java
  45. 16 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/DriverPayeeInfoMapper.java
  46. 34 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/DriverViewInfoMapper.java
  47. 16 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/TranCarInfoMapper.java
  48. 34 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/TranProcessInfoMapper.java
  49. 34 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/TranTaskInfoMapper.java
  50. 15 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/WarehouseInOutInfoMapper.java
  51. 31 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IDriverCarInfoService.java
  52. 21 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IDriverPayeeInfoService.java
  53. 72 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IDriverViewInfoService.java
  54. 16 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ITranCarInfoService.java
  55. 55 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ITranProcessInfoService.java
  56. 72 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ITranTaskInfoService.java
  57. 23 3
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseBaseInfoService.java
  58. 46 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseInOutInfoService.java
  59. 9 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseInventoryCountInfoService.java
  60. 9 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehousePositionStorageInfoService.java
  61. 1 7
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/CommonSysParameterServiceImpl.java
  62. 92 36
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ContractManagementInfoServiceImpl.java
  63. 49 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/DriverCarInfoServiceImpl.java
  64. 31 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/DriverPayeeInfoServiceImpl.java
  65. 277 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/DriverViewInfoServiceImpl.java
  66. 29 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TranCarInfoServiceImpl.java
  67. 202 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TranProcessInfoServiceImpl.java
  68. 247 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TranTaskInfoServiceImpl.java
  69. 361 91
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseBaseInfoServiceImpl.java
  70. 169 10
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInOutInfoServiceImpl.java
  71. 44 4
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInventoryCountInfoServiceImpl.java
  72. 1 1
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehousePositionInfoServiceImpl.java
  73. 17 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehousePositionStorageInfoServiceImpl.java
  74. 0 505
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/util/CrewUtils.java
  75. 157 19
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/util/EntityAnalyse.java
  76. 311 0
      winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/util/HttpUtils.java
  77. 1 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ContractManagementInfoMapper.xml
  78. 5 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/DriverCarInfoMapper.xml
  79. 5 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/DriverPayeeInfoMapper.xml
  80. 72 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/DriverViewInfoMapper.xml
  81. 5 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/TranCarInfoMapper.xml
  82. 109 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/TranProcessInfoMapper.xml
  83. 92 0
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/TranTaskInfoMapper.xml
  84. 66 1
      winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehouseInOutInfoMapper.xml

+ 5 - 1
pom.xml

@@ -124,7 +124,11 @@
             <groupId>org.freemarker</groupId>
             <artifactId>freemarker</artifactId>
         </dependency>
-
+        <dependency>
+            <groupId>io.github.yedaxia</groupId>
+            <artifactId>japidocs</artifactId>
+            <version>1.4.3</version>
+        </dependency>
         <!-- 消息 -->
         <dependency>
             <groupId>com.winsea.svc</groupId>

+ 6 - 2
winsea-haixin-platform-backend/pom.xml

@@ -19,7 +19,7 @@
             <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
         </repository>
         <repository>
-            <id>nexus-winsea</id>
+            <id>maven-public</id>
             <url>http://maven.zthymaoyi.com/nexus/repository/maven-public/</url>
             <releases>
                 <enabled>true</enabled>
@@ -166,7 +166,11 @@
             <artifactId>spring-boot-autoconfigure</artifactId>
             <version>2.1.1.RELEASE</version>
         </dependency>
-
+        <dependency>
+            <groupId>io.github.yedaxia</groupId>
+            <artifactId>japidocs</artifactId>
+            <version>1.4.3</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 0 - 1
winsea-haixin-platform-backend/src/main/java/com/yh/saas/PlatformApplication.java

@@ -9,7 +9,6 @@ import org.springframework.boot.web.servlet.support.SpringBootServletInitializer
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.scheduling.annotation.EnableScheduling;
 import org.springframework.transaction.annotation.EnableTransactionManagement;
-
 @SpringBootApplication(exclude = SecurityAutoConfiguration.class)
 @EnableTransactionManagement
 @EnableScheduling // 开始定时任务

+ 14 - 0
winsea-haixin-platform-backend/src/main/java/com/yh/saas/platform/controller/StaffController.java

@@ -110,6 +110,20 @@ public class StaffController {
 		return staffService.selectList(new EntityWrapper<CommonStaff>().eq("dept_id", deptId));
 	}
 
+	/**
+	 * 根据公司ID获得职员信息集合
+	 *
+	 * @param compId
+	 * @return
+	 */
+	@GetMapping("/query/getStaffListByCompId")
+	public List<CommonStaff> getStaffListByCompId(String compId) {
+		return staffService.selectList(new EntityWrapper<CommonStaff>().eq("comp_id", compId));
+	}
+
+
+
+
 	/**
 	 * 通过公司ID获取部门列表
 	 *

+ 17 - 17
winsea-haixin-platform-backend/src/main/resources/application-dev.yml

@@ -10,8 +10,8 @@ spring:
 #    url: jdbc:mysql://127.0.0.1:3306/winsea_haixin?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false&serverTimezone=Asia/Shanghai
 #    username: root
  password: yinghai.2019
-    url: jdbc:mysql://192.168.26.6:3306/winsea_haixin?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false&serverTimezone=Asia/Shanghai
-    username: root
+#    url: jdbc:mysql://192.168.26.6:3306/winsea_haixin?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false&serverTimezone=Asia/Shanghai
+#    username: root
   redis:
     database: 0
     host: 192.168.26.10
@@ -74,24 +74,24 @@ system:
   prod-temp-file-path: /environmentae-science/haixin-files/uat/tpl/
   department-deck: efc79c703d6c4a8dafb88b5e60192e82
 
-sp:
-  enquiry:
-    path:  http://vms-test.winseacity.com/layer/v1/winsea/gateway/enquiry/apply/sp
-  purchase:
-    path:  http://vms-test.winseacity.com/layer/v1/winsea/ddPurchaseInfo/purchase/sp
-  again:
-    path:  http://vms-test.winseacity.com/layer/v1/winsea/gateway/enquiry/apply/editXjQuotesInfo
-  enquirydate:
-    path:  http://vms-test.winseacity.com/layer/v1/winsea/gateway/enquiry/apply/batchEditEnquiryDate
-ma:
-  enquiry:
-    path:  http://vms-test.winseacity.com/layer/v1/winsea/gateway/enquiry/apply/ma
-  purchase:
-    path:  http://vms-test.winseacity.com/layer/v1/winsea/ddPurchaseInfo/purchase/ma
+#sp:
+#  enquiry:
+#    path:  http://vms-test.winseacity.com/layer/v1/winsea/gateway/enquiry/apply/sp
+#  purchase:
+#    path:  http://vms-test.winseacity.com/layer/v1/winsea/ddPurchaseInfo/purchase/sp
+#  again:
+#    path:  http://vms-test.winseacity.com/layer/v1/winsea/gateway/enquiry/apply/editXjQuotesInfo
+#  enquirydate:
+#    path:  http://vms-test.winseacity.com/layer/v1/winsea/gateway/enquiry/apply/batchEditEnquiryDate
+#ma:
+#  enquiry:
+#    path:  http://vms-test.winseacity.com/layer/v1/winsea/gateway/enquiry/apply/ma
+#  purchase:
+#    path:  http://vms-test.winseacity.com/layer/v1/winsea/ddPurchaseInfo/purchase/ma
 
 
 gexinpush:
-  host: http://hx-test.winsea.com/
+  host: http://yilaingyiyun.com/
   appId: 1001
   appkey: 2001
   appSecret: 3001

+ 2 - 2
winsea-haixin-platform-backend/src/main/resources/application-test.yml

@@ -4,8 +4,8 @@ server:
 spring:
   datasource:
     driver-class-name: com.mysql.jdbc.Driver
-    password: yinghai.2020
-    url: jdbc:mysql://127.0.0.1:3306/winsea_szenergy_uat?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false&serverTimezone=Asia/Shanghai
+#    password: yinghai.2020
+#    url: jdbc:mysql://127.0.0.1:3306/winsea_szenergy_uat?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&useSSL=false&serverTimezone=Asia/Shanghai
     username: root
   redis:
     database: 0

+ 3 - 3
winsea-haixin-platform-backend/src/main/resources/application.yml

@@ -112,7 +112,7 @@ certificate:
       data-row-no: 2
       title-row-no: 1
 
-comany-mgr-url: http://hx-test.winsea.com/mgr
+comany-mgr-url: http://yilaingyiyun.com/mgr
 
 company:
   simple-phonetic: HF
@@ -123,7 +123,7 @@ file:
   path:
     car_brand: car/brand
 
-file-show-path: http://hx-test.winsea.com/pb/
+file-show-path: http://yilaingyiyun.com/pb/
 
 jpush:
   appkey: 0f39aadb2d14d6a34c8a0d14
@@ -168,7 +168,7 @@ oss:
           appendix: /purchase/quotes/appendix/
     prefix: saas/
     timeout: 30000
-pc-url: http://hx-test.winsea.com
+pc-url: http://yilaingyiyun.com
 
 sms:
   gateway:

+ 0 - 4
winsea-haixin-platform-backend/target/maven-archiver/pom.properties

@@ -1,4 +0,0 @@
-#Created by Apache Maven 3.6.3
-version=0.7.0
-groupId=com.yh.haixin
-artifactId=winsea-haixin-platform-backend

+ 0 - 62
winsea-haixin-platform-backend/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst

@@ -1,62 +0,0 @@
-com\yh\saas\platform\controller\PluginServiceController.class
-com\alipay\sofa\runtime\api\annotation\SofaMethod.class
-com\yh\saas\platform\service\IThermalRoutingService.class
-com\yh\saas\platform\entity\NotificationBusinessCode$QueryFiled.class
-com\yh\saas\platform\service\CommonParameterCompanyService.class
-com\yh\saas\platform\entity\view\FlowTaskCandidateStaffView.class
-com\yh\saas\platform\controller\EmailConfigController.class
-com\yh\saas\platform\controller\OfficeController.class
-com\yh\saas\platform\controller\AccountResultController.class
-com\yh\saas\platform\config\PluginFeatureAspect.class
-com\yh\saas\platform\entity\view\FlowTaskCandidateStaffView$RoleStaffView.class
-com\yh\saas\platform\controller\CompanyCustomDropDownController.class
-com\yh\saas\platform\service\impl\BillOprateHisImpl.class
-com\yh\saas\platform\entity\FuncClickInfo$QueryFields.class
-com\yh\saas\platform\controller\RoleController.class
-com\yh\saas\platform\service\IBIService.class
-com\yh\saas\platform\entity\NotificationBusinessCode.class
-com\alipay\sofa\runtime\api\annotation\SofaService.class
-com\yh\saas\platform\entity\FuncClickInfo.class
-com\yh\saas\platform\service\impl\NotificationBusinessCodeServiceImpl.class
-com\yh\saas\platform\properties\BIProperties$BIReportProperties.class
-com\yh\saas\platform\config\AccessInterceptor.class
-com\yh\saas\platform\service\impl\FuncClickInfoServiceImpl.class
-com\yh\saas\platform\controller\VesselController.class
-com\yh\saas\platform\properties\CompanyProperties.class
-com\yh\saas\platform\config\PlatformConfig.class
-com\yh\saas\platform\service\INotificationBusinessCodeService.class
-com\alipay\sofa\runtime\api\annotation\SofaReferenceBinding.class
-com\yh\saas\platform\entity\view\FlowTaskCandidateStaffView$CandidateType.class
-com\yh\saas\platform\controller\FuncClickInfoController.class
-com\alipay\sofa\runtime\api\annotation\SofaReference.class
-com\yh\saas\platform\controller\CommonParameterCompanyController.class
-com\yh\saas\platform\util\GtAppendixUtil.class
-com\yh\saas\platform\properties\BIProperties.class
-com\yh\saas\platform\service\impl\FlowTaskCandidateServiceImpl.class
-com\yh\saas\platform\constants\Constants.class
-com\yh\saas\platform\controller\ThermalRoutingController.class
-com\yh\saas\platform\properties\BIProperties$BIServerProperties.class
-com\yh\saas\platform\controller\FlowTaskCandidateController.class
-com\yh\saas\PlatformApplication.class
-com\yh\saas\platform\service\IFlowTaskCandidateService.class
-com\yh\saas\platform\controller\StaffController.class
-com\yh\saas\platform\service\IBillOperateHisService.class
-com\yh\saas\platform\service\IFuncClickInfoService.class
-com\yh\saas\platform\service\impl\BIServiceImpl.class
-com\yh\saas\platform\controller\BillOperateHisController.class
-com\yh\saas\platform\controller\ExcelController.class
-com\yh\saas\platform\service\impl\ThermalRoutingServiceImpl.class
-com\yh\saas\platform\service\impl\CommonParameterCompanyServiceImpl.class
-com\yh\saas\platform\entity\view\CommonRoleMenuView.class
-com\yh\saas\platform\mapper\NotificationBusinessCodeMapper.class
-com\yh\saas\platform\exception\EnterpriseErrorCodeEnums.class
-com\yh\saas\platform\exception\EnterpriseException.class
-com\yh\saas\platform\vo\NotificationStaffTodoTaskVO.class
-com\yh\saas\platform\mapper\ThermalRoutingMapper.class
-com\alipay\sofa\runtime\api\annotation\SofaParameter.class
-com\alipay\sofa\runtime\api\annotation\SofaServiceBinding.class
-com\yh\saas\platform\controller\SystemController.class
-com\yh\saas\platform\mapper\FuncClickInfoMapper.class
-com\yh\saas\platform\entity\ThermalRouting.class
-com\yh\saas\platform\controller\BIController.class
-com\yh\saas\platform\controller\AppendixController.class

+ 0 - 56
winsea-haixin-platform-backend/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst

@@ -1,56 +0,0 @@
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\alipay\sofa\runtime\api\annotation\SofaReferenceBinding.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\controller\ThermalRoutingController.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\controller\AccountResultController.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\controller\StaffController.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\alipay\sofa\runtime\api\annotation\SofaParameter.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\controller\PluginServiceController.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\service\impl\FlowTaskCandidateServiceImpl.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\service\IThermalRoutingService.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\exception\EnterpriseException.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\controller\CommonParameterCompanyController.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\alipay\sofa\runtime\api\annotation\SofaReference.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\mapper\ThermalRoutingMapper.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\service\IFuncClickInfoService.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\util\GtAppendixUtil.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\service\impl\CommonParameterCompanyServiceImpl.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\service\IBillOperateHisService.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\mapper\NotificationBusinessCodeMapper.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\PlatformApplication.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\controller\ExcelController.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\alipay\sofa\runtime\api\annotation\SofaService.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\controller\BIController.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\service\impl\BillOprateHisImpl.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\service\impl\FuncClickInfoServiceImpl.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\mapper\FuncClickInfoMapper.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\alipay\sofa\runtime\api\annotation\SofaServiceBinding.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\entity\FuncClickInfo.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\controller\OfficeController.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\properties\BIProperties.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\entity\ThermalRouting.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\controller\RoleController.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\service\impl\BIServiceImpl.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\config\PlatformConfig.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\entity\view\CommonRoleMenuView.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\service\CommonParameterCompanyService.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\controller\BillOperateHisController.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\controller\EmailConfigController.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\controller\VesselController.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\config\AccessInterceptor.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\entity\view\FlowTaskCandidateStaffView.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\service\INotificationBusinessCodeService.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\controller\AppendixController.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\controller\FuncClickInfoController.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\vo\NotificationStaffTodoTaskVO.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\entity\NotificationBusinessCode.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\controller\CompanyCustomDropDownController.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\service\impl\ThermalRoutingServiceImpl.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\config\PluginFeatureAspect.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\service\IBIService.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\properties\CompanyProperties.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\constants\Constants.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\controller\FlowTaskCandidateController.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\exception\EnterpriseErrorCodeEnums.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\service\impl\NotificationBusinessCodeServiceImpl.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\controller\SystemController.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\yh\saas\platform\service\IFlowTaskCandidateService.java
-E:\yiliangyiyun\winsea-haixin-platform-backend\src\main\java\com\alipay\sofa\runtime\api\annotation\SofaMethod.java

+ 1 - 3
winsea-haixin-plugin-configuration/src/main/java/com/yh/saas/plugin/configuration/basic/controller/DutyBasicController.java

@@ -32,11 +32,10 @@ public class DutyBasicController {
 	/**
 	 * 船员职务查看
 	 * 
-	 * @param crewDutyParameter
+	 * @param crewDutyCompany
 	 * @return
 	 */
 	@GetMapping("/query/getQueryPage")
-	@PluginFeature(id = "CrewJob-Review", name = "船员职务_查看")
 	public List<CrewDutyCompany> getList(CrewDutyCompany crewDutyCompany) {
 		return dutyCompanyService.getList(crewDutyCompany);
 	}
@@ -47,7 +46,6 @@ public class DutyBasicController {
 	 * @param crewDutyCompanies
 	 */
 	@PostMapping("/api/changeInfo")
-	@PluginFeature(id = "CrewJob-Set", name = "船员职务_设定")
 	public void changeInfo(@RequestBody List<CrewDutyCompany> crewDutyCompanies) {
 		dutyCompanyService.changeInfo(crewDutyCompanies);
 	}

+ 5 - 0
winsea-haixin-plugin-yiliangyiyun/pom.xml

@@ -37,6 +37,11 @@
             <groupId>mysql</groupId>
             <artifactId>mysql-connector-java</artifactId>
         </dependency>
+        <dependency>
+            <groupId>io.github.yedaxia</groupId>
+            <artifactId>japidocs</artifactId>
+            <version>1.4.3</version>
+        </dependency>
     </dependencies>
 
 

+ 2 - 3
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/GeneratorCodeByTables.java

@@ -23,7 +23,7 @@ import com.baomidou.mybatisplus.generator.config.rules.NamingStrategy;
 /**
  * 生成代码
  *
- * @author SunTianjun
+ * @author gdc
  */
 public class GeneratorCodeByTables {
 
@@ -53,8 +53,7 @@ public class GeneratorCodeByTables {
     }
 
     public static void main(String[] args) throws IOException {
-//        generateByTables("Gongdc", "com.yh.saas.plugin.crew","crew_interview_info");
-        generateByTables("Gongdc", "com.yh.saas.plugin.yiliangyiyun","warehouse_inventory_count_info");
+        generateByTables("Gongdc", "com.yh.saas.plugin.yiliangyiyun","tran_car_info");
     }
 
     /**

+ 26 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/constant/NumberConstant.java

@@ -0,0 +1,26 @@
+package com.yh.saas.plugin.yiliangyiyun.constant;
+
+public class NumberConstant {
+
+	// 新增服务商申请审核流businessCode
+	public static final String CONSTANT0 = "0";
+
+	public static final String CONSTANT1 = "1";
+
+	public static final String CONSTANT2 = "2";
+
+	public static final String CONSTANT3 = "3";
+
+	public static final String CONSTANT_CONTRACT = "CONTRACT";
+
+	public static final String CONSTANT_FEEDBACK = "FEEDBACK";
+
+	public static final String CONSTANT_PROCESS = "PROCESS";
+
+	public static final String CONSTANT_TRAN = "TRAN";
+
+	public static final String PURCHASE_WAREHOUSING = "采购入库";
+	private NumberConstant() {
+
+	}
+}

+ 36 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/constant/StatusEnum.java

@@ -23,6 +23,42 @@ public enum StatusEnum {
     TEMPORARILY_STORED("1", "已暂存", "Temporarily stored"),
     SUBMITTED("3", "已提交", "Submitted"),
 
+    //司机禁用标识
+    DISABLED("1","已禁用","disabled"),
+    NOT_DISABLE("0","未禁用","not_disable"),
+
+
+    //调度状态
+    PROCESS_DO("1", "执行中", "Under implementation"),
+    PROCESS_COMPLETED("3", "已完成", "Completed"),
+
+
+    //汽运状态
+    DELIVERED("1","已送达","delivered"),
+    NOT_DELIVERED("3","未送达","not_delivered"),
+
+    //运输管理状态
+    TRAN_DO("1", "执行中", "Under implementation"),
+    TRAN_COMPLETED("3", "已完成", "Completed"),
+
+    //清仓状态
+    NOT_CLEARED("1", "未清仓", "not_cleared"),
+    CLEARED("3", "已清仓", "cleared"),
+
+    //反馈状态
+    FEEDBACK_DO("1", "执行中", "Under implementation"),
+    FEEDBACK_COMPLETED("3", "已完成", "Completed"),
+
+    //签订合同状态
+    NOT_SIGNED("1", "未签合同", "not_signed"),
+    SIGNED("3", "已签合同", "signed"),
+
+    //出入库任务状态
+    TASK_REVIEWED("1", "待审核", "reviewed"),
+    TASK_DO("3", "执行中", "Under implementation"),
+    TASK_COMPLETED("5", "已完成", "Completed"),
+
+
     ;
     @Getter
     private String flag;

+ 44 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/DriverCarInfoController.java

@@ -0,0 +1,44 @@
+package com.yh.saas.plugin.yiliangyiyun.controller;
+
+
+import com.yh.saas.plugin.yiliangyiyun.entity.DriverCarInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.IDriverCarInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 记录货车信息 前端控制器
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-29
+ */
+@RestController
+@RequestMapping("/driverCarInfo")
+public class DriverCarInfoController {
+
+    @Autowired
+    private IDriverCarInfoService driverCarInfoService;
+
+    /**
+     * 删除货车信息
+     * @param example
+     */
+    @PostMapping("/api/deleteDriverCar")
+    public void deleteDriverCar(@RequestBody DriverCarInfo example){
+        driverCarInfoService.deleteDriverCar(example.getId());
+    }
+
+    /**
+     * 车牌号下拉列表
+     * @return
+     */
+    @GetMapping("/selectCarNumber")
+    public List<DriverCarInfo> selectCarNumber(@RequestBody String driverId){
+        return driverCarInfoService.selectCarNumber(driverId);
+    }
+}
+

+ 36 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/DriverPayeeInfoController.java

@@ -0,0 +1,36 @@
+package com.yh.saas.plugin.yiliangyiyun.controller;
+
+
+import com.yh.saas.plugin.yiliangyiyun.entity.DriverPayeeInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.IDriverPayeeInfoService;
+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;
+
+/**
+ * <p>
+ * 记录收款账户信息 前端控制器
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-29
+ */
+@RestController
+@RequestMapping("/driverPayeeInfo")
+public class DriverPayeeInfoController {
+
+    @Autowired
+    private IDriverPayeeInfoService driverPayeeInfoService;
+    /**
+     * 删除收款人信息
+     * @param example
+     */
+    @PostMapping("/api/deleteDriverPayee")
+    public void deleteDriverPayee(@RequestBody DriverPayeeInfo example){
+        driverPayeeInfoService.deleteDriverPayee(example.getId());
+    }
+}
+

+ 123 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/DriverViewInfoController.java

@@ -0,0 +1,123 @@
+package com.yh.saas.plugin.yiliangyiyun.controller;
+
+
+import com.aliyun.oss.ServiceException;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.DriverCarInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.DriverViewInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.view.DistinguishView;
+import com.yh.saas.plugin.yiliangyiyun.service.IDriverCarInfoService;
+import com.yh.saas.plugin.yiliangyiyun.service.IDriverViewInfoService;
+import com.yh.saas.plugin.yiliangyiyun.util.EntityAnalyse;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+
+/**
+ * <p>
+ * 记录司机信息 前端控制器
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-29
+ */
+@RestController
+@RequestMapping("/driverViewInfo")
+public class DriverViewInfoController {
+    @Autowired
+    private IDriverViewInfoService driverViewInfoService;
+
+    /**
+     * 司机管理页面列表
+     * @param driverViewInfo
+     * @return
+     */
+    @GetMapping("/selectDriverInfoPage")
+    public Page<DriverViewInfo> selectDriverInfoPage(DriverViewInfo driverViewInfo){
+        return driverViewInfoService.selectDriverInfoPage(driverViewInfo);
+    }
+    /**
+     * 查看司机信息
+     * @param id
+     * @return
+     */
+    @GetMapping("/getDriver")
+    public DriverViewInfo getDriver (String id){
+        return driverViewInfoService.getDriver(id);
+    }
+
+    /**
+     * 删除司机信息
+     * @param driverViewInfo
+     */
+    @PostMapping("/api/deleteDriver")
+    public void deleteDriver(@RequestBody DriverViewInfo driverViewInfo) {
+        driverViewInfoService.deleteDriver(driverViewInfo.getId());
+    }
+        /**
+        * 添加信息
+         */
+    @PostMapping("/api/addInfo")
+    public String addInfo(@RequestBody DriverViewInfo driverViewInfo){
+        return driverViewInfoService.addInfo(driverViewInfo);
+    }
+
+    /**
+     * 编辑信息
+     */
+    @PostMapping("/api/editInfo")
+    public String editInfo(@RequestBody DriverViewInfo driverViewInfo) {
+        return driverViewInfoService.editInfo(driverViewInfo);
+    }
+
+    /**
+     * 禁用
+     */
+    @PostMapping("/api/editDisableInfo")
+    public String editDisableInfo(@RequestBody DriverViewInfo driverViewInfo){
+        return driverViewInfoService.editDisableInfo(driverViewInfo);
+    }
+
+    /**
+     * 识别身份证
+     * @param personImg
+     * @return
+     */
+    @GetMapping("/personShibie")
+    public DistinguishView personShibie (String personImg){
+        return EntityAnalyse.personShibie(personImg);
+    }
+
+    /**
+     * 银行卡
+     * @param bankImg
+     * @return
+     */
+    @GetMapping("/bankShibie")
+    public DistinguishView bankShibie (String bankImg){
+        return EntityAnalyse.bankShibie(bankImg);
+    }
+
+    /**
+     * 司机姓名电话下拉列表
+     */
+    @GetMapping("/selectDriverName")
+    public List<DriverViewInfo> selectDriverName(String compId){
+        return driverViewInfoService.selectDriverName(compId);
+    }
+
+    /**
+     * 根据姓名查电话、根据电话查姓名
+     */
+    @GetMapping("/selectDriverDetail")
+    public DriverCarInfo selectDriverPhoneByName(String id){
+        return driverViewInfoService.selectDriverDetail(id);
+    }
+}
+

+ 26 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/TranCarInfoController.java

@@ -0,0 +1,26 @@
+package com.yh.saas.plugin.yiliangyiyun.controller;
+
+
+import com.yh.saas.plugin.yiliangyiyun.entity.TranCarInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.ITranCarInfoService;
+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;
+
+/**
+ * <p>
+ * 记录车次 前端控制器
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-31
+ */
+@RestController
+@RequestMapping("/tranCarInfo")
+public class TranCarInfoController {
+
+}
+

+ 71 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/TranProcessInfoController.java

@@ -0,0 +1,71 @@
+package com.yh.saas.plugin.yiliangyiyun.controller;
+
+
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.TranCarInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.TranProcessInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.TranTaskInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.ITranProcessInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * <p>
+ * 记录调度 前端控制器
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-31
+ */
+@RestController
+@RequestMapping("/tranProcessInfo")
+public class TranProcessInfoController {
+    @Autowired
+    private ITranProcessInfoService tranProcessInfoService;
+
+    /**
+     * 汽运调度分页列表查询
+     *
+     * @param tranProcessInfo
+     * @return
+     */
+    @GetMapping("/selectTranProcessInfo")
+    public Page<TranProcessInfo> selectTranProcessInfo(TranProcessInfo tranProcessInfo) {
+        return tranProcessInfoService.selectTranProcessInfo(tranProcessInfo);
+    }
+
+    /**
+     * 更改状态
+     */
+    @PostMapping("/editStatus")
+    public String editStatus(@RequestBody TranProcessInfo tranProcessInfo) {
+        return tranProcessInfoService.editStatus(tranProcessInfo.getId());
+    }
+    /**
+     * 查看运输调度
+     * @param id
+     * @return
+     */
+    @GetMapping("/getTranProcess")
+    public TranProcessInfo getTranProcess (String id){
+        return tranProcessInfoService.getTranProcess(id);
+    }
+    /**
+     * 派车
+     */
+    @PostMapping("/api/insertTranCar")
+    public String insertTranCar(@RequestBody TranProcessInfo tranProcessInfo){
+        return tranProcessInfoService.insertTranCar(tranProcessInfo);
+    }
+
+    /**
+     * 更改反馈状态
+     */
+    @PostMapping("/api/editFeedbackStatus")
+    public String editFeedbackStatus(@RequestBody TranProcessInfo tranProcessInfo){
+        return tranProcessInfoService.editFeedbackStatus(tranProcessInfo.getId());
+    }
+
+
+}
+

+ 98 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/TranTaskInfoController.java

@@ -0,0 +1,98 @@
+package com.yh.saas.plugin.yiliangyiyun.controller;
+
+
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.TranTaskInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.ITranTaskInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 记录运输任务 前端控制器
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-31
+ */
+@RestController
+@RequestMapping("/tranTaskInfo")
+public class TranTaskInfoController {
+
+    @Autowired
+    private ITranTaskInfoService tranTaskInfoService;
+
+    /**
+     * 创建运输任务
+     * @param tranTaskInfo
+     * @return
+     */
+    @PostMapping("/api/addTranTask")
+    public String addTranTask(@RequestBody TranTaskInfo tranTaskInfo){
+        return tranTaskInfoService.addTranTask(tranTaskInfo);
+    }
+
+    /**
+     * 查看运输任务
+     * @param id
+     * @return
+     */
+    @GetMapping("/getTranTask")
+    public TranTaskInfo getTranTask(String id){
+        return tranTaskInfoService.getTranTask(id);
+    }
+
+    /**
+     * 删除运输任务
+     * @param example
+     */
+    @PostMapping("/api/deleteTranTask")
+    public void deleteTranTask(@RequestBody TranTaskInfo example) {
+        tranTaskInfoService.deleteTranTask(example.getId());
+    }
+        /**
+     * 编辑运输任务
+     * @param tranTaskInfo
+     * @return
+     */
+    @PostMapping("/api/editTranTask")
+    public String editTranTask(@RequestBody TranTaskInfo tranTaskInfo){
+        return tranTaskInfoService.editTranTask(tranTaskInfo);
+    }
+
+    /**
+     * 运输管理页面
+     * @param tranTaskInfo
+     * @return
+     */
+    @GetMapping("/selectTranTaskInfoPage")
+    public Page<TranTaskInfo> selectTranTaskInfoPage(TranTaskInfo tranTaskInfo){
+        return tranTaskInfoService.selectTranTaskInfoPage(tranTaskInfo);
+    }
+
+    /**
+     * 更改状态
+     * @param tranTaskInfo
+     * @return
+     */
+    @PostMapping("/api/editStatus")
+    public String editStatus(@RequestBody TranTaskInfo tranTaskInfo){
+        return tranTaskInfoService.editStatus(tranTaskInfo.getId());
+    }
+
+
+    /**
+     * 根据仓库类型选库名
+     * @param compId,warehouseType
+     * @return
+     */
+    @GetMapping("/selectWarehouseList")
+    public List<WarehouseBaseInfo> selectWarehouseList(String compId,String warehouseType) {
+        return tranTaskInfoService.selectWarehouseList(compId,warehouseType);
+    }
+}
+

+ 40 - 11
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehouseBaseInfoController.java

@@ -2,6 +2,7 @@ package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
 
+import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseView;
 import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseBaseInfoService;
@@ -32,6 +33,16 @@ public class WarehouseBaseInfoController {
     public String addWarehouse(@RequestBody WarehouseBaseInfo warehouseBaseInfo) {
         return warehouseBaseInfoService.addWarehouse(warehouseBaseInfo);
     }
+
+    /**
+     * 添加临时仓库
+     * @param warehouseBaseInfo
+     * @return
+     */
+    @PostMapping("/api/addTemporaryWarehouse")
+    public String addTemporaryWarehouse(@RequestBody WarehouseBaseInfo warehouseBaseInfo){
+        return warehouseBaseInfoService.addTemporaryWarehouse(warehouseBaseInfo);
+    }
     /**
      * 编辑仓库
      */
@@ -43,8 +54,8 @@ public class WarehouseBaseInfoController {
      * 查看库房下拉列表
      */
     @GetMapping("/selectWarehouse")
-    public List<WarehouseBaseInfo> selectWarehouse(String compId){
-        return warehouseBaseInfoService.selectWarehouse(compId);
+    public List<WarehouseBaseInfo> selectWarehouse(@RequestParam String compId,String warehouseType){
+        return warehouseBaseInfoService.selectWarehouse(compId,warehouseType);
     }
     /**
      * 查看库房
@@ -55,14 +66,14 @@ public class WarehouseBaseInfoController {
     }
 
     /**
-     * 仓库管理页面列表
+     * @description 仓库管理页面列表
      *
      * @param compId
      * @return
      */
     @GetMapping("/selectWarehouseViewinfo")
-    public List<WarehouseView> selectWarehouseViewinfo(String compId,String warehouseName){
-        return warehouseBaseInfoService.selectWarehouseViewinfo(compId,warehouseName);
+    public List<WarehouseView> selectWarehouseViewinfo(String compId,String warehouseName,String warehouseType){
+        return warehouseBaseInfoService.selectWarehouseViewinfo(compId,warehouseName,warehouseType);
     }
 
     /**
@@ -75,22 +86,40 @@ public class WarehouseBaseInfoController {
 
     /**
      * 查询所有库房
-     * @param compId
+     * @param compId,warehouseType
      * @return
      */
     @GetMapping("/selectAllWarehouse")
-    public List<WarehouseBaseInfo> selectAllWarehouse(String compId){
-        return warehouseBaseInfoService.selectAllWarehouse(compId);
+    public List<WarehouseBaseInfo> selectAllWarehouse(String compId,String warehouseType,String warehouseName){
+        return warehouseBaseInfoService.selectAllWarehouse(compId,warehouseType,warehouseName);
     }
 
     /**
      * 删除库房
-     * @param id
+     * @param warehouseBaseInfo
      */
     @PostMapping("/api/deleteWarehouse")
-    public void deleteWarehouse(String id){
-        warehouseBaseInfoService.deleteWarehouse(id);
+    public void deleteWarehouse(@RequestBody WarehouseBaseInfo warehouseBaseInfo){
+        warehouseBaseInfoService.deleteWarehouse(warehouseBaseInfo.getId());
     }
 
+    /**
+     * 清仓状态
+     * @param warehouseBaseInfo
+     * @return
+     */
+    @PostMapping("/api/editCleared")
+    public String editCleared(@RequestBody WarehouseBaseInfo warehouseBaseInfo){
+        return warehouseBaseInfoService.editCleared(warehouseBaseInfo.getId());
+    }
+    /**
+     * 出入库合同编号下拉列表
+     * @param compId
+     * @return
+     */
+    @GetMapping("/selectContractNoList")
+    public List<ContractManagementInfo> selectContractNoList(String compId) {
+        return warehouseBaseInfoService.selectContractNoList(compId);
+    }
 }
 

+ 69 - 4
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehouseInOutInfoController.java

@@ -1,7 +1,9 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
+import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseInOutInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.IContractManagementInfoService;
 import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseInOutInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
@@ -15,6 +17,7 @@ import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
 import java.util.List;
+
 /**
  * <p>
  * 记录出入库信息 前端控制器
@@ -28,37 +31,53 @@ import java.util.List;
 public class WarehouseInOutInfoController {
     @Autowired
     private IWarehouseInOutInfoService warehouseInOutInfoService;
+
     /**
      * 待完成页面分页列表查询
+     *
      * @param warehouseInOutInfo
      * @return
      */
     @GetMapping("/selectWarehouseInOutInfo")
-    public Page<WarehouseInOutInfo> selectWarehouseInOutInfo(@RequestBody WarehouseInOutInfo warehouseInOutInfo){
+    public Page<WarehouseInOutInfo> selectWarehouseInOutInfo(WarehouseInOutInfo warehouseInOutInfo) {
         return warehouseInOutInfoService.selectWarehouseInOutInfo(warehouseInOutInfo);
     }
 
+    /**
+     * 待完成页面分页列表查询(临时仓库)
+     *
+     * @param warehouseInOutInfo
+     * @return
+     */
+    @GetMapping("/selectWarehouseInOutInfoTemporary")
+    public Page<WarehouseInOutInfo> selectWarehouseInOutInfoTemporary(WarehouseInOutInfo warehouseInOutInfo) {
+        return warehouseInOutInfoService.selectWarehouseInOutInfoTemporary(warehouseInOutInfo);
+    }
+
     /**
      * 删除记录
+     *
      * @param example
      */
     @PostMapping("/api/deleteWarehouse")
-    public void deleteWarehouse(@RequestBody WarehouseInOutInfo example){
+    public void deleteWarehouse(@RequestBody WarehouseInOutInfo example) {
         warehouseInOutInfoService.deleteWarehouse(example.getId());
     }
 
     /**
      * 出入库
+     *
      * @param warehouseInOutInfo
      * @return
      */
-    @GetMapping("/InOutWarehouse")
-    public String InOutWarehouse (@RequestBody WarehouseInOutInfo warehouseInOutInfo) {
+    @PostMapping("/InOutWarehouse")
+    public String InOutWarehouse(@RequestBody WarehouseInOutInfo warehouseInOutInfo) {
         return warehouseInOutInfoService.InOutWarehouse(warehouseInOutInfo);
     }
 
     /**
      * 流转记录查询
+     *
      * @param warehouseInOutInfo
      * @return
      */
@@ -67,5 +86,51 @@ public class WarehouseInOutInfoController {
         return warehouseInOutInfoService.selectInfo(warehouseInOutInfo);
     }
 
+    /**
+     * 流转记录查询(临时仓库)
+     *
+     * @param warehouseInOutInfo
+     * @return
+     */
+    @GetMapping("/selectInfoTemporary")
+    public Page<WarehouseInOutInfo> selectInfoTemporary(WarehouseInOutInfo warehouseInOutInfo) {
+        return warehouseInOutInfoService.selectInfoTemporary(warehouseInOutInfo);
+    }
+
+    /**
+     * 临时仓库货名下拉列表
+     *
+     * @param baseId
+     * @return
+     */
+    @GetMapping("/selectTemporaryGoodsNameList")
+    public List<WarehouseInOutInfo> selectTemporaryGoodsNameList(String baseId) {
+        return warehouseInOutInfoService.selectTemporaryGoodsNameList(baseId);
+    }
+
+
+    /**
+     * 出入库任务新增 编辑
+     *
+     * @param warehouseInOutInfo
+     * @return
+     */
+    @PostMapping("/insertOrUpdateInOutTask")
+    public String insertOrUpdateInOutTask(@RequestBody WarehouseInOutInfo warehouseInOutInfo) {
+        return warehouseInOutInfoService.insertOrUpdateInOutTask(warehouseInOutInfo);
+    }
+
+
+    /**
+     * 判断移库编号
+     *
+     * @param moveTaskNo
+     * @return
+     */
+    @GetMapping("/selectTaskNo")
+    public boolean selectTaskNo(String moveTaskNo) {
+        return warehouseInOutInfoService.selectTaskNo(moveTaskNo);
+    }
+
 }
 

+ 11 - 6
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehouseInventoryCountInfoController.java

@@ -3,15 +3,12 @@ package com.yh.saas.plugin.yiliangyiyun.controller;
 
 import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseInventoryCountInfo;
 import com.yh.saas.plugin.yiliangyiyun.service.IContractManagementInfoService;
 import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseInventoryCountInfoService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 /**
  * <p>
@@ -39,13 +36,21 @@ public class WarehouseInventoryCountInfoController {
     }
 
     /**
-     * 盘损
+     * 根据货名查累计量
      */
     @GetMapping("/getInfo")
     public WarehouseInventoryCountInfo getInfo(WarehouseInventoryCountInfo warehouseInventoryCountInfo) {
         return warehouseInventoryCountInfoService.getInfo(warehouseInventoryCountInfo);
     }
 
+    /**
+     * 盘损
+     */
+    @PostMapping("/addInventory")
+    public String addInventory(@RequestBody WarehouseInventoryCountInfo warehouseInventoryCountInfo) {
+        return warehouseInventoryCountInfoService.addInventory(warehouseInventoryCountInfo);
+    }
+
 
 }
 

+ 18 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/controller/WarehousePositionStorageInfoController.java

@@ -1,10 +1,17 @@
 package com.yh.saas.plugin.yiliangyiyun.controller;
 
 
+import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.WarehousePositionStorageInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.IWarehousePositionStorageInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
+import java.util.List;
+
 /**
  * <p>
  * 记录仓库仓位储存信息 前端控制器
@@ -17,5 +24,16 @@ import org.springframework.web.bind.annotation.RestController;
 @RequestMapping("/warehousePositionStorageInfo")
 public class WarehousePositionStorageInfoController {
 
+    @Autowired
+    private IWarehousePositionStorageInfoService warehousePositionStorageInfoService;
+    /**
+     * 盘损货名下拉列表
+     * @param positionId
+     * @return
+     */
+    @GetMapping("/selectGoodsName")
+    public List<WarehousePositionStorageInfo> selectGoodsName(String positionId){
+        return warehousePositionStorageInfoService.selectGoodsName(positionId);
+    }
 }
 

+ 8 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/CommonSysParameter.java

@@ -67,4 +67,12 @@ public class CommonSysParameter extends BaseModel<CommonSysParameter> {
         return this.id;
     }
 
+    public static class QueryFiles {
+
+        public static final String CONST_ID = "const_id";
+
+        public static final String SORT = "sort";
+
+    }
+
 }

+ 7 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/ContractGoodsInfo.java

@@ -88,4 +88,11 @@ public class ContractGoodsInfo extends BaseModel<ContractGoodsInfo> {
         return this.id;
     }
 
+
+    public static class QueryFiles {
+
+        public static final String CONTRACT_ID = "contract_id";
+
+
+    }
 }

+ 55 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/ContractManagementInfo.java

@@ -49,6 +49,10 @@ public class ContractManagementInfo extends BaseModel<ContractManagementInfo> {
      * 合同类型(1销售2采购)
      */
     private String contractType;
+    /**
+     * 交货方式(1我方自提2对方送货)
+     */
+    private String deliverType;
     /**
      * 运输方式
      */
@@ -73,10 +77,34 @@ public class ContractManagementInfo extends BaseModel<ContractManagementInfo> {
      * 卖方电话
      */
     private String sellerPhone;
+    /**
+     * 货源地省
+     */
+    private String sourceProvince;
+    /**
+     * 货源地市
+     */
+    private String sourceCity;
+    /**
+     * 货源地区
+     */
+    private String sourceArea;
     /**
      * 货源地
      */
     private String sourceGoods;
+    /**
+     * 交货地省
+     */
+    private String deliveryProvince;
+    /**
+     * 交货地市
+     */
+    private String deliveryCity;
+    /**
+     * 交货地区
+     */
+    private String deliveryArea;
     /**
      * 交货地
      */
@@ -163,6 +191,10 @@ public class ContractManagementInfo extends BaseModel<ContractManagementInfo> {
      * 备注
      */
     private String remarks;
+    /**
+     * 最终实际交易量
+     */
+    private Float finalTradingVolume;
 
     /**
      * 货名
@@ -186,6 +218,18 @@ public class ContractManagementInfo extends BaseModel<ContractManagementInfo> {
      */
     @TableField(exist = false)
     private Float mildewGrain;
+    /**
+     * 负责人key
+     */
+    private String personChargeKey;
+    /**
+     * 负责人
+     */
+    private String personCharge;
+    /**
+     * 负责人电话
+     */
+    private String personPhone;
     /**
      * 模糊查询
      */
@@ -223,4 +267,15 @@ public class ContractManagementInfo extends BaseModel<ContractManagementInfo> {
         return this.id;
     }
 
+
+    public static class QueryFiles {
+
+        public static final String COMP_ID = "comp_id";
+
+        public static final String CONTRACT_NO = "contract_no";
+
+        public static final String DELETE_FLAG = "delete_flag";
+
+    }
+
 }

+ 81 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/DriverCarInfo.java

@@ -0,0 +1,81 @@
+package com.yh.saas.plugin.yiliangyiyun.entity;
+
+import com.baomidou.mybatisplus.activerecord.Model;
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.annotations.Version;
+
+import com.baomidou.mybatisplus.enums.IdType;
+import com.yh.saas.common.support.entity.BaseModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 记录货车信息
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-29
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("driver_car_info")
+public class DriverCarInfo extends BaseModel<DriverCarInfo> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.UUID)
+    private String id;
+    /**
+     * 司机id
+     */
+    private String driverId;
+    /**
+     * 车牌号
+     */
+    private String carNumber;
+    /**
+     * 车型key
+     */
+    private String carModelKey;
+    /**
+     * 车型
+     */
+    private String carModel;
+    /**
+     * 车长key
+     */
+    private String carLengthKey;
+    /**
+     * 车长
+     */
+    private Float carLength;
+    /**
+     * 载重
+     */
+    private Float carLoad;
+    /**
+     * 出厂年份
+     */
+    private String yearManufacture;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+    public static class QueryFiles {
+
+        public static final String DRIVER_ID = "driver_id";
+
+        public static final String DELETE_FLAG = "delete_flag";
+    }
+}

+ 95 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/DriverPayeeInfo.java

@@ -0,0 +1,95 @@
+package com.yh.saas.plugin.yiliangyiyun.entity;
+
+import com.baomidou.mybatisplus.activerecord.Model;
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.annotations.Version;
+
+import com.baomidou.mybatisplus.enums.IdType;
+import com.yh.saas.common.support.entity.BaseModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 记录收款账户信息
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-29
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("driver_payee_info")
+public class DriverPayeeInfo extends BaseModel<DriverPayeeInfo> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.UUID)
+    private String id;
+    /**
+     * 司机id
+     */
+    private String driverId;
+    /**
+     * 账户类型标识(1:私人,2:企业)
+     */
+    private String accountTypeFlag;
+    /**
+     * 账户类型
+     */
+    private String accountType;
+    /**
+     * 银行卡账号
+     */
+    private String bankCard;
+    /**
+     * 开户行
+     */
+    private String bankDeposit;
+    /**
+     * 开户支行
+     */
+    private String bankDepositBranch;
+    /**
+     * 收款人姓名
+     */
+    private String payeeName;
+    /**
+     * 收款人身份证号码
+     */
+    private String payeeNumberCard;
+    /**
+     * 企业名称
+     */
+    private String compName;
+    /**
+     * 银行卡附件地址
+     */
+    private String payeeAddressUrl;
+    /**
+     * 身份证附件地址
+     */
+    private String cardAddressUrl;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+    public static class QueryFiles {
+
+        public static final String DRIVER_ID = "driver_id";
+
+        public static final String DELETE_FLAG = "delete_flag";
+
+        public static final String PAYEE_NUMBER_CARD = "payee_number_card";
+    }
+}

+ 104 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/DriverViewInfo.java

@@ -0,0 +1,104 @@
+package com.yh.saas.plugin.yiliangyiyun.entity;
+
+
+import java.io.Serializable;
+import java.util.List;
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.yh.saas.common.support.entity.BaseModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 记录司机信息
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-29
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("driver_view_info")
+public class DriverViewInfo extends BaseModel<DriverViewInfo> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.UUID)
+    private String id;
+    /**
+     * 公司id
+     */
+    private String compId;
+    /**
+     * 司机姓名
+     */
+    private String driverName;
+    /**
+     * 司机电话
+     */
+    private String driverPhone;
+    /**
+     * 常驻城市省级
+     */
+    private String residentCityProvincial;
+    /**
+     * 常驻城市市级
+     */
+    private String residentCityMunicipal;
+    /**
+     * 附件地址
+     */
+    private String addressUrl;
+    /**
+     * 司机身份证号码
+     */
+    private String numberCard;
+    /**
+     * 司机年龄
+     */
+    private String driverAge;
+    /**
+     * 禁用标识(1:已禁用,0:没禁用)
+     */
+    private String disableStatusFlag;
+    /**
+     * 禁用原因
+     */
+    private String disableReasons;
+
+    /**
+     * 模糊查询
+     */
+    @TableField(exist = false)
+    private String searchKeyWord;
+
+    @TableField(exist = false)
+    private List<DriverCarInfo> driverCarInfoList;
+
+    @TableField(exist = false)
+    private List<DriverPayeeInfo> driverPayeeInfoList;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+    public static class QueryFiles {
+
+        public static final String COMP_ID = "comp_id";
+
+        public static final String DELETE_FLAG = "delete_flag";
+
+        public static final String DRIVER_NAME = "driver_name";
+
+        public static final String NUMBER_CARD = "number_card";
+    }
+}

+ 179 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/TranCarInfo.java

@@ -0,0 +1,179 @@
+package com.yh.saas.plugin.yiliangyiyun.entity;
+
+import java.util.Date;
+import com.baomidou.mybatisplus.activerecord.Model;
+import java.io.Serializable;
+import java.util.List;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.annotations.Version;
+
+import com.baomidou.mybatisplus.enums.IdType;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yh.saas.common.support.entity.BaseModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * <p>
+ * 记录车次
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-31
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("tran_car_info")
+public class TranCarInfo extends BaseModel<TranCarInfo> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.UUID)
+    private String id;
+    /**
+     * 运输任务id
+     */
+    private String infoId;
+    /**
+     * 运输阶段id
+     */
+    private String processId;
+    /**
+     * 运输方式(1汽运2火运3船运)
+     */
+    private String tranType;
+    /**
+     * 司机姓名/联络员姓名
+     */
+    private String driver;
+    /**
+     * 临时司机标识(1是)
+     */
+    private String temporaryDriverFlag;
+    /**
+     * 司机电话/联络员电话
+     */
+    private String driverPhone;
+    /**
+     * 车牌号
+     */
+    private String carNo;
+    /**
+     * 车次
+     */
+    private String trainNo;
+    /**
+     * 航次
+     */
+    private String shipNo;
+    /**
+     * 车型
+     */
+    private String carModel;
+    /**
+     * 车长
+     */
+    private Float carLength;
+    /**
+     * 载重
+     */
+    private Float loadWeight;
+    /**
+     * 船名
+     */
+    private String shipName;
+    /**
+     * 装车净重
+     */
+    private Float loadNetWeight;
+    /**
+     * 卸车净重
+     */
+    private Float unloadNetWeight;
+    /**
+     * 装车磅单
+     */
+    private String loadPoundImg;
+    /**
+     * 卸车磅单
+     */
+    private String unloadPoundImg;
+    /**
+     * 车厢号
+     */
+    private String boxNo;
+    /**
+     * 船运类型
+     */
+    private String shipType;
+    /**
+     * 集装箱数量
+     */
+    private Integer boxNumber;
+    /**
+     * 签订状态
+     */
+    private String signStatus;
+    /**
+     * 签订状态标识(1未签合同3已签合同)
+     */
+    private String signStatusFlag;
+    /**
+     * 仓位重量
+     */
+    private String positionWeight;
+    /**
+     * 发车日期/发船日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date sendDateStart;
+    /**
+     * 到站日期/到港日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date receiveDateEnd;
+    /**
+     * 状态标识
+     */
+    private String statusFlag;
+    /**
+     * 状态
+     */
+    private String status;
+    /**
+     * 状态英文
+     */
+    private String statusEn;
+
+
+    @TableField(exist = false)
+    private List<DriverViewInfo> driverViewInfoList;
+    @TableField(exist = false)
+    private List<TranCarInfo> tranCarInfoList;
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+    public static class QueryFiles {
+
+
+        public static final String INFO_ID = "info_id";
+
+        public static final String DELETE_FLAG = "delete_flag";
+
+        public static final String PROCESS_ID = "process_id";
+
+    }
+}

+ 232 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/TranProcessInfo.java

@@ -0,0 +1,232 @@
+package com.yh.saas.plugin.yiliangyiyun.entity;
+
+import java.util.Date;
+import com.baomidou.mybatisplus.activerecord.Model;
+import java.io.Serializable;
+import java.util.List;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.annotations.Version;
+
+import com.baomidou.mybatisplus.enums.IdType;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.yh.saas.common.support.entity.BaseModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
+
+/**
+ * <p>
+ * 记录调度
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-31
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("tran_process_info")
+public class TranProcessInfo extends BaseModel<TranProcessInfo> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.UUID)
+    private String id;
+    /**
+     * 运输任务id
+     */
+    private String infoId;
+    /**
+     * 运输阶段编号
+     */
+    private String processNo;
+    /**
+     * 货名key
+     */
+    private String goodsNameKey;
+    /**
+     * 货名
+     */
+    private String goodsName;
+    /**
+     * 重量(吨)
+     */
+    private Float weight;
+    /**
+     * 运输方式key
+     */
+    private String tranTypeKey;
+    /**
+     * 运输方式(1汽运2火运3船运)
+     */
+    private String tranType;
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+    /**
+     * 发货日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date deliveryDateStart;
+    /**
+     * 最晚到货日期
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date deliveryDateEnd;
+    /**
+     * 发货地省
+     */
+    private String sendPrivate;
+    /**
+     * 发货地市
+     */
+    private String sendCity;
+    /**
+     * 发货地区
+     */
+    private String sendArea;
+    /**
+     * 发货地详细地址
+     */
+    private String sendDetailedAddress;
+    /**
+     * 收货地省
+     */
+    private String receivePrivate;
+    /**
+     * 收货地市
+     */
+    private String receiveCity;
+    /**
+     * 收货地区
+     */
+    private String receiveArea;
+    /**
+     * 收货地详细地址
+     */
+    private String receiveDetailedAddress;
+    /**
+     * 发货人
+     */
+    private String sender;
+    /**
+     * 收货人
+     */
+    private String receiver;
+    /**
+     * 发货人电话
+     */
+    private String senderPhone;
+    /**
+     * 收货人电话
+     */
+    private String receiverPhone;
+    /**
+     * 签到数
+     */
+    private Long signCount;
+    /**
+     * 反馈状态标识(1执行中3已完成)
+     */
+    private String feedbackStatusFlag;
+    /**
+     * 反馈状态
+     */
+    private String feedbackStatus;
+    /**
+     * 接单时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    private Date receivingDate;
+    /**
+     * 状态标识
+     */
+    private String statusFlag;
+    /**
+     * 状态
+     */
+    private String status;
+    /**
+     * 状态英文
+     */
+    private String statusEn;
+    /**
+     * 最终阶段标识(1是)
+     */
+    private String endFlag;
+    /**
+     * 顺序
+     */
+    private Integer sort;
+
+    /**
+     * 发货
+     */
+    @TableField(exist = false)
+    private String send;
+
+    /**
+     * 收货
+     */
+    @TableField(exist = false)
+    private String receive;
+
+    /**
+     * 运输周期
+     */
+    @TableField(exist = false)
+    private String tranCycle;
+
+    /**
+     * 查询类型
+     */
+    @TableField(exist = false)
+    private String searchType;
+
+    /**
+     * 模糊查询
+     */
+    @TableField(exist = false)
+    private String searchKeyWord;
+    /**
+     * 开始时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private Date startDate;
+    /**
+     * 结束时间
+     */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
+    @TableField(exist = false)
+    private Date endDate;
+
+    @TableField(exist = false)
+    private List<TranCarInfo> tranCarInfoList;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+    public static class QueryFiles {
+
+
+        public static final String INFO_ID = "info_id";
+
+        public static final String DELETE_FLAG = "delete_flag";
+    }
+}

+ 176 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/TranTaskInfo.java

@@ -0,0 +1,176 @@
+package com.yh.saas.plugin.yiliangyiyun.entity;
+
+
+import java.io.Serializable;
+import java.util.List;
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableId;
+import com.baomidou.mybatisplus.annotations.TableName;
+import com.baomidou.mybatisplus.enums.IdType;
+import com.yh.saas.common.support.entity.BaseModel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 记录运输任务
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-31
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+@Accessors(chain = true)
+@TableName("tran_task_info")
+public class TranTaskInfo extends BaseModel<TranTaskInfo> {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键
+     */
+    @TableId(type = IdType.UUID)
+    private String id;
+    /**
+     * 公司id
+     */
+    private String compId;
+    /**
+     * 运输任务编号
+     */
+    private String taskNo;
+    /**
+     * 合同编号
+     */
+    private String contractNo;
+    /**
+     * 任务类型key
+     */
+    private String taskTypeKey;
+    /**
+     * 任务类型
+     */
+    private String taskType;
+    /**
+     * 货名key
+     */
+    private String goodsNameKey;
+    /**
+     * 货名
+     */
+    private String goodsName;
+    /**
+     * 重量(吨)
+     */
+    private Float weight;
+    /**
+     * 发货库类型(1常用仓库2临时仓库)
+     */
+    private String warehouseType;
+    /**
+     * 发货库点
+     */
+    private String sendWarehouse;
+    /**
+     * 收货库点
+     */
+    private String receiveWarehouse;
+    /**
+     * 始发地省
+     */
+    private String startPrivate;
+    /**
+     * 始发地市
+     */
+    private String startCity;
+    /**
+     * 始发地区
+     */
+    private String startArea;
+    /**
+     * 始发地详细地址
+     */
+    private String startDetailedAddress;
+    /**
+     * 终到地省
+     */
+    private String endPrivate;
+    /**
+     * 终到地市
+     */
+    private String endCity;
+    /**
+     * 终到地区
+     */
+    private String endArea;
+    /**
+     * 终到地详细地址
+     */
+    private String endDetailedAddress;
+    /**
+     * 当前中转地址
+     */
+    private String currentTransferAddress;
+    /**
+     * 运输方式(1汽运2火运3船运)
+     */
+    private String tranType;
+    /**
+     * 状态标识
+     */
+    private String statusFlag;
+    /**
+     * 状态
+     */
+    private String status;
+    /**
+     * 状态英文
+     */
+    private String statusEn;
+
+    /**
+     * 模糊查询
+     */
+    @TableField(exist = false)
+    private String searchKeyWord;
+
+    /**
+     *查询类型
+     */
+    @TableField(exist = false)
+    private String searchType;
+
+    /**
+     *起点
+     */
+    @TableField(exist = false)
+    private String start;
+
+    /**
+     *终点
+     */
+    @TableField(exist = false)
+    private String end;
+
+
+    @TableField(exist = false)
+    private List<TranProcessInfo> tranProcessInfoList;
+
+    @TableField(exist = false)
+    private List<TranCarInfo> tranCarInfoList;
+
+    @Override
+    protected Serializable pkVal() {
+        return this.id;
+    }
+    public static class QueryFiles {
+
+        public static final String COMP_ID = "comp_id";
+
+        public static final String TASK_NO = "task_no";
+
+        public static final String DELETE_FLAG = "delete_flag";
+    }
+}

+ 36 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehouseBaseInfo.java

@@ -44,6 +44,26 @@ public class WarehouseBaseInfo extends BaseModel<WarehouseBaseInfo> {
      * 仓库名称
      */
     private String warehouseName;
+    /**
+     * 仓库类型(1 常用仓库 2 临时仓库)
+     */
+    private String warehouseType;
+    /**
+     * 创建临时仓库方式(1 自动 2 手动)
+     */
+    private String createType;
+    /**
+     * 清仓状态标识
+     */
+    private String clearStatusFlag;
+    /**
+     * 清仓状态
+     */
+    private String clearStatus;
+    /**
+     * 负责人key
+     */
+    private String personChargeKey;
     /**
      * 负责人
      */
@@ -99,4 +119,20 @@ public class WarehouseBaseInfo extends BaseModel<WarehouseBaseInfo> {
         return this.id;
     }
 
+
+    public static class QueryFiles {
+
+        public static final String COMP_ID = "comp_id";
+
+        public static final String WAREHOUSE_NAME = "warehouse_name";
+
+        public static final String WAREHOUSE_TYPE = "warehouse_type";
+
+        public static final String UPDATE_DATE = "update_date";
+
+        public static final String SHOW_FLAG = "show_flag";
+
+        public static final String DELETE_FLAG = "delete_flag";
+
+    }
 }

+ 56 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehouseInOutInfo.java

@@ -8,10 +8,12 @@ import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 
 import com.baomidou.mybatisplus.enums.IdType;
+import com.fasterxml.jackson.annotation.JsonFormat;
 import com.yh.saas.common.support.entity.BaseModel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
+import org.springframework.format.annotation.DateTimeFormat;
 
 /**
  * <p>
@@ -50,6 +52,22 @@ public class WarehouseInOutInfo extends BaseModel<WarehouseInOutInfo> {
      * 仓位编号
      */
     private String binNumber;
+    /**
+     * 任务类型key
+     */
+    private String taskTypeKey;
+    /**
+     * 任务类型
+     */
+    private String taskType;
+    /**
+     * 任务状态key
+     */
+    private String taskStatusKey;
+    /**
+     * 任务状态
+     */
+    private String taskStatus;
     /**
      * 出入库标识(出库1入库2)
      */
@@ -82,6 +100,10 @@ public class WarehouseInOutInfo extends BaseModel<WarehouseInOutInfo> {
      * 品级
      */
     private String grade;
+    /**
+     * 经办人key
+     */
+    private String agentKey;
     /**
      * 经办人
      */
@@ -89,6 +111,8 @@ public class WarehouseInOutInfo extends BaseModel<WarehouseInOutInfo> {
     /**
      * 入库日期(出库)
      */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date inOutDate;
     /**
      * 出入库类型key
@@ -98,10 +122,22 @@ public class WarehouseInOutInfo extends BaseModel<WarehouseInOutInfo> {
      * 出入库类型
      */
     private String inOutType;
+    /**
+     * 临时仓库出库类型key
+     */
+    private String temporaryOutTypeKey;
+    /**
+     * 临时仓库出库类型
+     */
+    private String temporaryOutType;
     /**
      * 车牌号
      */
     private String carNo;
+    /**
+     * 出库合同编号
+     */
+    private String outContractNo;
     /**
      * 合同编号
      */
@@ -118,10 +154,18 @@ public class WarehouseInOutInfo extends BaseModel<WarehouseInOutInfo> {
      * 状态
      */
     private String status;
+    /**
+     * 内勤ID
+     */
+    private String backOfficeId;
     /**
      * 内勤
      */
     private String backOffice;
+    /**
+     * 移库任务编号
+     */
+    private String moveTaskNo;
 
 
     @TableField(exist = false)
@@ -174,4 +218,16 @@ public class WarehouseInOutInfo extends BaseModel<WarehouseInOutInfo> {
         return this.id;
     }
 
+
+    public static class QueryFiles {
+
+        public static final String BASE_ID = "base_id";
+
+        public static final String MOVE_TASK_NO = "move_task_no";
+
+        public static final String DELETE_FLAG = "delete_flag";
+
+
+
+    }
 }

+ 7 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehouseInventoryCountInfo.java

@@ -3,6 +3,7 @@ package com.yh.saas.plugin.yiliangyiyun.entity;
 import com.baomidou.mybatisplus.activerecord.Model;
 import java.io.Serializable;
 
+import com.baomidou.mybatisplus.annotations.TableField;
 import com.baomidou.mybatisplus.annotations.TableId;
 import com.baomidou.mybatisplus.annotations.TableName;
 import com.baomidou.mybatisplus.annotations.Version;
@@ -50,6 +51,10 @@ public class WarehouseInventoryCountInfo extends BaseModel<WarehouseInventoryCou
      * 仓位编号
      */
     private String binNumber;
+    /**
+     * 经办人key
+     */
+    private String qualityInspectorKey;
     /**
      * 经办人
      */
@@ -87,7 +92,8 @@ public class WarehouseInventoryCountInfo extends BaseModel<WarehouseInventoryCou
      */
     private String inventoryRatio;
 
-
+    @TableField(exist = false)
+    private WarehousePositionStorageInfo warehousePositionStorageInfo;
 
     @Override
     protected Serializable pkVal() {

+ 5 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/WarehousePositionInfo.java

@@ -55,6 +55,11 @@ public class WarehousePositionInfo extends BaseModel<WarehousePositionInfo> {
      * 备注
      */
     private String remark;
+    /**
+     * 详细储量
+     */
+    @TableField(exist = false)
+    private String detailStorage;
 
 
 

+ 23 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/view/ConfigDO.java

@@ -0,0 +1,23 @@
+package com.yh.saas.plugin.yiliangyiyun.entity.view;
+
+import com.baomidou.mybatisplus.annotations.TableField;
+import com.baomidou.mybatisplus.annotations.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * @Author:chengchangjiang
+ * @Description: 配置实体类
+ * @Date:Created in 2021年3月23日09:27:01
+ */
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class ConfigDO  {
+    /* 关键字 */
+    private String keyWord;
+    /* 值 */
+    private String valueWorth;
+}

+ 19 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/view/DistinguishView.java

@@ -0,0 +1,19 @@
+package com.yh.saas.plugin.yiliangyiyun.entity.view;
+
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class DistinguishView {
+
+    private String bankNo;
+    private String bankName;
+    private List<String> bankNameZhihang;
+    private String bankPhone;
+    private String bankBranch;
+    private String recPerson;
+    private String recPersonNo;
+
+}

+ 23 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/view/WarehouseNumView.java

@@ -0,0 +1,23 @@
+package com.yh.saas.plugin.yiliangyiyun.entity.view;
+
+import lombok.Data;
+
+@Data
+public class WarehouseNumView {
+    /**
+     * 品种
+     */
+    private String goodsName;
+    /**
+     * 入库量
+     */
+    private String inNetWeight;
+    /**
+     * 出库量
+     */
+    private String outNetWeight;
+    /**
+     * 应余量
+     */
+    private String storage;
+}

+ 33 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/entity/view/WarehouseView.java

@@ -2,6 +2,9 @@ package com.yh.saas.plugin.yiliangyiyun.entity.view;
 
 import lombok.Data;
 
+import java.util.Date;
+import java.util.List;
+
 @Data
 public class WarehouseView {
     /**
@@ -40,4 +43,34 @@ public class WarehouseView {
      * 待完成数
      */
     private int number;
+    /**
+     * 库存数量
+     */
+    private List<WarehouseNumView> warehouseNumViewList;
+    /**
+     * 备注
+     */
+    private String remark;
+    /**
+     * 临时仓库地址
+     */
+    private String address;
+    /**
+     * 创建临时仓库方式(1 自动 2 手动)
+     */
+    private String createType;
+    /**
+     * 清仓状态标识
+     */
+    private String clearStatusFlag;
+    /**
+     * 清仓状态
+     */
+    private String clearStatus;
+    /**
+     * 待完成数(出库)
+     */
+    private int outNumber;
+
+    private Date updateDate;
 }

+ 9 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/exception/YExceptionEnum.java

@@ -13,11 +13,19 @@ public enum YExceptionEnum {
 	WAREHOSE_SYSTEM_ERROR("ERROR", "现有库存不为0,不可删除!"),
 	CONTRACT_NO_ERROR("ERROR", "合同编号已存在,不可重复!"),
 	WAREHOUSE_NO_ERROR("ERROR","仓库不存在"),
+	WAREHOUSE_NAME_ERROR("ERROR", "仓库名称已存在,不可重复!"),
 	POSITION_NO_ERROR("ERROR","库位不存在"),
 	POSITIONSTORAGE_NO_ERROR("ERROR","没有储存量"),
 	INVENTORY_NO_ERROR("ERROR","出库量大于库存量"),
-	;
+	TASK_NO_ERROR("ERROR","任务编号已存在,不可重复!"),
+	TRAN_PROCESS_SORT_ERROR("ERROR","多阶段任务,不可删除!"),
+	TRAN_PROCESS_ERROR("ERROR","运输阶段已完成,不可修改!"),
+	WAREHOUSE_NO_CLEARED("ERROR","还有未完成记录,不可以清仓!"),
+	DRIVER_PHONE_ERROR("ERROR", "司机手机号重复,不可添加!"),
+	DRIVER_NUMBER_ERROR("ERROR", "司机身份证号重复,不可添加!"),
+	PAYEE_NUMBER_ERROR("ERROR", "收款人身份证号重复,不可添加!")
 
+	;
 	@Getter
 	private String value;
 

+ 16 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/DriverCarInfoMapper.java

@@ -0,0 +1,16 @@
+package com.yh.saas.plugin.yiliangyiyun.mapper;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.DriverCarInfo;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 记录货车信息 Mapper 接口
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-29
+ */
+public interface DriverCarInfoMapper extends BaseMapper<DriverCarInfo> {
+
+}

+ 16 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/DriverPayeeInfoMapper.java

@@ -0,0 +1,16 @@
+package com.yh.saas.plugin.yiliangyiyun.mapper;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.DriverPayeeInfo;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 记录收款账户信息 Mapper 接口
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-29
+ */
+public interface DriverPayeeInfoMapper extends BaseMapper<DriverPayeeInfo> {
+
+}

+ 34 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/DriverViewInfoMapper.java

@@ -0,0 +1,34 @@
+package com.yh.saas.plugin.yiliangyiyun.mapper;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.DriverViewInfo;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 记录司机信息 Mapper 接口
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-29
+ */
+public interface DriverViewInfoMapper extends BaseMapper<DriverViewInfo> {
+
+    /**
+     * 根据条件查询司机总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getCountByCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询司机列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<DriverViewInfo> getListByCondition(Map<String, Object> pageView);
+}

+ 16 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/TranCarInfoMapper.java

@@ -0,0 +1,16 @@
+package com.yh.saas.plugin.yiliangyiyun.mapper;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.TranCarInfo;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+/**
+ * <p>
+ * 记录车次 Mapper 接口
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-31
+ */
+public interface TranCarInfoMapper extends BaseMapper<TranCarInfo> {
+
+}

+ 34 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/TranProcessInfoMapper.java

@@ -0,0 +1,34 @@
+package com.yh.saas.plugin.yiliangyiyun.mapper;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.TranCarInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.TranProcessInfo;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 记录调度 Mapper 接口
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-31
+ */
+public interface TranProcessInfoMapper extends BaseMapper<TranProcessInfo> {
+    /**
+     * 根据条件查询汽运调度总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getCountByCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询汽运调度列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<TranProcessInfo> getListByCondition(Map<String, Object> pageView);
+}

+ 34 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/TranTaskInfoMapper.java

@@ -0,0 +1,34 @@
+package com.yh.saas.plugin.yiliangyiyun.mapper;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.TranTaskInfo;
+import com.baomidou.mybatisplus.mapper.BaseMapper;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 记录运输任务 Mapper 接口
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-31
+ */
+public interface TranTaskInfoMapper extends BaseMapper<TranTaskInfo> {
+
+    /**
+     * 根据条件查询运输任务总数
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getCountByCondition(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询运输任务列表
+     *
+     * @param pageView
+     * @return
+     */
+    List<TranTaskInfo> getListByCondition(Map<String, Object> pageView);
+}

+ 15 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/mapper/WarehouseInOutInfoMapper.java

@@ -31,5 +31,20 @@ public interface WarehouseInOutInfoMapper extends BaseMapper<WarehouseInOutInfo>
      * @return
      */
     List<WarehouseInOutInfo> getListByCondition(Map<String, Object> pageView);
+    /**
+     * 根据条件流转记录总数(临时仓库)
+     *
+     * @param pageView
+     * @return
+     */
+    Integer getCountByConditionTemporary(Map<String, Object> pageView);
+
+    /**
+     * 根据条件查询流转记录列表(临时仓库)
+     *
+     * @param pageView
+     * @return
+     */
+    List<WarehouseInOutInfo> getListByConditionTemporary(Map<String, Object> pageView);
 
 }

+ 31 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IDriverCarInfoService.java

@@ -0,0 +1,31 @@
+package com.yh.saas.plugin.yiliangyiyun.service;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.DriverCarInfo;
+import com.baomidou.mybatisplus.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 记录货车信息 服务类
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-29
+ */
+public interface IDriverCarInfoService extends IService<DriverCarInfo> {
+
+    /**
+     * 删除货车信息
+     * @param id
+     */
+    void deleteDriverCar(String id);
+
+    /**
+     * 查看车牌下拉列表
+     *
+     * @param driverId
+     * @return
+     */
+    List<DriverCarInfo> selectCarNumber(String driverId);
+}

+ 21 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IDriverPayeeInfoService.java

@@ -0,0 +1,21 @@
+package com.yh.saas.plugin.yiliangyiyun.service;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.DriverPayeeInfo;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+ * <p>
+ * 记录收款账户信息 服务类
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-29
+ */
+public interface IDriverPayeeInfoService extends IService<DriverPayeeInfo> {
+
+    /**
+     * 删除收款人信息
+     * @param id
+     */
+    void deleteDriverPayee(String id);
+}

+ 72 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IDriverViewInfoService.java

@@ -0,0 +1,72 @@
+package com.yh.saas.plugin.yiliangyiyun.service;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.DriverCarInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.DriverViewInfo;
+import com.baomidou.mybatisplus.service.IService;
+import com.baomidou.mybatisplus.plugins.Page;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 记录司机信息 服务类
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-29
+ */
+public interface IDriverViewInfoService extends IService<DriverViewInfo> {
+    /**
+    * 添加信息
+    *
+    * @param driverViewInfo
+    */
+    String addInfo(DriverViewInfo driverViewInfo);
+
+    /**
+     *司机管理页面列表
+     */
+    Page<DriverViewInfo> selectDriverInfoPage(DriverViewInfo driverViewInfo);
+
+    /**
+     *查看司机信息
+     */
+    DriverViewInfo getDriver (String id);
+
+    /**
+     *删除司机信息
+     */
+    void deleteDriver(String id);
+
+    /**
+     *  编辑信息
+     *
+     * @param driverViewInfo
+     */
+    String editInfo(DriverViewInfo driverViewInfo);
+
+    /**
+     * 禁用
+     *
+     * @param driverViewInfo
+     */
+    String editDisableInfo(DriverViewInfo driverViewInfo);
+
+    /**
+     * 查看司机姓名电话下拉列表
+     *
+     * @param compId
+     * @return
+     */
+    List<DriverViewInfo> selectDriverName(String compId);
+
+    /**
+     * 根据姓名查电话、根据电话查姓名
+     *
+     * @param id
+     * @return
+     */
+    DriverCarInfo selectDriverDetail(String id);
+
+
+}

+ 16 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ITranCarInfoService.java

@@ -0,0 +1,16 @@
+package com.yh.saas.plugin.yiliangyiyun.service;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.TranCarInfo;
+import com.baomidou.mybatisplus.service.IService;
+
+/**
+ * <p>
+ * 记录车次 服务类
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-31
+ */
+public interface ITranCarInfoService extends IService<TranCarInfo> {
+
+}

+ 55 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ITranProcessInfoService.java

@@ -0,0 +1,55 @@
+package com.yh.saas.plugin.yiliangyiyun.service;
+
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.TranCarInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.TranProcessInfo;
+import com.baomidou.mybatisplus.service.IService;
+import com.yh.saas.plugin.yiliangyiyun.entity.TranTaskInfo;
+
+/**
+ * <p>
+ * 记录调度 服务类
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-31
+ */
+public interface ITranProcessInfoService extends IService<TranProcessInfo> {
+    /**
+     * 汽运调度分页列表查询
+     *
+     * @param tranProcessInfo
+     * @return
+     */
+    Page<TranProcessInfo> selectTranProcessInfo(TranProcessInfo tranProcessInfo);
+
+    /**
+     * 更改状态
+     *
+     * @param id
+     * @return
+     */
+    String editStatus(String id);
+    /**
+     * 查看运输调度
+     * @param id
+     * @return
+     */
+    TranProcessInfo getTranProcess (String id);
+    /**
+     * 派车
+     *
+     * @param tranProcessInfo
+     * @return
+     */
+    String insertTranCar(TranProcessInfo tranProcessInfo);
+
+    /**
+     * 更改反馈状态
+     *
+     * @param id
+     * @return
+     */
+    String editFeedbackStatus(String id);
+
+}

+ 72 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/ITranTaskInfoService.java

@@ -0,0 +1,72 @@
+package com.yh.saas.plugin.yiliangyiyun.service;
+
+
+import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.TranTaskInfo;
+import com.baomidou.mybatisplus.service.IService;
+import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 记录运输任务 服务类
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-31
+ */
+public interface ITranTaskInfoService extends IService<TranTaskInfo> {
+
+    /**
+     * 创建运输任务
+     * @param tranTaskInfo
+     * @return
+     */
+    String addTranTask(TranTaskInfo tranTaskInfo);
+
+    /**
+     * 查看运输任务
+     * @param id
+     * @return
+     */
+    TranTaskInfo getTranTask (String id);
+
+    /**
+     * 删除运输任务
+     * @param id
+     * @return
+     */
+    void deleteTranTask(String id);
+
+    /**
+     * 编辑运输任务
+     * @param tranTaskInfo
+     * @return
+     */
+    String editTranTask(TranTaskInfo tranTaskInfo);
+
+    /**
+     * 运输管理页面
+     * @param tranTaskInfo
+     * @return
+     */
+    Page<TranTaskInfo> selectTranTaskInfoPage(TranTaskInfo tranTaskInfo);
+
+    /**
+     * 更改状态
+     * @param id
+     * @return
+     */
+    String editStatus(String id);
+
+
+    /**
+     * 根据仓库类型选库名
+     *
+     * @param compId
+     */
+    List<WarehouseBaseInfo> selectWarehouseList(String compId, String warehouseType);
+
+}

+ 23 - 3
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseBaseInfoService.java

@@ -1,5 +1,6 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 
+import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.baomidou.mybatisplus.service.IService;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseView;
@@ -22,6 +23,12 @@ public interface IWarehouseBaseInfoService extends IService<WarehouseBaseInfo> {
      */
     String addWarehouse(WarehouseBaseInfo warehouseBaseInfo);
 
+    /**
+     * 添加临时仓库
+     * @param warehouseBaseInfo
+     * @return
+     */
+    String addTemporaryWarehouse(WarehouseBaseInfo warehouseBaseInfo);
 
     /**
      * 编辑仓库
@@ -33,7 +40,7 @@ public interface IWarehouseBaseInfoService extends IService<WarehouseBaseInfo> {
      * @param compId
      * @return
      */
-    List<WarehouseBaseInfo> selectWarehouse(String compId);
+    List<WarehouseBaseInfo> selectWarehouse(String compId,String warehouseType);
 
     /**
      * 查看库房
@@ -46,7 +53,7 @@ public interface IWarehouseBaseInfoService extends IService<WarehouseBaseInfo> {
      * @param compId
      * @return
      */
-    List<WarehouseView> selectWarehouseViewinfo(String compId,String warehouseName);
+    List<WarehouseView> selectWarehouseViewinfo(String compId,String warehouseName,String warehouseType);
 
     /**
      * 更改显示状态
@@ -56,10 +63,23 @@ public interface IWarehouseBaseInfoService extends IService<WarehouseBaseInfo> {
     /**
      *查询所有库房
      */
-    List<WarehouseBaseInfo> selectAllWarehouse(String compId);
+    List<WarehouseBaseInfo> selectAllWarehouse(String compId,String warehouseType,String warehouseName);
 
     /**
      * 删除库房
      */
      void deleteWarehouse(String id);
+
+    /**
+     * 清仓状态
+     * @param id
+     * @return
+     */
+     String editCleared(String id);
+    /**
+     * 出入库合同编号下拉列表
+     *
+     * @param compId
+     */
+    List<ContractManagementInfo> selectContractNoList(String compId);
 }

+ 46 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseInOutInfoService.java

@@ -1,8 +1,12 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 
 import com.baomidou.mybatisplus.plugins.Page;
+import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseInOutInfo;
 import com.baomidou.mybatisplus.service.IService;
+
+import java.util.List;
+
 /**
  * <p>
  * 记录出入库信息 服务类
@@ -19,6 +23,15 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
      * @return
      */
     Page<WarehouseInOutInfo> selectWarehouseInOutInfo(WarehouseInOutInfo warehouseInOutInfo);
+
+    /**
+     * 待完成页面列表(临时仓库)
+     *
+     * @param warehouseInOutInfo
+     * @return
+     */
+    Page<WarehouseInOutInfo> selectWarehouseInOutInfoTemporary(WarehouseInOutInfo warehouseInOutInfo);
+
     /**
      * 删除记录
      */
@@ -27,7 +40,7 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
     /**
      * 出入库
      */
-    String InOutWarehouse (WarehouseInOutInfo warehouseInOutInfo);
+    String InOutWarehouse(WarehouseInOutInfo warehouseInOutInfo);
 
     /**
      * 流转记录分页查询
@@ -37,4 +50,36 @@ public interface IWarehouseInOutInfoService extends IService<WarehouseInOutInfo>
      */
     Page<WarehouseInOutInfo> selectInfo(WarehouseInOutInfo warehouseInOutInfo);
 
+    /**
+     * 流转记录分页查询(临时仓库)
+     *
+     * @param warehouseInOutInfo
+     * @return
+     */
+    Page<WarehouseInOutInfo> selectInfoTemporary(WarehouseInOutInfo warehouseInOutInfo);
+
+    /**
+     * 临时仓库货名下拉
+     *
+     * @param baseId
+     * @return
+     */
+    List<WarehouseInOutInfo> selectTemporaryGoodsNameList(String baseId);
+
+
+    /**
+     * 出入库任务新增 编辑
+     *
+     * @param warehouseInOutInfo
+     * @return
+     */
+    String insertOrUpdateInOutTask(WarehouseInOutInfo warehouseInOutInfo);
+
+    /**
+     * 判断移库编号
+     *
+     * @param moveTaskNo
+     * @return
+     */
+    boolean selectTaskNo(String moveTaskNo);
 }

+ 9 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehouseInventoryCountInfoService.java

@@ -2,6 +2,7 @@ package com.yh.saas.plugin.yiliangyiyun.service;
 
 import com.baomidou.mybatisplus.plugins.Page;
 import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseInventoryCountInfo;
 import com.baomidou.mybatisplus.service.IService;
 
@@ -24,11 +25,18 @@ public interface IWarehouseInventoryCountInfoService extends IService<WarehouseI
     Page<WarehouseInventoryCountInfo> selectInfo(WarehouseInventoryCountInfo warehouseInventoryCountInfo);
 
     /**
-     * 盘损当期仓损
+     * 根据货名查累计量
      *
      * @param warehouseInventoryCountInfo
      * @return
      */
     WarehouseInventoryCountInfo getInfo(WarehouseInventoryCountInfo warehouseInventoryCountInfo);
 
+
+    /**
+     * 盘损
+     */
+    String addInventory(WarehouseInventoryCountInfo warehouseInventoryCountInfo);
+
+
 }

+ 9 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/IWarehousePositionStorageInfoService.java

@@ -1,8 +1,11 @@
 package com.yh.saas.plugin.yiliangyiyun.service;
 
+
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehousePositionStorageInfo;
 import com.baomidou.mybatisplus.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 记录仓库仓位储存信息 服务类
@@ -13,4 +16,10 @@ import com.baomidou.mybatisplus.service.IService;
  */
 public interface IWarehousePositionStorageInfoService extends IService<WarehousePositionStorageInfo> {
 
+    /**
+     * 盘损货名下拉列表
+     * @param positionId
+     ** @return
+     */
+    List<WarehousePositionStorageInfo> selectGoodsName(String positionId);
 }

+ 1 - 7
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/CommonSysParameterServiceImpl.java

@@ -30,13 +30,7 @@ public class CommonSysParameterServiceImpl extends ServiceImpl<CommonSysParamete
      */
     public List<CommonSysParameter> getInfo(String constId){
         List<CommonSysParameter> commonSysParameterList = this.selectList(new EntityWrapper<CommonSysParameter>()
-        .eq("const_id",constId).orderBy("sort"));
-//        Map<String, String> map = new HashMap<>();
-//        if(CollectionUtils.isNotEmpty(commonSysParameterList)){
-//            for(CommonSysParameter commonSysParameter : commonSysParameterList){
-//                map.put(commonSysParameter.getConstKey(),commonSysParameter.getConstValue());
-//            }
-//        }
+        .eq(CommonSysParameter.QueryFiles.CONST_ID,constId).orderBy(CommonSysParameter.QueryFiles.SORT));
         return commonSysParameterList;
     }
 }

+ 92 - 36
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/ContractManagementInfoServiceImpl.java

@@ -2,22 +2,21 @@ package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
 
 import com.alipay.sofa.runtime.api.annotation.SofaService;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.winsea.svc.base.base.entity.CommonDepartment;
 import com.winsea.svc.base.base.util.DateUtils;
 import com.yh.saas.common.support.util.IdGenerator;
 import com.yh.saas.common.support.util.StringUtils;
 import com.yh.saas.plugin.base.service.ICommonBillOperateHisService;
+import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
-import com.yh.saas.plugin.yiliangyiyun.entity.ContractProcessInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.exception.YException;
 import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.ContractManagementInfoMapper;
-import com.yh.saas.plugin.yiliangyiyun.service.IContractGoodsInfoService;
-import com.yh.saas.plugin.yiliangyiyun.service.IContractProcessInfoService;
-import com.yh.saas.plugin.yiliangyiyun.entity.ContractGoodsInfo;
+import com.yh.saas.plugin.yiliangyiyun.service.*;
 import com.google.common.collect.Lists;
 import com.winsea.svc.base.security.util.AuthSecurityUtils;
-import com.yh.saas.plugin.yiliangyiyun.entity.ContractManagementInfo;
-import com.yh.saas.plugin.yiliangyiyun.service.IContractManagementInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
@@ -57,6 +56,10 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
     private ICommonBillOperateHisService billOperateHisService;
     @Autowired
     private IContractProcessInfoService contractProcessInfoService;
+    @Autowired
+    private IWarehouseBaseInfoService warehouseBaseInfoService;
+    @Autowired
+    private IWarehouseInOutInfoService warehouseInOutInfoService;
     @Value("${file-root-path}")
     private String localPath;
 
@@ -76,9 +79,10 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
         //判断合同编号是否唯一
         List<ContractManagementInfo> contractManagementInfos =
                 contractManagementInfoService.selectList(new EntityWrapper<ContractManagementInfo>()
-                        .eq("contract_no", contractManagementInfo.getContractNo())
-                        .eq("delete_flag","0"));
-        if (contractManagementInfos.size()>0){
+                        .eq(ContractManagementInfo.QueryFiles.COMP_ID,AuthSecurityUtils.getCurrentUserInfo().getCompId())
+                        .eq(ContractManagementInfo.QueryFiles.CONTRACT_NO, contractManagementInfo.getContractNo())
+                        .eq(ContractManagementInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0));
+        if (contractManagementInfos.size() > 0) {
             throw new YException(YExceptionEnum.CONTRACT_NO_ERROR);
         }
         // 货物信息新增
@@ -92,14 +96,42 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
         boolean one = this.insert(contractManagementInfo);
         boolean two = contractGoodsInfoService.insert(contractGoodsInfo);
         boolean three = contractProcessInfoService.insert(contractProcessInfo);
-
-        // 插入操作历史
-        String staffName = this.billOperateHisService.getStaffAndName();
-        // 插入操作历史
-        this.billOperateHisService.saveBillOperateHis(contractManagementInfo.getId(), "CONTRACT", staffName, null,
-                StatusEnum.CONTRACT_WAIT.getName(), StatusEnum.CONTRACT_WAIT.getName(), "");
         // 假如 都成功返回ok
         if (one && two && three) {
+            // 插入操作历史
+            String staffName = this.billOperateHisService.getStaffAndName();
+            // 插入操作历史
+            this.billOperateHisService.saveBillOperateHis(contractManagementInfo.getId(), NumberConstant.CONSTANT_CONTRACT, staffName, null,
+                    StatusEnum.CONTRACT_WAIT.getName(), StatusEnum.CONTRACT_WAIT.getName(), "");
+            //自运采购合同添加临时仓库
+            if (NumberConstant.CONSTANT2.equals(contractManagementInfo.getContractType()) && NumberConstant.CONSTANT1.equals(contractManagementInfo.getDeliverType())) {
+                WarehouseBaseInfo warehouseBaseInfo = new WarehouseBaseInfo();
+                warehouseBaseInfo.setId(IdGenerator.generateUUID());
+                warehouseBaseInfo.setWarehouseName(contractManagementInfo.getContractNo());
+                warehouseBaseInfo.setPersonChargeKey(contractManagementInfo.getPersonChargeKey());
+                warehouseBaseInfo.setPersonCharge(contractManagementInfo.getPersonCharge());
+                warehouseBaseInfo.setPersonPhone(contractManagementInfo.getPersonPhone());
+                warehouseBaseInfo.setCreateType("1");
+                warehouseBaseInfo.setCompId(contractManagementInfo.getCompId());
+                warehouseBaseInfo.setWarehousePrivate(contractManagementInfo.getSourceProvince());
+                warehouseBaseInfo.setWarehouseCity(contractManagementInfo.getSourceCity());
+                warehouseBaseInfo.setWarehouseArea(contractManagementInfo.getSourceArea());
+                warehouseBaseInfo.setDetailedAddress(contractManagementInfo.getSourceGoods());
+                //临时仓库流转页面
+                WarehouseInOutInfo warehouseInOutInfo = new WarehouseInOutInfo();
+                warehouseInOutInfo.setId(IdGenerator.generateUUID());
+                warehouseInOutInfo.setBaseId(warehouseBaseInfo.getId());
+                warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
+                warehouseInOutInfo.setWarehouseName(contractManagementInfo.getContractNo());
+                warehouseInOutInfo.setInOutFlag(NumberConstant.CONSTANT2);
+                warehouseInOutInfo.setNetWeight(contractManagementInfo.getFinalTradingVolume());
+                warehouseInOutInfo.setInOutType(NumberConstant.PURCHASE_WAREHOUSING);
+                warehouseInOutInfo.setBackOfficeId(contractManagementInfo.getCreateUserId());
+                warehouseInOutInfo.setBackOffice(AuthSecurityUtils.getStaffById(contractManagementInfo.getCreateUserId()).getStaffName());
+                warehouseInOutInfo.setInOutDate(contractManagementInfo.getSigningDate());
+                warehouseBaseInfoService.addTemporaryWarehouse(warehouseBaseInfo);
+                warehouseInOutInfoService.insert(warehouseInOutInfo);
+            }
             return "OK";
         } else {
             return "NG";
@@ -116,6 +148,17 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
     public String editInfo(ContractManagementInfo contractManagementInfo) {
         // 主表信息编辑
         boolean one = this.updateById(contractManagementInfo);
+        // 更新仓库名
+        WarehouseBaseInfo warehouseBaseInfo = warehouseBaseInfoService.selectOne(new EntityWrapper<WarehouseBaseInfo>()
+                .eq(WarehouseBaseInfo.QueryFiles.COMP_ID,AuthSecurityUtils.getCurrentUserInfo().getCompId())
+                .eq(WarehouseBaseInfo.QueryFiles.WAREHOUSE_NAME, contractManagementInfo.getContractNo())
+                .eq(WarehouseBaseInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0));
+        if(warehouseBaseInfo!=null){
+            warehouseBaseInfo.setPersonChargeKey(contractManagementInfo.getPersonChargeKey());
+            warehouseBaseInfo.setPersonCharge(contractManagementInfo.getPersonCharge());
+            warehouseBaseInfo.setPersonPhone(contractManagementInfo.getPersonPhone());
+            warehouseBaseInfoService.updateById(warehouseBaseInfo);
+        }
         // 货物信息编辑
         boolean two = contractGoodsInfoService.updateById(contractManagementInfo.getContractGoodsInfo());
         //流程编辑
@@ -139,14 +182,20 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
         // 主表信息
         ContractManagementInfo contractManagementInfo = this.selectById(id);
         //货物信息
-        ContractGoodsInfo contractGoodsInfo = contractGoodsInfoService.selectOne(new EntityWrapper<ContractGoodsInfo>().eq("contract_id", id));
+        ContractGoodsInfo contractGoodsInfo = contractGoodsInfoService.selectOne(new EntityWrapper<ContractGoodsInfo>().eq(ContractGoodsInfo.QueryFiles.CONTRACT_ID, id));
         //流程信息
-        ContractProcessInfo contractProcessInfo = contractProcessInfoService.selectOne(new EntityWrapper<ContractProcessInfo>().eq("contract_id", id));
+        ContractProcessInfo contractProcessInfo = contractProcessInfoService.selectOne(new EntityWrapper<ContractProcessInfo>().eq(ContractGoodsInfo.QueryFiles.CONTRACT_ID, id));
         contractManagementInfo.setContractGoodsInfo(contractGoodsInfo);
         contractManagementInfo.setContractProcessInfo(contractProcessInfo);
         return contractManagementInfo;
     }
 
+    /**
+     * 信息分页列表查询
+     *
+     * @param contractManagementInfo
+     * @return
+     */
     @Override
     public Page<ContractManagementInfo> selectInfo(ContractManagementInfo contractManagementInfo) {
         Map<String, Object> pageView = new HashMap<>();
@@ -197,7 +246,7 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
             // 插入操作历史
             String staffName = this.billOperateHisService.getStaffAndName();
             // 插入操作历史
-            this.billOperateHisService.saveBillOperateHis(contractManagementInfo.getId(), "CONTRACT", staffName, null,
+            this.billOperateHisService.saveBillOperateHis(contractManagementInfo.getId(), NumberConstant.CONSTANT_CONTRACT, staffName, null,
                     contractManagementInfo.getStatus(), null, "");
             return "OK";
         }
@@ -216,18 +265,30 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
             //合同信息
             this.deleteById(contractManagementInfo.getId());
             //货物信息
-            ContractGoodsInfo contractGoodsInfo = contractGoodsInfoService.selectOne(new EntityWrapper<ContractGoodsInfo>().eq("contract_id", id));
+            ContractGoodsInfo contractGoodsInfo = contractGoodsInfoService.selectOne(new EntityWrapper<ContractGoodsInfo>().eq(ContractGoodsInfo.QueryFiles.CONTRACT_ID, id));
             //流程信息
-            ContractProcessInfo contractProcessInfo = contractProcessInfoService.selectOne(new EntityWrapper<ContractProcessInfo>().eq("contract_id", id));
+            ContractProcessInfo contractProcessInfo = contractProcessInfoService.selectOne(new EntityWrapper<ContractProcessInfo>().eq(ContractGoodsInfo.QueryFiles.CONTRACT_ID, id));
             contractGoodsInfoService.deleteById(contractGoodsInfo.getId());
             contractProcessInfoService.deleteById(contractProcessInfo.getId());
+            if("2".equals(contractManagementInfo.getContractType()) && "1".equals(contractManagementInfo.getDeliverType())){
+                //临时仓库信息
+                WarehouseBaseInfo warehouseBaseInfo =  warehouseBaseInfoService.selectOne(new EntityWrapper<WarehouseBaseInfo>().eq(WarehouseBaseInfo.QueryFiles.WAREHOUSE_NAME, contractManagementInfo.getContractNo()));
+                warehouseBaseInfoService.deleteById(warehouseBaseInfo.getId());
+                //临时仓库出入库信息
+                List<WarehouseInOutInfo> warehouseInOutInfos = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>().eq(WarehouseInOutInfo.QueryFiles.BASE_ID,warehouseBaseInfo.getId()));
+                if(!CollectionUtils.isEmpty(warehouseInOutInfos)){
+                    for(WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfos ){
+                    warehouseInOutInfoService.deleteById(warehouseInOutInfo.getId());
+                     }
+
+                }
+            }
 
         }
 
     }
 
 
-
     /**
      * 导出
      *
@@ -547,7 +608,7 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
                 cell.setCellValue(editString(contractManagementInfo.getStatus()));
                 cell.setCellStyle(styleDetail);
                 cell = rowx.createCell(12);
-                cell.setCellValue(DateUtil.formatDate(contractManagementInfo.getSigningDate()!=null?contractManagementInfo.getSigningDate():new Date(), DateUtils.DATE_FMT_YYYY_MM_DD));
+                cell.setCellValue(DateUtil.formatDate(contractManagementInfo.getSigningDate() != null ? contractManagementInfo.getSigningDate() : new Date(), DateUtils.DATE_FMT_YYYY_MM_DD));
                 cell.setCellStyle(styleDetail);
                 cell = rowx.createCell(13);
                 cell.setCellValue(editFloat(contractManagementInfo.getMildewGrain()));
@@ -584,38 +645,39 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
 
     /**
      * 判断字符串
+     *
      * @param example
      * @return
      */
-    private String  editString(String example){
-        String exampleOne = example !=null?example:"";
+    private String editString(String example) {
+        String exampleOne = example != null ? example : "";
         return exampleOne;
     }
 
 
     /**
      * 判断浮点数
+     *
      * @param example
      * @return
      */
-    private Float editFloat(Float example){
-        Float exampleOne = example !=null?example:0f;
+    private Float editFloat(Float example) {
+        Float exampleOne = example != null ? example : 0f;
         return exampleOne;
     }
 
     /**
      * 判断浮点数
+     *
      * @param example
      * @return
      */
-    private Double editDouble(Double example){
-        Double exampleOne = example !=null?example:0.00;
+    private Double editDouble(Double example) {
+        Double exampleOne = example != null ? example : 0.00;
         return exampleOne;
     }
 
 
-
-
     /**
      * 下载
      *
@@ -658,12 +720,6 @@ public class ContractManagementInfoServiceImpl extends ServiceImpl<ContractManag
 
             out.flush();
             out.close();
-//            File localFile = new File(path);
-//            OutputStream os = new FileOutputStream(localFile);
-//
-//            wb.write(os);
-//            os.flush();
-//            os.close();
 
         } catch (IOException ex) {
             log.debug(ex.getMessage());

+ 49 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/DriverCarInfoServiceImpl.java

@@ -0,0 +1,49 @@
+package com.yh.saas.plugin.yiliangyiyun.service.impl;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.winsea.svc.base.security.util.AuthSecurityUtils;
+import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
+import com.yh.saas.plugin.yiliangyiyun.entity.DriverCarInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.TranCarInfo;
+import com.yh.saas.plugin.yiliangyiyun.mapper.DriverCarInfoMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.IDriverCarInfoService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 记录货车信息 服务实现类
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-29
+ */
+@Service
+public class DriverCarInfoServiceImpl extends ServiceImpl<DriverCarInfoMapper, DriverCarInfo> implements IDriverCarInfoService {
+
+    /**
+     * 删除货车信息
+     * @param id
+     */
+    @Override
+    public void deleteDriverCar(String id){
+        DriverCarInfo driverCarInfo = this.selectById(id);
+        if (driverCarInfo != null){
+            this.deleteById(driverCarInfo.getId());
+        }
+    }
+
+    /**
+     * 车牌号下拉列表
+     * @param driverId
+     * @return
+     */
+    @Override
+    public List<DriverCarInfo> selectCarNumber(String driverId){
+        List<DriverCarInfo> driverCarInfoLists = this.selectList(new EntityWrapper<DriverCarInfo>()
+                .eq(DriverCarInfo.QueryFiles.DRIVER_ID,driverId).eq(DriverCarInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0));
+        return driverCarInfoLists;
+    }
+}

+ 31 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/DriverPayeeInfoServiceImpl.java

@@ -0,0 +1,31 @@
+package com.yh.saas.plugin.yiliangyiyun.service.impl;
+
+import com.yh.saas.plugin.yiliangyiyun.entity.DriverPayeeInfo;
+import com.yh.saas.plugin.yiliangyiyun.mapper.DriverPayeeInfoMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.IDriverPayeeInfoService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ * 记录收款账户信息 服务实现类
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-29
+ */
+@Service
+public class DriverPayeeInfoServiceImpl extends ServiceImpl<DriverPayeeInfoMapper, DriverPayeeInfo> implements IDriverPayeeInfoService {
+
+    /**
+     * 删除收款人信息
+     * @param id
+     */
+    @Override
+    public void deleteDriverPayee(String id){
+        DriverPayeeInfo driverPayeeInfo = this.selectById(id);
+        if (driverPayeeInfo != null){
+            this.deleteById(driverPayeeInfo.getId());
+        }
+    }
+}

+ 277 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/DriverViewInfoServiceImpl.java

@@ -0,0 +1,277 @@
+package com.yh.saas.plugin.yiliangyiyun.service.impl;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.google.common.collect.Lists;
+import com.yh.saas.common.support.util.StringUtils;
+import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
+import com.yh.saas.plugin.yiliangyiyun.entity.DriverCarInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.DriverPayeeInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.DriverViewInfo;
+import com.yh.saas.plugin.yiliangyiyun.exception.YException;
+import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
+import com.yh.saas.plugin.yiliangyiyun.mapper.DriverViewInfoMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.IDriverCarInfoService;
+import com.yh.saas.plugin.yiliangyiyun.service.IDriverPayeeInfoService;
+import com.yh.saas.plugin.yiliangyiyun.service.IDriverViewInfoService;
+import com.yh.saas.common.support.util.IdGenerator;
+import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * <p>
+ * 记录司机信息 服务实现类
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-29
+ */
+@Service
+public class DriverViewInfoServiceImpl extends ServiceImpl<DriverViewInfoMapper, DriverViewInfo> implements IDriverViewInfoService {
+    @Autowired
+    private IDriverCarInfoService driverCarInfoService;
+    @Autowired
+    private IDriverPayeeInfoService driverPayeeInfoService;
+
+    /**
+     * 添加信息
+     *
+     * @param
+     * @return
+     */
+    @Override
+    public String addInfo(DriverViewInfo driverViewInfo) {
+        //新增主键id
+        driverViewInfo.setId(IdGenerator.generateUUID());
+        //判断司机电话是否唯一
+        List<DriverViewInfo> driverViewInfos =
+                this.selectList(new EntityWrapper<DriverViewInfo>()
+                        .eq(DriverViewInfo.QueryFiles.DRIVER_NAME, driverViewInfo.getDriverPhone())
+                        .eq(DriverViewInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0));
+        if (driverViewInfos.size() > 0) {
+            throw new YException(YExceptionEnum.DRIVER_PHONE_ERROR);
+        }
+        //判断司机身份证号是否唯一
+        List<DriverViewInfo> driverViewInfoList =
+                this.selectList(new EntityWrapper<DriverViewInfo>()
+                        .eq(DriverViewInfo.QueryFiles.NUMBER_CARD, driverViewInfo.getNumberCard())
+                        .eq(DriverViewInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0));
+        if (driverViewInfoList.size() > 0) {
+            throw new YException(YExceptionEnum.DRIVER_NUMBER_ERROR);
+        }
+        //货车信息新增
+        List<DriverCarInfo> driverCarInfoList = driverViewInfo.getDriverCarInfoList();
+        if (!CollectionUtils.isEmpty(driverCarInfoList)) {
+            for (DriverCarInfo driverCarInfo : driverCarInfoList) {
+                driverCarInfo.setId(IdGenerator.generateUUID());
+                driverCarInfo.setDriverId(driverViewInfo.getId());
+            }
+        }
+        //收款人账户信息新增
+        List<DriverPayeeInfo> driverPayeeInfoList = driverViewInfo.getDriverPayeeInfoList();
+        if (!CollectionUtils.isEmpty(driverPayeeInfoList)) {
+            for (DriverPayeeInfo driverPayeeInfo : driverPayeeInfoList) {
+                driverPayeeInfo.setId(IdGenerator.generateUUID());
+                driverPayeeInfo.setDriverId(driverViewInfo.getId());
+                //判断收款人身份证号是否唯一
+                List<DriverPayeeInfo> driverPayeeInfos =
+                        driverPayeeInfoService.selectList(new EntityWrapper<DriverPayeeInfo>()
+                                .eq(DriverPayeeInfo.QueryFiles.PAYEE_NUMBER_CARD, driverPayeeInfo.getPayeeNumberCard())
+                                .eq(DriverPayeeInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0));
+                if (driverPayeeInfos.size() > 0) {
+                    throw new YException(YExceptionEnum.PAYEE_NUMBER_ERROR);
+                }
+            }
+        }
+        boolean one = this.insert(driverViewInfo);
+        boolean two = driverCarInfoService.insertBatch(driverCarInfoList);
+        boolean three = driverPayeeInfoService.insertBatch(driverPayeeInfoList);
+
+        // 假如 都成功返回ok
+        if (one && two && three) {
+            return "OK";
+        } else {
+            return "NG";
+        }
+    }
+
+    /**
+     * 编辑信息
+     */
+    @Override
+    public String editInfo(DriverViewInfo driverViewInfo) {
+        //主表信息编辑
+        this.updateById(driverViewInfo);
+        //货车信息编辑
+        List<DriverCarInfo> driverCarInfoList = driverViewInfo.getDriverCarInfoList();
+        if (!CollectionUtils.isEmpty(driverCarInfoList)) {
+            driverCarInfoList.forEach(driverCarInfo -> {
+                if (StringUtils.isEmpty(driverCarInfo.getId())) {
+                    driverCarInfo.setId(IdGenerator.generateUUID());
+                    driverCarInfo.setDriverId(driverViewInfo.getId());
+                    driverCarInfoService.insert(driverCarInfo);
+                } else {
+                    driverCarInfoService.updateById(driverCarInfo);
+                }
+            });
+        }
+        //收款人账户信息编辑
+        List<DriverPayeeInfo> driverPayeeInfoList = driverViewInfo.getDriverPayeeInfoList();
+        if (!CollectionUtils.isEmpty(driverPayeeInfoList)) {
+            driverPayeeInfoList.forEach(driverPayeeInfo -> {
+                if (StringUtils.isEmpty(driverPayeeInfo.getId())) {
+                    driverPayeeInfo.setId(IdGenerator.generateUUID());
+                    driverPayeeInfo.setDriverId(driverViewInfo.getId());
+                    driverPayeeInfoService.insert(driverPayeeInfo);
+                } else {
+                    driverPayeeInfoService.updateById(driverPayeeInfo);
+                }
+            });
+        }
+        return driverViewInfo.getId();
+    }
+
+
+    /**
+     * 司机管理页面列表
+     *
+     * @param driverViewInfo
+     * @return
+     */
+    @Override
+    public Page<DriverViewInfo> selectDriverInfoPage(DriverViewInfo driverViewInfo) {
+        Map<String, Object> pageView = new HashMap<>();
+        pageView.put("startRecord", (driverViewInfo.getCurrentPage() - 1)
+                * driverViewInfo.getPageSize());
+        //公司id
+        pageView.put("compId", driverViewInfo.getCompId());
+        pageView.put("residentCityProvincial", driverViewInfo.getResidentCityProvincial());
+        pageView.put("residentCityMunicipal", driverViewInfo.getResidentCityMunicipal());
+        pageView.put("searchKeyWord", driverViewInfo.getSearchKeyWord());
+        pageView.put("pageSize", driverViewInfo.getPageSize());
+        pageView.put("currentPage", driverViewInfo.getCurrentPage());
+        // 查询司机总数
+        Integer dataCount = baseMapper.getCountByCondition(pageView);
+        List<DriverViewInfo> dataList = baseMapper.getListByCondition(pageView);
+        dataList.forEach(driverViewInfo1 -> {
+            driverViewInfo1.setDriverCarInfoList(driverCarInfoService.selectList(new EntityWrapper<DriverCarInfo>()
+                    .eq(DriverCarInfo.QueryFiles.DRIVER_ID, driverViewInfo1.getId())
+                    .eq(DriverCarInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0)));
+            driverViewInfo1.setDriverPayeeInfoList(driverPayeeInfoService.selectList(new EntityWrapper<DriverPayeeInfo>()
+                    .eq(DriverPayeeInfo.QueryFiles.DRIVER_ID, driverViewInfo1.getId())
+                    .eq(DriverPayeeInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0)));
+        });
+        Page<DriverViewInfo> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(driverViewInfo.getCurrentPage());
+        page.setSize(driverViewInfo.getPageSize());
+        return page;
+    }
+
+    /**
+     * 查看司机信息
+     *
+     * @param id
+     * @return
+     */
+    @Override
+    public DriverViewInfo getDriver(String id) {
+        //查看司机信息
+        DriverViewInfo driverViewInfo = this.selectById(id);
+        //查看货车信息
+        List<DriverCarInfo> driverCarInfoList = driverCarInfoService.selectList(new EntityWrapper<DriverCarInfo>()
+                .eq(DriverCarInfo.QueryFiles.DRIVER_ID, id));
+        driverViewInfo.setDriverCarInfoList(driverCarInfoList);
+        //查看收款账户信息
+        List<DriverPayeeInfo> driverPayeeInfoList = driverPayeeInfoService.selectList(new EntityWrapper<DriverPayeeInfo>()
+                .eq(DriverPayeeInfo.QueryFiles.DRIVER_ID, id));
+        driverViewInfo.setDriverPayeeInfoList(driverPayeeInfoList);
+        return driverViewInfo;
+    }
+
+    /**
+     * 删除司机信息
+     *
+     * @param id
+     */
+    @Override
+    public void deleteDriver(String id) {
+        //删除司机信息
+        DriverViewInfo driverViewInfo = this.selectById(id);
+        this.deleteById(driverViewInfo.getId());
+        //删除货车信息
+        List<DriverCarInfo> driverCarInfoList = driverCarInfoService.selectList(new EntityWrapper<DriverCarInfo>()
+                .eq(DriverCarInfo.QueryFiles.DRIVER_ID, id));
+        if (!CollectionUtils.isEmpty(driverCarInfoList)) {
+            for (DriverCarInfo driverCarInfo : driverCarInfoList) {
+                driverCarInfoService.deleteById(driverCarInfo.getId());
+            }
+        }
+        //删除收款账户信息
+        List<DriverPayeeInfo> driverPayeeInfoList = driverPayeeInfoService.selectList(new EntityWrapper<DriverPayeeInfo>()
+                .eq(DriverPayeeInfo.QueryFiles.DRIVER_ID, id));
+        if (!CollectionUtils.isEmpty(driverPayeeInfoList)) {
+            for (DriverPayeeInfo driverPayeeInfo : driverPayeeInfoList) {
+                driverPayeeInfoService.deleteById(driverPayeeInfo.getId());
+            }
+        }
+    }
+
+    /**
+     * 更改状态
+     */
+    @Override
+    public String editDisableInfo(DriverViewInfo driverViewInfo) {
+        DriverViewInfo driverViewInfos = this.selectById(driverViewInfo.getId());
+        //查询司机信息
+        if (driverViewInfos != null) {
+            //已禁用状态
+            if (StatusEnum.DISABLED.getFlag().equals(driverViewInfo.getDisableStatusFlag())) {
+                driverViewInfos.setDisableStatusFlag(StatusEnum.NOT_DISABLE.getFlag());
+            }
+            //未禁用状态
+            else {
+                driverViewInfos.setDisableStatusFlag(StatusEnum.DISABLED.getFlag());
+                driverViewInfos.setDisableReasons(driverViewInfo.getDisableReasons());
+            }
+            //更改司机信息
+            this.updateById(driverViewInfos);
+            return "OK";
+        }
+        return "NG";
+    }
+
+    /**
+     * 司机姓名电话下拉列表
+     * @param compId
+     * @return
+     */
+    @Override
+    public List<DriverViewInfo> selectDriverName(String compId){
+        List<DriverViewInfo> driverViewInfoList = this.selectList(new EntityWrapper<DriverViewInfo>()
+                .eq(DriverViewInfo.QueryFiles.COMP_ID,compId).eq(DriverViewInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0));
+        return driverViewInfoList;
+    }
+
+    /**
+     * 根据姓名查电话、根据电话查姓名
+     * @param id
+     * @return
+     */
+    @Override
+    public DriverCarInfo selectDriverDetail(String id){
+        DriverCarInfo driverCarInfo= driverCarInfoService.selectOne(new EntityWrapper<DriverCarInfo>()
+                .eq(DriverCarInfo.QueryFiles.DRIVER_ID, id).eq(DriverViewInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0));
+        return driverCarInfo;
+    }
+
+}

+ 29 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TranCarInfoServiceImpl.java

@@ -0,0 +1,29 @@
+package com.yh.saas.plugin.yiliangyiyun.service.impl;
+
+import com.baomidou.mybatisplus.toolkit.CollectionUtils;
+import com.yh.saas.common.support.util.IdGenerator;
+import com.yh.saas.plugin.base.service.ICommonBillOperateHisService;
+import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
+import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
+import com.yh.saas.plugin.yiliangyiyun.entity.TranCarInfo;
+import com.yh.saas.plugin.yiliangyiyun.mapper.TranCarInfoMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.ITranCarInfoService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 记录车次 服务实现类
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-31
+ */
+@Service
+public class TranCarInfoServiceImpl extends ServiceImpl<TranCarInfoMapper, TranCarInfo> implements ITranCarInfoService {
+
+
+}

+ 202 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TranProcessInfoServiceImpl.java

@@ -0,0 +1,202 @@
+package com.yh.saas.plugin.yiliangyiyun.service.impl;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.google.common.collect.Lists;
+import com.winsea.svc.base.security.util.AuthSecurityUtils;
+import com.yh.saas.common.support.util.IdGenerator;
+import com.yh.saas.common.support.util.StringUtils;
+import com.yh.saas.plugin.base.service.ICommonBillOperateHisService;
+import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
+import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
+import com.yh.saas.plugin.yiliangyiyun.entity.TranCarInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.TranProcessInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.WarehousePositionInfo;
+import com.yh.saas.plugin.yiliangyiyun.mapper.TranProcessInfoMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.ITranCarInfoService;
+import com.yh.saas.plugin.yiliangyiyun.service.ITranProcessInfoService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 记录调度 服务实现类
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-31
+ */
+@Service
+public class TranProcessInfoServiceImpl extends ServiceImpl<TranProcessInfoMapper, TranProcessInfo> implements ITranProcessInfoService {
+    @Autowired
+    private ICommonBillOperateHisService billOperateHisService;
+    @Autowired
+    private ITranCarInfoService tranCarInfoService;
+    /**
+     * 汽运调度分页列表查询
+     * @param tranProcessInfo
+     * @return
+     */
+    @Override
+    public Page<TranProcessInfo> selectTranProcessInfo(TranProcessInfo tranProcessInfo) {
+        Map<String, Object> pageView = new HashMap<>();
+
+        pageView.put("startRecord", (tranProcessInfo.getCurrentPage() - 1)
+                * tranProcessInfo.getPageSize());
+        //  公司ID
+        pageView.put("compId", AuthSecurityUtils.getCurrentUserInfo().getCompId());
+        pageView.put("searchKeyWord", tranProcessInfo.getSearchKeyWord());
+        pageView.put("searchType", tranProcessInfo.getSearchType());
+        pageView.put("startDate", tranProcessInfo.getStartDate());
+        pageView.put("endDate", tranProcessInfo.getEndDate());
+        pageView.put("pageSize", tranProcessInfo.getPageSize());
+        pageView.put("currentPage", tranProcessInfo.getCurrentPage());
+        pageView.put("tranTypeKey",tranProcessInfo.getTranTypeKey());
+        // 查询汽运调度总数
+        Integer dataCount = baseMapper.getCountByCondition(pageView);
+        List<TranProcessInfo> dataList = baseMapper.getListByCondition(pageView);
+        Page<TranProcessInfo> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(tranProcessInfo.getCurrentPage());
+        page.setSize(tranProcessInfo.getPageSize());
+
+        return page;
+    }
+
+    /**
+     * 更改状态
+     * @param id
+     * @return
+     */
+    @Override
+    public String editStatus(String id) {
+        // 查询调度信息
+        TranProcessInfo tranProcessInfo = this.selectById(id);
+        if (tranProcessInfo != null) {
+            if (StatusEnum.PROCESS_DO.getFlag().equals(tranProcessInfo.getStatusFlag())) {
+                tranProcessInfo.setStatusFlag(StatusEnum.PROCESS_COMPLETED.getFlag());
+                tranProcessInfo.setStatus(StatusEnum.PROCESS_COMPLETED.getName());
+            }
+            this.updateById(tranProcessInfo);
+            // 插入操作历史
+            String staffName = this.billOperateHisService.getStaffAndName();
+            // 插入操作历史
+            this.billOperateHisService.saveBillOperateHis(tranProcessInfo.getId(), NumberConstant.CONSTANT_PROCESS, staffName, null,
+                    tranProcessInfo.getStatus(), null, "");
+            return "OK";
+        }
+        return "NG";
+    }
+
+    /**
+     * 查看运输调度
+     * @param id
+     * @return
+     */
+    @Override
+    public TranProcessInfo getTranProcess(String id) {
+        //查看运输信息
+        TranProcessInfo tranProcessInfo = this.selectById(id);
+        //查看车次信息
+        List<TranCarInfo> tranCarInfoList = tranCarInfoService.selectList(new EntityWrapper<TranCarInfo>()
+                .eq(TranCarInfo.QueryFiles.PROCESS_ID,id).eq(TranCarInfo.QueryFiles.DELETE_FLAG,NumberConstant.CONSTANT0));
+        tranProcessInfo.setTranCarInfoList(tranCarInfoList);
+        return tranProcessInfo;
+    }
+
+    /**
+     * 派车
+     * @param tranProcessInfo
+     * @return
+     */
+    @Override
+    public String insertTranCar(TranProcessInfo tranProcessInfo) {
+        List<TranCarInfo> tranCarInfoList = tranProcessInfo.getTranCarInfoList();
+        if (!CollectionUtils.isEmpty(tranCarInfoList)) {
+            tranCarInfoList.forEach(tranCarInfo -> {
+                if(tranCarInfo.getLoadNetWeight()==null){
+                    tranCarInfo.setLoadNetWeight(0f);
+                }
+                if (StringUtils.isEmpty(tranCarInfo.getId())) {
+                    tranCarInfo.setProcessId(tranProcessInfo.getId());
+                    tranCarInfo.setInfoId(tranProcessInfo.getInfoId());
+                    tranCarInfo.setId(IdGenerator.generateUUID());
+                    if(!NumberConstant.CONSTANT1.equals(tranCarInfo.getTemporaryDriverFlag())&&tranCarInfo.getLoadNetWeight()>0){
+                    tranCarInfo.setSignStatus(StatusEnum.NOT_SIGNED.getName());
+                    tranCarInfo.setSignStatusFlag(StatusEnum.NOT_SIGNED.getFlag());
+                    }
+                    //汽运类型
+                    if(tranCarInfo.getTranType().equals(NumberConstant.CONSTANT1)){
+                        tranCarInfo.setStatusFlag(StatusEnum.NOT_DELIVERED.getFlag());
+                        tranCarInfo.setStatus(StatusEnum.NOT_DELIVERED.getName());
+                    }
+                    tranCarInfoService.insert(tranCarInfo);
+                } else {
+                    if(!NumberConstant.CONSTANT1.equals(tranCarInfo.getTemporaryDriverFlag())&&tranCarInfo.getLoadNetWeight()>0){
+                        tranCarInfo.setSignStatus(StatusEnum.NOT_SIGNED.getName());
+                        tranCarInfo.setSignStatusFlag(StatusEnum.NOT_SIGNED.getFlag());
+                    }
+                    tranCarInfoService.updateById(tranCarInfo);
+                }
+            });
+        }
+        return tranProcessInfo.getId();
+//        List<TranCarInfo> tranCarInfoList = tranProcessInfo.getTranCarInfoList();
+//        List<TranCarInfo> tranCarInfoListTmp = new ArrayList<>();
+//        if (!CollectionUtils.isEmpty(tranCarInfoList)) {
+//            for (TranCarInfo tranCarInfos : tranCarInfoList) {
+//                //判断是否有记录
+//                if(!StringUtils.isEmpty(tranCarInfos.getId())){
+//                    continue;
+//                }
+//                tranCarInfos.setProcessId(tranProcessInfo.getId());
+//                tranCarInfos.setInfoId(tranProcessInfo.getInfoId());
+//                tranCarInfos.setId(IdGenerator.generateUUID());
+//                //汽运类型
+//                if(tranCarInfos.getTranType().equals(NumberConstant.CONSTANT1)){
+//                    tranCarInfos.setStatusFlag(StatusEnum.NOT_DELIVERED.getFlag());
+//                    tranCarInfos.setStatus(StatusEnum.NOT_DELIVERED.getName());
+//                }
+//                tranCarInfoListTmp.add(tranCarInfos);
+//            }
+//        }
+//        boolean one = tranCarInfoService.insertBatch(tranCarInfoListTmp);
+//
+//
+    }
+
+    /**
+     * 更改反馈状态
+     * @param id
+     * @return
+     */
+    public String editFeedbackStatus(String id){
+        //查询反馈信息
+        TranProcessInfo tranProcessInfo = this.selectById(id);
+        if(tranProcessInfo != null){
+            if(StatusEnum.FEEDBACK_DO.getFlag().equals(tranProcessInfo.getFeedbackStatusFlag())){
+                tranProcessInfo.setFeedbackStatusFlag(StatusEnum.FEEDBACK_COMPLETED.getFlag());
+                tranProcessInfo.setFeedbackStatus(StatusEnum.FEEDBACK_COMPLETED.getName());
+            }else{
+                tranProcessInfo.setFeedbackStatusFlag(StatusEnum.FEEDBACK_DO.getFlag());
+                tranProcessInfo.setFeedbackStatus(StatusEnum.FEEDBACK_DO.getName());
+            }
+            this.updateById(tranProcessInfo);
+            // 插入操作历史
+            String staffName = this.billOperateHisService.getStaffAndName();
+            // 插入操作历史
+            this.billOperateHisService.saveBillOperateHis(tranProcessInfo.getId(), NumberConstant.CONSTANT_FEEDBACK, staffName, null,
+                    tranProcessInfo.getStatus(), null, "");
+            return "OK";
+        }
+        return "NG";
+    }
+}

+ 247 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/TranTaskInfoServiceImpl.java

@@ -0,0 +1,247 @@
+package com.yh.saas.plugin.yiliangyiyun.service.impl;
+
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.plugins.Page;
+import com.google.common.collect.Lists;
+import com.yh.saas.common.support.util.IdGenerator;
+import com.yh.saas.common.support.util.StringUtils;
+import com.yh.saas.plugin.base.service.ICommonBillOperateHisService;
+import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
+import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
+import com.yh.saas.plugin.yiliangyiyun.entity.*;
+import com.yh.saas.plugin.yiliangyiyun.exception.YException;
+import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
+import com.yh.saas.plugin.yiliangyiyun.mapper.TranTaskInfoMapper;
+import com.yh.saas.plugin.yiliangyiyun.service.ITranCarInfoService;
+import com.yh.saas.plugin.yiliangyiyun.service.ITranProcessInfoService;
+import com.yh.saas.plugin.yiliangyiyun.service.ITranTaskInfoService;
+import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseBaseInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 记录运输任务 服务实现类
+ * </p>
+ *
+ * @author Gongdc
+ * @since 2021-05-31
+ */
+@Service
+public class TranTaskInfoServiceImpl extends ServiceImpl<TranTaskInfoMapper, TranTaskInfo> implements ITranTaskInfoService {
+
+    @Autowired
+    private ITranProcessInfoService tranProcessInfoService;
+    @Autowired
+    private ITranTaskInfoService tranTaskInfoService;
+    @Autowired
+    private ITranCarInfoService tranCarInfoService;
+    @Autowired
+    private ICommonBillOperateHisService billOperateHisService;
+    @Autowired
+    private IWarehouseBaseInfoService warehouseBaseInfoService;
+    /**
+     * 创建运输任务
+     * @param tranTaskInfo
+     * @return
+     */
+    @Override
+    public String addTranTask(TranTaskInfo tranTaskInfo){
+        //新增主键id
+        tranTaskInfo.setId(IdGenerator.generateUUID());
+        tranTaskInfo.setStatus(StatusEnum.TRAN_DO.getName());
+        tranTaskInfo.setStatusFlag(StatusEnum.TRAN_DO.getFlag());
+        //新增运输阶段
+        List<TranProcessInfo> tranProcessInfoList = tranTaskInfo.getTranProcessInfoList();
+        if (!CollectionUtils.isEmpty(tranProcessInfoList)) {
+            for (TranProcessInfo tranProcessInfo : tranProcessInfoList) {
+                tranProcessInfo.setId(IdGenerator.generateUUID());
+                tranProcessInfo.setInfoId(tranTaskInfo.getId());
+                tranProcessInfo.setGoodsName(tranTaskInfo.getGoodsName());
+                tranProcessInfo.setGoodsNameKey(tranTaskInfo.getGoodsNameKey());
+                tranProcessInfo.setContractNo(tranTaskInfo.getContractNo());
+                tranProcessInfo.setReceivingDate(tranTaskInfo.getCreateDate());
+                tranProcessInfo.setStatusFlag(StatusEnum.PROCESS_DO.getFlag());
+                tranProcessInfo.setStatus(StatusEnum.PROCESS_DO.getName());
+                tranProcessInfo.setFeedbackStatusFlag(StatusEnum.FEEDBACK_DO.getFlag());
+                tranProcessInfo.setFeedbackStatus(StatusEnum.FEEDBACK_DO.getName());
+            }
+        }
+        //判断任务编号是否唯一
+        List<TranTaskInfo> tranTaskInfoList = tranTaskInfoService.selectList(new EntityWrapper<TranTaskInfo>()
+                .eq(TranTaskInfo.QueryFiles.TASK_NO,tranTaskInfo.getTaskNo())
+                .eq(TranTaskInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0));
+        if (tranTaskInfoList.size()>0){
+            throw new YException(YExceptionEnum.TASK_NO_ERROR);
+        }
+        boolean one = this.insert(tranTaskInfo);
+        boolean two = tranProcessInfoService.insertBatch(tranProcessInfoList);
+        // 插入操作历史
+        String staffName = this.billOperateHisService.getStaffAndName();
+        // 插入操作历史
+        this.billOperateHisService.saveBillOperateHis(tranTaskInfo.getId(), NumberConstant.CONSTANT_TRAN, staffName, null,
+                tranTaskInfo.getStatus(), null, "");
+        // 假如 都成功返回ok
+        if (one && two ) {
+            return "OK";
+        } else {
+            return "NG";
+        }
+    }
+
+    /**
+     * 查看运输信息
+     * @param id
+     * @return
+     */
+    @Override
+    public TranTaskInfo getTranTask(String id){
+        //查看运输信息
+        TranTaskInfo tranTaskInfo = this.selectById(id);
+        //查看运输阶段信息
+        List<TranProcessInfo> tranProcessInfoList = tranProcessInfoService.selectList(new EntityWrapper<TranProcessInfo>()
+                .eq(TranProcessInfo.QueryFiles.INFO_ID,id).eq(TranProcessInfo.QueryFiles.DELETE_FLAG,NumberConstant.CONSTANT0));
+        if (!CollectionUtils.isEmpty(tranProcessInfoList)) {
+            tranTaskInfo.setTranProcessInfoList(tranProcessInfoList);
+        }
+        return tranTaskInfo;
+    }
+
+    /**
+     * 删除运输信息
+     * @param id
+     * @return
+     */
+    @Override
+    public void deleteTranTask(String id) {
+        //删除运输信息
+        TranTaskInfo tranTaskInfo = this.selectById(id);
+        //判断是否有运输阶段
+        List<TranProcessInfo> tranProcessInfos = tranProcessInfoService.selectList(new EntityWrapper<TranProcessInfo>()
+                .eq(TranProcessInfo.QueryFiles.INFO_ID, tranTaskInfo.getId()));
+        if(tranProcessInfos.size()>1){
+            throw new YException(YExceptionEnum.TRAN_PROCESS_SORT_ERROR);
+        }
+        else{
+            //删除运输信息
+            this.deleteById(tranTaskInfo.getId());
+            //删除运输阶段信息
+            tranProcessInfoService.deleteById(tranProcessInfos.get(0).getId());
+        if (!CollectionUtils.isEmpty(tranProcessInfos)) {
+            for (TranProcessInfo tranProcessInfo : tranProcessInfos) {
+                tranProcessInfoService.deleteById(tranProcessInfo.getId());
+                }
+            }
+        }
+    }
+
+    /**
+     * 编辑运输任务
+     * @param tranTaskInfo
+     * @return
+     */
+    @Override
+    public String editTranTask(TranTaskInfo tranTaskInfo){
+        // 运输任务编辑
+        this.updateById(tranTaskInfo);
+        //运输阶段编辑
+        List<TranProcessInfo> tranProcessInfoList = tranTaskInfo.getTranProcessInfoList();
+        if (!CollectionUtils.isEmpty(tranProcessInfoList)){
+            tranProcessInfoList.forEach(tranProcessInfo -> {
+                if(StringUtils.isEmpty(tranProcessInfo.getId())){
+                    tranProcessInfo.setId(IdGenerator.generateUUID());
+                    tranProcessInfoService.insert(tranProcessInfo);
+                }
+                else{
+                    if(StatusEnum.TRAN_COMPLETED.getFlag().equals(tranTaskInfo.getStatusFlag())) {
+                        throw new YException(YExceptionEnum.TRAN_PROCESS_ERROR);
+                    }else {
+                        tranProcessInfoService.updateById(tranProcessInfo);
+                    }
+                }
+            });
+        }
+        return tranTaskInfo.getId();
+    }
+
+    /**
+     * 运输管理页面
+     * @param tranTaskInfo
+     * @return
+     */
+    @Override
+    public Page<TranTaskInfo> selectTranTaskInfoPage(TranTaskInfo tranTaskInfo){
+        Map<String, Object> pageView = new HashMap<>();
+        pageView.put("startRecord", (tranTaskInfo.getCurrentPage() - 1)
+                * tranTaskInfo.getPageSize());
+        //公司id
+        pageView.put("compId",tranTaskInfo.getCompId());
+        pageView.put("start",tranTaskInfo.getStart());
+        pageView.put("end",tranTaskInfo.getEnd());
+        pageView.put("searchKeyWord",tranTaskInfo.getSearchKeyWord());
+        pageView.put("searchType", tranTaskInfo.getSearchType());
+        pageView.put("pageSize",tranTaskInfo.getPageSize());
+        pageView.put("currentPage",tranTaskInfo.getCurrentPage());
+        // 查询运输任务总数
+        Integer dataCount = baseMapper.getCountByCondition(pageView);
+        List<TranTaskInfo> dataList = baseMapper.getListByCondition(pageView);
+        Page<TranTaskInfo> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(tranTaskInfo.getCurrentPage());
+        page.setSize(tranTaskInfo.getPageSize());
+        return page;
+    }
+
+    /**
+     * 更改状态
+     * @param id
+     * @return
+     */
+    @Override
+    public String editStatus(String id){
+        //查询运输任务信息
+        TranTaskInfo tranTaskInfo = this.selectById(id);
+        //更改状态
+        if (tranTaskInfo != null ){
+            if (StatusEnum.TRAN_DO.getFlag().equals(tranTaskInfo.getStatusFlag())) {
+                tranTaskInfo.setStatusFlag(StatusEnum.TRAN_COMPLETED.getFlag());
+                tranTaskInfo.setStatus(StatusEnum.TRAN_COMPLETED.getName());
+            } else {
+                tranTaskInfo.setStatusFlag(StatusEnum.TRAN_DO.getFlag());
+                tranTaskInfo.setStatus(StatusEnum.TRAN_DO.getName());
+            }
+            //更改运输任务信息
+            this.updateById(tranTaskInfo);
+            // 插入操作历史
+            String staffName = this.billOperateHisService.getStaffAndName();
+            // 插入操作历史
+            this.billOperateHisService.saveBillOperateHis(tranTaskInfo.getId(), NumberConstant.CONSTANT_TRAN, staffName, null,
+                    tranTaskInfo.getStatus(), null, "");
+            return "OK";
+        }
+        return "NG";
+    }
+    
+    /**
+     * 根据仓库类型选库名
+     * @param compId
+     * @param warehouseType
+     * @return
+     */
+    @Override
+    public List<WarehouseBaseInfo> selectWarehouseList(String compId, String warehouseType) {
+        List<WarehouseBaseInfo> warehouseBaseInfoList =warehouseBaseInfoService.selectList(new EntityWrapper<WarehouseBaseInfo>()
+                .eq(WarehouseBaseInfo.QueryFiles.COMP_ID, compId)
+                .eq(WarehouseBaseInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0)
+                .eq(WarehouseBaseInfo.QueryFiles.WAREHOUSE_TYPE,warehouseType)
+                .orderBy(WarehouseBaseInfo.QueryFiles.UPDATE_DATE, false));
+        return warehouseBaseInfoList;
+    }
+}

+ 361 - 91
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseBaseInfoServiceImpl.java

@@ -4,12 +4,11 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.yh.saas.common.support.util.IdGenerator;
 import com.yh.saas.common.support.util.StringUtils;
+import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
-import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
-import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseInOutInfo;
-import com.yh.saas.plugin.yiliangyiyun.entity.WarehousePositionInfo;
-import com.yh.saas.plugin.yiliangyiyun.entity.WarehousePositionStorageInfo;
+import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseView;
+import com.yh.saas.plugin.yiliangyiyun.entity.view.WarehouseNumView;
 import com.yh.saas.plugin.yiliangyiyun.exception.YException;
 import com.yh.saas.plugin.yiliangyiyun.exception.YExceptionEnum;
 import com.yh.saas.plugin.yiliangyiyun.mapper.WarehouseBaseInfoMapper;
@@ -20,6 +19,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
 import java.util.ArrayList;
+import java.util.Comparator;
 import java.util.List;
 
 /**
@@ -39,6 +39,10 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
     private IWarehouseInOutInfoService warehouseInOutInfoService;
     @Autowired
     private IWarehousePositionStorageInfoService warehousePositionStorageInfoService;
+    @Autowired
+    private IWarehouseBaseInfoService warehouseBaseInfoService;
+    @Autowired
+    private IContractManagementInfoService contractManagementInfoService;
 
     /**
      * 仓库管理页面列表
@@ -47,94 +51,218 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
      * @return
      */
     @Override
-    public List<WarehouseView> selectWarehouseViewinfo(String compId, String warehouseName) {
+    public List<WarehouseView> selectWarehouseViewinfo(String compId, String warehouseName, String warehouseType) {
         List<WarehouseView> warehouseViews = new ArrayList<>();
         Wrapper<WarehouseBaseInfo> warehouseBaseInfoWrapper = new EntityWrapper<>();
-        warehouseBaseInfoWrapper.eq("comp_id", compId).eq("delete_flag", "0").eq("show_flag", "1");
+        warehouseBaseInfoWrapper.eq(WarehouseBaseInfo.QueryFiles.COMP_ID, compId)
+                .eq(WarehouseBaseInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0)
+                .eq(WarehouseBaseInfo.QueryFiles.SHOW_FLAG, NumberConstant.CONSTANT1).eq(WarehouseBaseInfo.QueryFiles.WAREHOUSE_TYPE, warehouseType);
         if (!StringUtils.isEmpty(warehouseName)) {
-            warehouseBaseInfoWrapper.eq("warehouse_name", warehouseName);
+            warehouseBaseInfoWrapper.like(WarehouseBaseInfo.QueryFiles.WAREHOUSE_NAME, "%" + warehouseName + "%");
         }
         // 查出所有仓库
         List<WarehouseBaseInfo> warehouseBaseInfoList = this.selectList(warehouseBaseInfoWrapper);
-        if (!CollectionUtils.isEmpty(warehouseBaseInfoList)) {
-            for (WarehouseBaseInfo warehouseBaseInfo : warehouseBaseInfoList) {
-                // 以库位为维度查询
-                List<WarehousePositionInfo> warehousePositionInfos = warehousePositionInfoService.selectList(new EntityWrapper<WarehousePositionInfo>()
-                        .eq("comp_id", compId).eq("base_id", warehouseBaseInfo.getId()));
-                if (!CollectionUtils.isEmpty(warehousePositionInfos)) {
-                    for (WarehousePositionInfo warehousePositionInfo : warehousePositionInfos) {
-                        WarehouseView warehouseView = new WarehouseView();
-                        warehouseView.setWarehouseId(warehouseBaseInfo.getId());
-                        warehouseView.setWarehouseName(warehouseBaseInfo.getWarehouseName());
-                        warehouseView.setBinNumberId(warehousePositionInfo.getId());
-                        warehouseView.setBinNumber(warehousePositionInfo.getBinNumber());
-                        warehouseView.setCapacity(String.valueOf(warehousePositionInfo.getMaxStorage()));
-                        // 定义待完成数量
-                        int count = 0;
-                        // 定义应余量
-                        String storage = "";
-                        //定义入库
-                        String inNetWeight = "";
-                        // 查询入库数量
-                        List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
-                                .eq("position_id", warehousePositionInfo.getId()).eq("in_out_flag", "2").groupBy("goods_name_key").orderBy("goods_name_key"));
-                        if (!CollectionUtils.isEmpty(warehouseInOutInfoList)) {
-                            for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfoList) {
-                                // 查询入库数量
-                                List<WarehouseInOutInfo> warehouseInOutInfoAllList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
-                                        .eq("position_id", warehousePositionInfo.getId()).eq("in_out_flag", "2")
-                                        .eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
-                                if (!CollectionUtils.isEmpty(warehouseInOutInfoAllList)) {
-                                    Float netWeight = 0f;
-                                    for (WarehouseInOutInfo warehouse : warehouseInOutInfoAllList) {
-                                        netWeight = netWeight + warehouse.getNetWeight();
-                                        if ("1".equals(warehouse.getStatusFlag())) {
-                                            count++;
+        if (NumberConstant.CONSTANT1.equals(warehouseType)) {
+            if (!CollectionUtils.isEmpty(warehouseBaseInfoList)) {
+                for (WarehouseBaseInfo warehouseBaseInfo : warehouseBaseInfoList) {
+                    // 以库位为维度查询
+                    List<WarehousePositionInfo> warehousePositionInfos = warehousePositionInfoService.selectList(new EntityWrapper<WarehousePositionInfo>()
+                            .eq("base_id", warehouseBaseInfo.getId()));
+                    if (!CollectionUtils.isEmpty(warehousePositionInfos)) {
+                        for (WarehousePositionInfo warehousePositionInfo : warehousePositionInfos) {
+                            WarehouseView warehouseView = new WarehouseView();
+                            warehouseView.setWarehouseId(warehouseBaseInfo.getId());
+                            warehouseView.setWarehouseName(warehouseBaseInfo.getWarehouseName());
+                            warehouseView.setBinNumberId(warehousePositionInfo.getId());
+                            warehouseView.setBinNumber(warehousePositionInfo.getBinNumber());
+                            warehouseView.setCapacity(String.valueOf(warehousePositionInfo.getMaxStorage()));
+                            warehouseView.setRemark(warehousePositionInfo.getRemark());
+                            // 定义待完成数量
+                            int count = 0;
+                            // 定义应余量
+                            String storage = "";
+                            //定义入库
+                            String inNetWeight = "";
+                            // 子集合
+                            List<WarehouseNumView> warehouseNumViewList = new ArrayList<>();
+                            // 查询入库数量
+                            List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                                    .eq("position_id", warehousePositionInfo.getId()).eq("status_flag", "3").eq("in_out_flag", "2").groupBy("goods_name_key").orderBy("goods_name_key"));
+                            if (!CollectionUtils.isEmpty(warehouseInOutInfoList)) {
+                                for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfoList) {
+                                    WarehouseNumView warehouseNumView = new WarehouseNumView();
+                                    // 查询入库数量
+                                    List<WarehouseInOutInfo> warehouseInOutInfoAllList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                                            .eq("position_id", warehousePositionInfo.getId()).eq("in_out_flag", "2")
+                                            .eq("status_flag", "3").eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
+
+                                    if (!CollectionUtils.isEmpty(warehouseInOutInfoAllList)) {
+                                        Float netWeight = 0f;
+                                        for (WarehouseInOutInfo warehouse : warehouseInOutInfoAllList) {
+                                            netWeight = netWeight + warehouse.getNetWeight();
+                                        }
+                                        warehouseNumView.setGoodsName(warehouseInOutInfoAllList.get(0).getGoodsName());
+                                        warehouseNumView.setInNetWeight(String.valueOf(netWeight));
+                                        if (StringUtils.isEmpty(inNetWeight)) {
+                                            inNetWeight = "0";
                                         }
+                                        inNetWeight = String.valueOf(Float.valueOf(inNetWeight) + netWeight);
+                                    }
+                                    // 查询应余量
+                                    WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
+                                            .eq("position_id", warehouseInOutInfo.getPositionId()).eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
+                                    if (warehousePositionStorageInfo != null) {
+                                        storage = String.valueOf(warehousePositionStorageInfo.getStorage());
+                                    } else {
+                                        storage = "";
                                     }
-                                    inNetWeight = inNetWeight + warehouseInOutInfo.getGoodsName() + "(" + netWeight + ")  ";
+                                    warehouseNumView.setStorage(storage);
+                                    warehouseNumViewList.add(warehouseNumView);
                                 }
-                                // 查询应余量
-                                WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
-                                        .eq("position_id", warehouseInOutInfo.getPositionId()).eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
-                                storage = storage + warehousePositionStorageInfo.getGoodsName() + "(" + warehousePositionStorageInfo.getStorage() + ")";
 
                             }
-                        }
-                        warehouseView.setStorage(storage);
-                        warehouseView.setInNetWeight(inNetWeight);
-                        //定义出库
-                        String outNetWeight = "";
-                        // 查询出库数量
-                        List<WarehouseInOutInfo> warehouseInOutInfos = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
-                                .eq("position_id", warehousePositionInfo.getId()).eq("in_out_flag", "1").groupBy("goods_name_key").orderBy("goods_name_key"));
-                        if (!CollectionUtils.isEmpty(warehouseInOutInfos)) {
-                            for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfos) {
-                                List<WarehouseInOutInfo> warehouseInOutInfoAllList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
-                                        .eq("position_id", warehousePositionInfo.getId()).eq("in_out_flag", "1").eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
-                                if (!CollectionUtils.isEmpty(warehouseInOutInfoAllList)) {
+
+                            //定义出库
+                            String outNetWeight = "";
+                            // 查询出库数量
+                            List<WarehouseInOutInfo> warehouseInOutInfos = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                                    .eq("position_id", warehousePositionInfo.getId()).eq("status_flag", "3").eq("in_out_flag", "1").groupBy("goods_name_key").orderBy("goods_name_key"));
+                            if (!CollectionUtils.isEmpty(warehouseInOutInfos)) {
+                                for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfos) {
                                     Float netWeight = 0f;
-                                    for (WarehouseInOutInfo warehouse : warehouseInOutInfoAllList) {
-                                        netWeight = netWeight + warehouse.getNetWeight();
-                                        if ("1".equals(warehouse.getStatusFlag())) {
-                                            count++;
+                                    outNetWeight = "0";
+                                    List<WarehouseInOutInfo> warehouseInOutInfoAllList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                                            .eq("status_flag", "3").eq("position_id", warehousePositionInfo.getId()).eq("in_out_flag", "1").eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
+                                    if (!CollectionUtils.isEmpty(warehouseInOutInfoAllList)) {
+                                        for (WarehouseInOutInfo warehouse : warehouseInOutInfoAllList) {
+                                            netWeight = netWeight + warehouse.getNetWeight();
+                                        }
+                                        if (StringUtils.isEmpty(outNetWeight)) {
+                                            outNetWeight = "0";
                                         }
+                                        outNetWeight = String.valueOf(Float.valueOf(outNetWeight) + netWeight);
                                     }
-                                    outNetWeight = outNetWeight + warehouseInOutInfo.getGoodsName() + "(" + netWeight + ")  ";
+                                    for (WarehouseNumView warehouseNumView : warehouseNumViewList) {
+                                        if (warehouseNumView.getGoodsName().equals(warehouseInOutInfo.getGoodsName())) {
+                                            warehouseNumView.setOutNetWeight(outNetWeight);
+                                        }
+
+                                    }
+                                }
+
+                            }
+                            // 查询入库数量
+                            count = warehouseInOutInfoService.selectCount(new EntityWrapper<WarehouseInOutInfo>()
+                                    .eq("position_id", warehousePositionInfo.getId())
+                                    .eq("status_flag", "1"));
+                            warehouseView.setNumber(count);
+                            warehouseView.setWarehouseNumViewList(warehouseNumViewList);
+                            warehouseViews.add(warehouseView);
+
+                        }
+                    }
+                }
+
+            }
+
+        } else {
+            if (!CollectionUtils.isEmpty(warehouseBaseInfoList)) {
+                for (WarehouseBaseInfo warehouseBaseInfo : warehouseBaseInfoList) {
+                    WarehouseView warehouseView = new WarehouseView();
+                    warehouseView.setWarehouseId(warehouseBaseInfo.getId());
+                    warehouseView.setCreateType(warehouseBaseInfo.getCreateType());
+                    warehouseView.setClearStatus(warehouseBaseInfo.getClearStatus());
+                    warehouseView.setClearStatusFlag(warehouseBaseInfo.getClearStatusFlag());
+                    warehouseView.setWarehouseName(warehouseBaseInfo.getWarehouseName());
+                    warehouseView.setUpdateDate(warehouseBaseInfo.getUpdateDate());
+                    warehouseView.setAddress(warehouseBaseInfo.getWarehousePrivate() + warehouseBaseInfo.getWarehouseCity() + warehouseBaseInfo.getWarehouseArea() + warehouseBaseInfo.getDetailedAddress());
+                    // 定义待完成数量
+                    int count = 0;
+                    //定义入库
+                    String inNetWeight = "";
+                    // 子集合
+                    List<WarehouseNumView> warehouseNumViewList = new ArrayList<>();
+                    // 查询入库数量
+                    List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                            .eq("base_id", warehouseBaseInfo.getId()).eq("status_flag", "3").eq("in_out_flag", "2").groupBy("goods_name_key").orderBy("goods_name_key"));
+                    if (!CollectionUtils.isEmpty(warehouseInOutInfoList)) {
+                        for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfoList) {
+                            WarehouseNumView warehouseNumView = new WarehouseNumView();
+                            // 查询入库数量
+                            List<WarehouseInOutInfo> warehouseInOutInfoAllList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                                    .eq("base_id", warehouseBaseInfo.getId()).eq("in_out_flag", "2")
+                                    .eq("status_flag", "3").eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
+
+                            if (!CollectionUtils.isEmpty(warehouseInOutInfoAllList)) {
+                                Float netWeight = 0f;
+                                for (WarehouseInOutInfo warehouse : warehouseInOutInfoAllList) {
+                                    netWeight = netWeight + warehouse.getNetWeight();
+                                }
+                                warehouseNumView.setGoodsName(warehouseInOutInfoAllList.get(0).getGoodsName());
+                                warehouseNumView.setInNetWeight(String.valueOf(netWeight));
+                                if (StringUtils.isEmpty(inNetWeight)) {
+                                    inNetWeight = "0";
                                 }
+                                inNetWeight = String.valueOf(Float.valueOf(inNetWeight) + netWeight);
                             }
+                            warehouseNumViewList.add(warehouseNumView);
+                        }
 
+                    }
+
+                    //定义出库
+                    String outNetWeight = "";
+                    // 查询出库数量
+                    List<WarehouseInOutInfo> warehouseInOutInfos = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                            .eq("base_id", warehouseBaseInfo.getId()).eq("status_flag", "3").eq("in_out_flag", "1").groupBy("goods_name_key").orderBy("goods_name_key"));
+                    if (!CollectionUtils.isEmpty(warehouseInOutInfos)) {
+                        for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfos) {
+                            Float netWeight = 0f;
+                            outNetWeight = "0";
+                            List<WarehouseInOutInfo> warehouseInOutInfoAllList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                                    .eq("status_flag", "3").eq("base_id", warehouseBaseInfo.getId()).eq("in_out_flag", "1").eq("goods_name_key", warehouseInOutInfo.getGoodsNameKey()));
+                            if (!CollectionUtils.isEmpty(warehouseInOutInfoAllList)) {
+                                for (WarehouseInOutInfo warehouse : warehouseInOutInfoAllList) {
+                                    netWeight = netWeight + warehouse.getNetWeight();
+                                }
+                                if (StringUtils.isEmpty(outNetWeight)) {
+                                    outNetWeight = "0";
+                                }
+                                outNetWeight = String.valueOf(Float.valueOf(outNetWeight) + netWeight);
+                            }
+                            for (WarehouseNumView warehouseNumView : warehouseNumViewList) {
+                                if (warehouseNumView.getGoodsName().equals(warehouseInOutInfo.getGoodsName())) {
+                                    warehouseNumView.setOutNetWeight(outNetWeight);
+                                }
+
+                            }
                         }
-                        warehouseView.setOutNetWeight(outNetWeight);
-                        warehouseView.setNumber(count);
-                        warehouseViews.add(warehouseView);
 
                     }
+                    // 查询入库数量
+                    count = warehouseInOutInfoService.selectCount(new EntityWrapper<WarehouseInOutInfo>()
+                            .eq("base_id", warehouseBaseInfo.getId())
+                            .eq("status_flag", "1"));
+                    warehouseView.setNumber(count);
+                    // 定义待完成数量
+                    int outCount = 0;
+                    outCount = warehouseInOutInfoService.selectCount(new EntityWrapper<WarehouseInOutInfo>()
+                            .eq("base_id", warehouseBaseInfo.getId())
+                            .eq("in_out_flag", "1")
+                            .eq("status_flag", "1"));
+                    warehouseView.setOutNumber(outCount);
+                    warehouseView.setWarehouseNumViewList(warehouseNumViewList);
+                    warehouseViews.add(warehouseView);
+                    // 排序
+                    Comparator<WarehouseView> byClearStatusFlag = Comparator.comparing(WarehouseView::getClearStatusFlag);
+                    Comparator<WarehouseView> byUpdateDate = Comparator.comparing(WarehouseView::getUpdateDate);
+                    warehouseViews.sort(byClearStatusFlag.thenComparing(byUpdateDate));
                 }
             }
 
         }
 
+
         return warehouseViews;
     }
 
@@ -152,6 +280,14 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                 warehousePositionInfo.setBaseId(warehouseBaseInfo.getId());
             }
         }
+        //判断仓库名称是否唯一
+        List<WarehouseBaseInfo> warehouseBaseInfos =
+                warehouseBaseInfoService.selectList(new EntityWrapper<WarehouseBaseInfo>()
+                        .eq("warehouse_name", warehouseBaseInfo.getWarehouseName())
+                        .eq("delete_flag", "0"));
+        if (warehouseBaseInfos.size() > 0) {
+            throw new YException(YExceptionEnum.WAREHOUSE_NAME_ERROR);
+        }
         boolean one = this.insert(warehouseBaseInfo);
         boolean two = warehousePositionInfoService.insertBatch(warehousePositionInfoList);
         // 假如 都成功返回ok
@@ -162,14 +298,54 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
         }
     }
 
+    /**
+     * 添加临时仓库
+     *
+     * @param warehouseBaseInfo
+     * @return
+     */
+    @Override
+    public String addTemporaryWarehouse(WarehouseBaseInfo warehouseBaseInfo) {
+        //新增主键id
+        if (StringUtils.isEmpty(warehouseBaseInfo.getId())) {
+            warehouseBaseInfo.setId(IdGenerator.generateUUID());
+        }
+        warehouseBaseInfo.setWarehouseType("2");
+        warehouseBaseInfo.setClearStatusFlag(StatusEnum.NOT_CLEARED.getFlag());
+        warehouseBaseInfo.setClearStatus(StatusEnum.NOT_CLEARED.getName());
+        //判断仓库名称是否唯一
+        List<WarehouseBaseInfo> warehouseBaseInfos =
+                warehouseBaseInfoService.selectList(new EntityWrapper<WarehouseBaseInfo>()
+                        .eq("warehouse_name", warehouseBaseInfo.getWarehouseName())
+                        .eq("delete_flag", "0")
+                        .eq("warehouse_type", "2"));
+        if (warehouseBaseInfos.size() > 0) {
+            throw new YException(YExceptionEnum.WAREHOUSE_NAME_ERROR);
+        }
+        this.insert(warehouseBaseInfo);
+        return warehouseBaseInfo.getId();
+    }
+
     /**
      * 编辑仓库
      */
     @Override
     public String editWarehouse(WarehouseBaseInfo warehouseBaseInfo) {
-        List<WarehousePositionInfo> warehousePositionInfoList = warehouseBaseInfo.getWarehousePositionInfoList();
         this.updateById(warehouseBaseInfo);
-        warehousePositionInfoService.updateBatchById(warehousePositionInfoList);
+        if (warehouseBaseInfo.getWarehouseType().equals("1")) {
+            List<WarehousePositionInfo> warehousePositionInfoList = warehouseBaseInfo.getWarehousePositionInfoList();
+            if (!CollectionUtils.isEmpty(warehousePositionInfoList)) {
+                warehousePositionInfoList.forEach(warehousePositionInfo -> {
+                    if (StringUtils.isEmpty(warehousePositionInfo.getId())) {
+                        warehousePositionInfo.setId(IdGenerator.generateUUID());
+                        warehousePositionInfo.setBaseId(warehouseBaseInfo.getId());
+                        warehousePositionInfoService.insert(warehousePositionInfo);
+                    } else {
+                        warehousePositionInfoService.updateById(warehousePositionInfo);
+                    }
+                });
+            }
+        }
         return warehouseBaseInfo.getId();
     }
 
@@ -179,9 +355,9 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
      * @return
      */
     @Override
-    public List<WarehouseBaseInfo> selectWarehouse(String compId) {
+    public List<WarehouseBaseInfo> selectWarehouse(String compId, String warehouseType) {
         List<WarehouseBaseInfo> warehouseBaseInfoList = this.selectList(new EntityWrapper<WarehouseBaseInfo>()
-                .eq("comp_id", compId).eq("delete_flag", "0"));
+                .eq("comp_id", compId).eq("warehouse_type", warehouseType).eq("delete_flag", "0"));
         return warehouseBaseInfoList;
     }
 
@@ -192,7 +368,22 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
     public WarehouseBaseInfo getWarehouse(String id) {
         WarehouseBaseInfo warehouseBaseInfo = this.selectById(id);
         List<WarehousePositionInfo> warehousePositionInfoList = warehousePositionInfoService.selectList(new EntityWrapper<WarehousePositionInfo>()
-                .eq("base_id", id));
+                .eq("base_id", id)
+                .eq("delete_flag", "0"));
+        warehousePositionInfoList.forEach(warehousePositionInfo -> {
+            List<WarehousePositionStorageInfo> warehousePositionStorageInfoList = warehousePositionStorageInfoService.selectList(new EntityWrapper<WarehousePositionStorageInfo>()
+                    .eq("position_id", warehousePositionInfo.getId())
+                    .eq("delete_flag", "0"));
+            Float storage = 0f;
+            String detailStorage = "";
+            for (WarehousePositionStorageInfo warehousePositionStorageInfo : warehousePositionStorageInfoList) {
+                storage = storage + warehousePositionStorageInfo.getStorage();
+                detailStorage = detailStorage + warehousePositionStorageInfo.getGoodsName() + "(" + warehousePositionStorageInfo.getStorage() + ")  ";
+            }
+            warehousePositionInfo.setDetailStorage(detailStorage);
+            warehousePositionInfo.setNowStorage(storage);
+        });
+
         warehouseBaseInfo.setWarehousePositionInfoList(warehousePositionInfoList);
         return warehouseBaseInfo;
     }
@@ -220,13 +411,18 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
     /**
      * 查询所有库房
      *
-     * @param compId
+     * @param compId,warehouseType
      * @return
      */
     @Override
-    public List<WarehouseBaseInfo> selectAllWarehouse(String compId) {
+    public List<WarehouseBaseInfo> selectAllWarehouse(String compId, String warehouseType, String warehouseName) {
+        Wrapper<WarehouseBaseInfo> warehouseBaseInfoWrapper = new EntityWrapper<>();
+        warehouseBaseInfoWrapper.eq("comp_id", compId).eq("delete_flag", "0").eq("show_flag", "1").eq("warehouse_type", warehouseType);
+        if (!StringUtils.isEmpty(warehouseName)) {
+            warehouseBaseInfoWrapper.like("warehouse_name", "%" + warehouseName + "%");
+        }
         // 查出所有仓库
-        List<WarehouseBaseInfo> warehouseBaseInfoList = this.selectList(new EntityWrapper<WarehouseBaseInfo>().eq("comp_id", compId).eq("delete_flag", "0"));
+        List<WarehouseBaseInfo> warehouseBaseInfoList = this.selectList(warehouseBaseInfoWrapper);
         if (!CollectionUtils.isEmpty(warehouseBaseInfoList)) {
             for (WarehouseBaseInfo warehouseBaseInfo : warehouseBaseInfoList) {
                 // 应余量
@@ -246,9 +442,47 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
                         }
                     }
                 }
+                //临时仓库
+                else {
+                    //定义入库
+                    String inNetWeight = "";
+                    // 查询入库数量
+                    List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                            .eq("base_id", warehouseBaseInfo.getId()).eq("status_flag", "3").eq("in_out_flag", "2"));
+                    if (!CollectionUtils.isEmpty(warehouseInOutInfoList)) {
+                        Float netWeight = 0f;
+                        for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfoList) {
+                            // 查询入库数量
+                            netWeight = netWeight + warehouseInOutInfo.getNetWeight();
+                            if (StringUtils.isEmpty(inNetWeight)) {
+                                inNetWeight = "0";
+                            }
+                            inNetWeight = String.valueOf(Float.valueOf(inNetWeight) + netWeight);
+                        }
+
+                    }
+                    //定义出库
+                    String outNetWeight = "";
+                    // 查询出库数量
+                    List<WarehouseInOutInfo> warehouseInOutInfos = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                            .eq("base_id", warehouseBaseInfo.getId()).eq("status_flag", "3").eq("in_out_flag", "1"));
+                    if (!CollectionUtils.isEmpty(warehouseInOutInfos)) {
+                        Float netWeight = 0f;
+                        for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfos) {
+                            netWeight = netWeight + warehouseInOutInfo.getNetWeight();
+                            if (StringUtils.isEmpty(outNetWeight)) {
+                                outNetWeight = "0";
+                            }
+                            outNetWeight = String.valueOf(Float.valueOf(outNetWeight) + netWeight);
+                        }
+
+                    }
+                    residual = Float.valueOf(!StringUtils.isEmpty(inNetWeight) ? inNetWeight : "0") - Float.valueOf(!StringUtils.isEmpty(outNetWeight) ? outNetWeight : "0");
+                }
                 warehouseBaseInfo.setResidual(residual);
             }
         }
+
         return warehouseBaseInfoList;
     }
 
@@ -262,26 +496,62 @@ public class WarehouseBaseInfoServiceImpl extends ServiceImpl<WarehouseBaseInfoM
         //查询仓库信息
         WarehouseBaseInfo warehouseBaseInfo = this.selectById(id);
         this.deleteById(warehouseBaseInfo.getId());
-        //查询仓位信息
-        List<WarehousePositionInfo> warehousePositionInfos = warehousePositionInfoService.selectList(new EntityWrapper<WarehousePositionInfo>()
-                .eq("base_id", warehouseBaseInfo.getId()));
-        if (!CollectionUtils.isEmpty(warehousePositionInfos)) {
-            for (WarehousePositionInfo warehousePositionInfo : warehousePositionInfos) {
-                warehousePositionInfoService.deleteById(warehousePositionInfo.getId());
-                //查询仓位存储量
-                List<WarehousePositionStorageInfo> warehousePositionStorageInfos = warehousePositionStorageInfoService.selectList(new EntityWrapper<WarehousePositionStorageInfo>()
-                        .eq("position_id", warehousePositionInfo.getId()));
-                if (!CollectionUtils.isEmpty(warehousePositionStorageInfos)) {
-                    for (WarehousePositionStorageInfo warehousePositionStorageInfo : warehousePositionStorageInfos) {
-                        //判断是否有剩余库存
-                        if (warehousePositionStorageInfo.getStorage() > 0) {
-                            throw new YException(YExceptionEnum.WAREHOSE_SYSTEM_ERROR);
-                        } else {
-                            warehousePositionStorageInfoService.deleteById(warehousePositionStorageInfo.getId());
+        if (warehouseBaseInfo.getWarehouseType().equals("1")) {
+            //查询仓位信息
+            List<WarehousePositionInfo> warehousePositionInfos = warehousePositionInfoService.selectList(new EntityWrapper<WarehousePositionInfo>()
+                    .eq("base_id", warehouseBaseInfo.getId()));
+            if (!CollectionUtils.isEmpty(warehousePositionInfos)) {
+                for (WarehousePositionInfo warehousePositionInfo : warehousePositionInfos) {
+                    warehousePositionInfoService.deleteById(warehousePositionInfo.getId());
+                    //查询仓位存储量
+                    List<WarehousePositionStorageInfo> warehousePositionStorageInfos = warehousePositionStorageInfoService.selectList(new EntityWrapper<WarehousePositionStorageInfo>()
+                            .eq("position_id", warehousePositionInfo.getId()));
+                    if (!CollectionUtils.isEmpty(warehousePositionStorageInfos)) {
+                        for (WarehousePositionStorageInfo warehousePositionStorageInfo : warehousePositionStorageInfos) {
+                            //判断是否有剩余库存
+                            if (warehousePositionStorageInfo.getStorage() > 0) {
+                                throw new YException(YExceptionEnum.WAREHOSE_SYSTEM_ERROR);
+                            } else {
+                                warehousePositionStorageInfoService.deleteById(warehousePositionStorageInfo.getId());
+                            }
                         }
                     }
                 }
             }
         }
+
+    }
+
+    /**
+     * 清仓状态
+     *
+     * @param id
+     * @return
+     */
+    @Override
+    public String editCleared(String id) {
+        //查询仓库信息
+        WarehouseBaseInfo warehouseBaseInfo = this.selectById(id);
+        //状态改为已清仓
+        warehouseBaseInfo.setClearStatusFlag(StatusEnum.CLEARED.getFlag());
+        warehouseBaseInfo.setClearStatus(StatusEnum.CLEARED.getName());
+        //更改仓库信息
+        this.updateById(warehouseBaseInfo);
+        return "OK";
+    }
+
+    /**
+     * 出入库合同编号下拉列表
+     *
+     * @param compId
+     * @return
+     */
+    @Override
+    public List<ContractManagementInfo> selectContractNoList(String compId) {
+        List<ContractManagementInfo> contractManagementInfoList = contractManagementInfoService.selectList(new EntityWrapper<ContractManagementInfo>()
+                .eq("comp_id", compId)
+                .eq("delete_flag", "0")
+                .orderBy("update_date", false));
+        return contractManagementInfoList;
     }
 }

+ 169 - 10
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInOutInfoServiceImpl.java

@@ -2,7 +2,9 @@ package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.yh.saas.common.support.util.IdGenerator;
+import com.yh.saas.plugin.yiliangyiyun.constant.NumberConstant;
 import com.yh.saas.plugin.yiliangyiyun.constant.StatusEnum;
 import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.exception.YException;
@@ -20,6 +22,8 @@ import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseInOutInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.RequestBody;
 
 import java.util.List;
 
@@ -44,6 +48,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
     private IWarehouseBaseInfoService warehouseBaseInfoService;
     @Autowired
     private IWarehousePositionInfoService warehousePositionInfoService;
+    @Autowired
+    private IWarehouseInOutInfoService warehouseInOutInfoService;
 
     /**
      * 待完成页面列表
@@ -57,15 +63,62 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
         Page<WarehouseInOutInfo> warehouseInOutInfoPage = this.selectPage(warehouseInOutInfo.getQueryPage(), new EntityWrapper<WarehouseInOutInfo>()
                 .eq("base_id", warehouseInOutInfo.getBaseId())
                 .eq("position_id", warehouseInOutInfo.getPositionId())
-                .orderBy("update_date",false));
+                .eq("status_flag", StatusEnum.TEMPORARILY_STORED.getFlag())
+                .orderBy("update_date", false));
+        List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoPage.getRecords();
+        if (warehouseInOutInfoList != null) {
+            for (WarehouseInOutInfo warehouseInOutInfo1 : warehouseInOutInfoList) {
+                //查询化验数据
+                Wrapper<WarehouseInOutDetail> warehouseInOutDetailWrapper = new EntityWrapper<>();
+                warehouseInOutDetailWrapper.eq("info_id", warehouseInOutInfo1.getId());
+                warehouseInOutDetailWrapper.eq("delete_flag", "0");
+                WarehouseInOutDetail warehouseInOutDetail = warehouseInOutDetailService.selectOne(warehouseInOutDetailWrapper);
+                warehouseInOutInfo1.setWarehouseInOutDetail(warehouseInOutDetail);
+            }
+        }
+        warehouseInOutInfoPage.setRecords(warehouseInOutInfoList);
         //查询总数
-        Integer count=this.selectCount( new EntityWrapper<WarehouseInOutInfo>()
+        Integer count = this.selectCount(new EntityWrapper<WarehouseInOutInfo>()
                 .eq("base_id", warehouseInOutInfo.getBaseId())
+                .eq("status_flag", StatusEnum.TEMPORARILY_STORED.getFlag())
                 .eq("position_id", warehouseInOutInfo.getPositionId()));
         warehouseInOutInfoPage.setSize(count);
         return warehouseInOutInfoPage;
     }
 
+    /**
+     * 待完成页面列表(临时仓库)
+     *
+     * @param warehouseInOutInfo
+     * @return
+     */
+    @Override
+    public Page<WarehouseInOutInfo> selectWarehouseInOutInfoTemporary(WarehouseInOutInfo warehouseInOutInfo) {
+        //查询页面信息
+        Page<WarehouseInOutInfo> warehouseInOutInfoPage = this.selectPage(warehouseInOutInfo.getQueryPage(), new EntityWrapper<WarehouseInOutInfo>()
+                .eq("base_id", warehouseInOutInfo.getBaseId())
+                .eq("status_flag", StatusEnum.TEMPORARILY_STORED.getFlag())
+                .orderBy("update_date", true));
+        List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoPage.getRecords();
+        if (warehouseInOutInfoList != null) {
+            for (WarehouseInOutInfo warehouseInOutInfo1 : warehouseInOutInfoList) {
+                //查询化验数据
+                Wrapper<WarehouseInOutDetail> warehouseInOutDetailWrapper = new EntityWrapper<>();
+                warehouseInOutDetailWrapper.eq("info_id", warehouseInOutInfo1.getId());
+                warehouseInOutDetailWrapper.eq("delete_flag", "0");
+                WarehouseInOutDetail warehouseInOutDetail = warehouseInOutDetailService.selectOne(warehouseInOutDetailWrapper);
+                warehouseInOutInfo1.setWarehouseInOutDetail(warehouseInOutDetail);
+            }
+        }
+        warehouseInOutInfoPage.setRecords(warehouseInOutInfoList);
+        //查询总数
+        Integer count = this.selectCount(new EntityWrapper<WarehouseInOutInfo>()
+                .eq("base_id", warehouseInOutInfo.getBaseId())
+                .eq("status_flag", StatusEnum.TEMPORARILY_STORED.getFlag()));
+        warehouseInOutInfoPage.setSize(count);
+        return warehouseInOutInfoPage;
+    }
+
     /**
      * 删除
      *
@@ -87,17 +140,21 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
 
     /**
      * 出入库
+     *
      * @param warehouseInOutInfo
      * @return
      */
     @Override
     public String InOutWarehouse(WarehouseInOutInfo warehouseInOutInfo) {
         WarehouseInOutDetail warehouseInOutDetail = warehouseInOutInfo.getWarehouseInOutDetail();
+        // 查询仓库
+        WarehouseBaseInfo warehouseBaseInfo = warehouseBaseInfoService.selectById(warehouseInOutInfo.getBaseId());
         //判断暂存提交(前端传参1暂存3提交)
         if ("1".equals(warehouseInOutInfo.getStatusFlag())) {
             //插入记录
             if (StringUtils.isEmpty(warehouseInOutInfo.getId())) {
                 warehouseInOutInfo.setId(IdGenerator.generateUUID());
+                warehouseInOutInfo.setStatusFlag(StatusEnum.TEMPORARILY_STORED.getFlag());
                 warehouseInOutInfo.setStatus(StatusEnum.TEMPORARILY_STORED.getName());
                 this.insert(warehouseInOutInfo);
                 // 详情
@@ -113,10 +170,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
 
         } else {
             //判断出入库
-            if ("2".equals(warehouseInOutInfo.getInOutFlag())) {
+            if ("2".equals(warehouseInOutInfo.getInOutFlag()) && "1".equals(warehouseBaseInfo.getWarehouseType())) {
                 //判断是否有货
-                // 查询仓库
-                WarehouseBaseInfo warehouseBaseInfo = warehouseBaseInfoService.selectById(warehouseInOutInfo.getBaseId());
                 if (warehouseBaseInfo != null) {
                     //  查询库位
                     WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
@@ -145,11 +200,8 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
                         }
                     }
                 }
-
-            } else {
+            } else if ("1".equals(warehouseInOutInfo.getInOutFlag()) && "1".equals(warehouseBaseInfo.getWarehouseType())) {
                 //判断是否有货
-                // 查询仓库
-                WarehouseBaseInfo warehouseBaseInfo = warehouseBaseInfoService.selectById(warehouseInOutInfo.getBaseId());
                 if (warehouseBaseInfo != null) {
                     //  查询库位
                     WarehousePositionInfo warehousePositionInfo = warehousePositionInfoService.selectById(warehouseInOutInfo.getPositionId());
@@ -190,6 +242,7 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
             //插入记录
             if (StringUtils.isEmpty(warehouseInOutInfo.getId())) {
                 warehouseInOutInfo.setId(IdGenerator.generateUUID());
+                warehouseInOutInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
                 warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
                 this.insert(warehouseInOutInfo);
                 // 详情
@@ -199,14 +252,15 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
             }
             // 编辑修改记录
             else {
+                warehouseInOutInfo.setStatusFlag(StatusEnum.SUBMITTED.getFlag());
                 warehouseInOutInfo.setStatus(StatusEnum.SUBMITTED.getName());
                 this.updateById(warehouseInOutInfo);
                 warehouseInOutDetailService.updateById(warehouseInOutDetail);
             }
         }
-
         return "OK";
     }
+
     /**
      * 流转记录查询
      *
@@ -235,4 +289,109 @@ public class WarehouseInOutInfoServiceImpl extends ServiceImpl<WarehouseInOutInf
         page.setSize(warehouseInOutInfo.getPageSize());
         return page;
     }
+
+    /**
+     * 流转记录查询(临时仓库)
+     *
+     * @param warehouseInOutInfo
+     * @return
+     */
+    @Override
+    public Page<WarehouseInOutInfo> selectInfoTemporary(WarehouseInOutInfo warehouseInOutInfo) {
+        Map<String, Object> pageView = new HashMap<>();
+        pageView.put("startRecord", (warehouseInOutInfo.getCurrentPage() - 1)
+                * warehouseInOutInfo.getPageSize());
+        //  仓库ID
+        pageView.put("baseId", warehouseInOutInfo.getBaseId());
+        pageView.put("searchType", warehouseInOutInfo.getSearchType());
+        pageView.put("pageSize", warehouseInOutInfo.getPageSize());
+        pageView.put("currentPage", warehouseInOutInfo.getCurrentPage());
+        // 查询记录总数
+        Integer dataCount = baseMapper.getCountByConditionTemporary(pageView);
+        List<WarehouseInOutInfo> dataList = baseMapper.getListByConditionTemporary(pageView);
+        Page<WarehouseInOutInfo> page = new Page<>();
+        page.setRecords(dataList == null ? Lists.newArrayList() : dataList);
+        page.setTotal(dataCount == null ? 0 : dataCount);
+        page.setCurrent(warehouseInOutInfo.getCurrentPage());
+        page.setSize(warehouseInOutInfo.getPageSize());
+        return page;
+    }
+
+    /**
+     * 临时仓库货名下拉列表
+     *
+     * @param baseId
+     * @return
+     */
+    @Override
+    public List<WarehouseInOutInfo> selectTemporaryGoodsNameList(String baseId) {
+        List<WarehouseInOutInfo> warehouseInOutInfoList = this.selectList(new EntityWrapper<WarehouseInOutInfo>()
+                .eq("base_id", baseId).eq("delete_flag", "0").eq("status_flag", "3"));
+        return warehouseInOutInfoList;
+    }
+
+
+    /******************************************仓库任务使用*****************************************************/
+
+    /**
+     * 出入库任务新增 编辑
+     *
+     * @param warehouseInOutInfo
+     * @return
+     */
+    @Override
+    public String insertOrUpdateInOutTask(WarehouseInOutInfo warehouseInOutInfo) {
+        // 根据传参id判断是否是新增
+        //  空是新增
+        if (StringUtils.isEmpty(warehouseInOutInfo.getId())) {
+
+            // 主键id
+            warehouseInOutInfo.setId(IdGenerator.generateUUID());
+            warehouseInOutInfo.setTaskStatusKey(StatusEnum.TASK_REVIEWED.getFlag());
+            warehouseInOutInfo.setTaskStatus(StatusEnum.TASK_REVIEWED.getName());
+            // 化验数据
+            WarehouseInOutDetail warehouseInOutDetail = warehouseInOutInfo.getWarehouseInOutDetail();
+            if (warehouseInOutDetail != null) {
+                warehouseInOutDetail.setId(IdGenerator.generateUUID());
+                warehouseInOutDetail.setInfoId(warehouseInOutInfo.getId());
+                // 操作详情数据库
+                warehouseInOutDetailService.insert(warehouseInOutDetail);
+            }
+
+            // 操作主表数据
+            this.insert(warehouseInOutInfo);
+        }
+        //  有id是修改
+        else {
+            // 化验数据
+            WarehouseInOutDetail warehouseInOutDetail = warehouseInOutInfo.getWarehouseInOutDetail();
+            if (warehouseInOutDetail != null) {
+                // 操作详情数据库
+                warehouseInOutDetailService.updateById(warehouseInOutDetail);
+            }
+            // 操作主表数据
+            this.updateById(warehouseInOutInfo);
+        }
+        return warehouseInOutInfo.getId();
+    }
+
+    /**
+     * 判断移库编号
+     *
+     * @param moveTaskNo
+     * @return
+     */
+    @Override
+    public boolean selectTaskNo(String moveTaskNo) {
+        // 根据出入出入库编号查询数据
+        WarehouseInOutInfo warehouseInOutInfo = this.selectOne(new EntityWrapper<WarehouseInOutInfo>().eq(WarehouseInOutInfo.QueryFiles.MOVE_TASK_NO, moveTaskNo)
+                .eq(WarehouseInOutInfo.QueryFiles.DELETE_FLAG, NumberConstant.CONSTANT0));
+        //如果没有可以使用
+        if (warehouseInOutInfo == null) {
+            return true;
+        } else {
+            return false;
+        }
+    }
+
 }

+ 44 - 4
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehouseInventoryCountInfoServiceImpl.java

@@ -4,16 +4,21 @@ import com.baomidou.mybatisplus.mapper.EntityWrapper;
 import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.google.common.collect.Lists;
+import com.winsea.svc.base.base.util.DateUtils;
 import com.winsea.svc.base.security.util.AuthSecurityUtils;
+import com.yh.saas.common.support.util.IdGenerator;
 import com.yh.saas.plugin.yiliangyiyun.entity.*;
 import com.yh.saas.plugin.yiliangyiyun.mapper.WarehouseInventoryCountInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseInOutInfoService;
 import com.yh.saas.plugin.yiliangyiyun.service.IWarehouseInventoryCountInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import com.yh.saas.plugin.yiliangyiyun.service.IWarehousePositionStorageInfoService;
+import org.apache.commons.httpclient.util.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
 
+import java.util.Date;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -31,6 +36,8 @@ public class WarehouseInventoryCountInfoServiceImpl extends ServiceImpl<Warehous
 
     @Autowired
     private IWarehouseInOutInfoService warehouseInOutInfoService;
+    @Autowired
+    private IWarehousePositionStorageInfoService warehousePositionStorageInfoService;
 
     /**
      * 查询盘损记录
@@ -61,7 +68,7 @@ public class WarehouseInventoryCountInfoServiceImpl extends ServiceImpl<Warehous
     }
 
     /**
-     * 盘损
+     * 根据货名查累计量
      *
      * @param warehouseInventoryCountInfo
      * @return
@@ -83,12 +90,14 @@ public class WarehouseInventoryCountInfoServiceImpl extends ServiceImpl<Warehous
             Float physicalInventory=warehouseInventoryCountInfo1.getPhysicalInventory();
             //定义入库
             Float inNetWeight =0f;
+            String a= DateUtil.formatDate(warehouseInventoryCountInfo1.getCreateDate(), DateUtils.DATE_FMT_YYYY_MM_DD);
             // 查询入库数量
             List<WarehouseInOutInfo> warehouseInOutInfoList = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
                     .eq("base_id", warehouseInventoryCountInfo1.getBaseId())
                     .eq("position_id", warehouseInventoryCountInfo1.getPositionId())
                     .eq("in_out_flag", "2")
-                    .ge("create_date",warehouseInventoryCountInfo1.getCreateDate())
+                    .eq("status_flag","3")
+                    .ge("create_date",DateUtil.formatDate(warehouseInventoryCountInfo1.getCreateDate(), DateUtils.DATE_FMT_YYYY_MM_DD))
                     .eq("goods_name_key",warehouseInventoryCountInfo1.getGoodsNameKey()));
             if (!CollectionUtils.isEmpty(warehouseInOutInfoList)) {
                 for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfoList) {
@@ -102,8 +111,9 @@ public class WarehouseInventoryCountInfoServiceImpl extends ServiceImpl<Warehous
             List<WarehouseInOutInfo> warehouseInOutInfos = warehouseInOutInfoService.selectList(new EntityWrapper<WarehouseInOutInfo>()
                     .eq("base_id", warehouseInventoryCountInfo1.getBaseId())
                     .eq("position_id", warehouseInventoryCountInfo1.getPositionId())
-                    .ge("create_date",warehouseInventoryCountInfo1.getCreateDate())
+                    .ge("create_date", DateUtil.formatDate(warehouseInventoryCountInfo1.getCreateDate(), DateUtils.DATE_FMT_YYYY_MM_DD))
                     .eq("in_out_flag", "1")
+                    .eq("status_flag","3")
                     .eq("goods_name_key",warehouseInventoryCountInfo1.getGoodsNameKey()));
             if (!CollectionUtils.isEmpty(warehouseInOutInfos)) {
                 for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfos) {
@@ -111,7 +121,7 @@ public class WarehouseInventoryCountInfoServiceImpl extends ServiceImpl<Warehous
                 }
             }
             warehouseInventoryCountInfoCopy.setCumulativeStockOut(outNetWeight);
-
+            warehouseInventoryCountInfoCopy.setGoodsName(warehouseInventoryCountInfo.getGoodsName());
         }
         // 未盘损过
         else{
@@ -122,6 +132,7 @@ public class WarehouseInventoryCountInfoServiceImpl extends ServiceImpl<Warehous
                     .eq("base_id", warehouseInventoryCountInfo.getBaseId())
                     .eq("position_id", warehouseInventoryCountInfo.getPositionId())
                     .eq("in_out_flag", "2")
+                    .eq("status_flag","3")
                     .eq("goods_name_key",warehouseInventoryCountInfo.getGoodsNameKey()));
             if (!CollectionUtils.isEmpty(warehouseInOutInfoList)) {
                 for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfoList) {
@@ -136,6 +147,7 @@ public class WarehouseInventoryCountInfoServiceImpl extends ServiceImpl<Warehous
                     .eq("base_id", warehouseInventoryCountInfo.getBaseId())
                     .eq("position_id", warehouseInventoryCountInfo.getPositionId())
                     .eq("in_out_flag", "1")
+                    .eq("status_flag","3")
                     .eq("goods_name_key",warehouseInventoryCountInfo.getGoodsNameKey()));
             if (!CollectionUtils.isEmpty(warehouseInOutInfos)) {
                 for (WarehouseInOutInfo warehouseInOutInfo : warehouseInOutInfos) {
@@ -143,8 +155,36 @@ public class WarehouseInventoryCountInfoServiceImpl extends ServiceImpl<Warehous
                 }
             }
             warehouseInventoryCountInfoCopy.setCumulativeStockOut(outNetWeight);
+            warehouseInventoryCountInfoCopy.setGoodsName(warehouseInventoryCountInfo.getGoodsName());
 
         }
         return warehouseInventoryCountInfoCopy;
     }
+
+
+    /**
+     * 盘损
+     *
+     * @param warehouseInventoryCountInfo
+     * @return
+     */
+    @Override
+    public String addInventory(WarehouseInventoryCountInfo warehouseInventoryCountInfo) {
+        //新增主键id
+        warehouseInventoryCountInfo.setId(IdGenerator.generateUUID());
+        WarehousePositionStorageInfo warehousePositionStorageInfo = warehousePositionStorageInfoService.selectOne(new EntityWrapper<WarehousePositionStorageInfo>()
+                .eq("position_id",warehouseInventoryCountInfo.getPositionId())
+                .eq("goods_name_key",warehouseInventoryCountInfo.getGoodsNameKey()));
+        if (warehousePositionStorageInfo !=null){
+            warehousePositionStorageInfo.setStorage(warehouseInventoryCountInfo.getPhysicalInventory());
+        }
+        this.updateById(warehouseInventoryCountInfo);
+        boolean one = this.insert(warehouseInventoryCountInfo);
+        // 假如成功返回ok
+        if (one) {
+            return "OK";
+        } else {
+            return "NG";
+        }
+    }
 }

+ 1 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehousePositionInfoServiceImpl.java

@@ -35,7 +35,7 @@ public class WarehousePositionInfoServiceImpl extends ServiceImpl<WarehousePosit
     @Override
     public void deleteWarehousePosition(String id) {
         WarehousePositionInfo warehousePositionInfo = this.selectById(id);
-        if (warehousePositionInfo != null && warehousePositionInfo.getNowStorage() > 0) {
+        if (warehousePositionInfo.getNowStorage() != null && warehousePositionInfo.getNowStorage() > 0) {
             throw new YException(YExceptionEnum.WAREHOSE_SYSTEM_ERROR);
         } else {
             this.deleteById(warehousePositionInfo.getId());

+ 17 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/service/impl/WarehousePositionStorageInfoServiceImpl.java

@@ -1,11 +1,16 @@
 package com.yh.saas.plugin.yiliangyiyun.service.impl;
 
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.yh.saas.plugin.yiliangyiyun.entity.WarehouseBaseInfo;
 import com.yh.saas.plugin.yiliangyiyun.entity.WarehousePositionStorageInfo;
 import com.yh.saas.plugin.yiliangyiyun.mapper.WarehousePositionStorageInfoMapper;
 import com.yh.saas.plugin.yiliangyiyun.service.IWarehousePositionStorageInfoService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
+
+import java.util.List;
+
 /**
  * <p>
  * 记录仓库仓位储存信息 服务实现类
@@ -17,4 +22,16 @@ import org.springframework.stereotype.Service;
 @Service
 public class WarehousePositionStorageInfoServiceImpl extends ServiceImpl<WarehousePositionStorageInfoMapper, WarehousePositionStorageInfo> implements IWarehousePositionStorageInfoService {
 
+
+    /**
+     * 盘损货名下拉列表
+     * @param positionId
+     * @return
+     */
+    @Override
+    public List<WarehousePositionStorageInfo> selectGoodsName(String positionId){
+        List<WarehousePositionStorageInfo> warehousePositionStorageInfoList = this.selectList(new EntityWrapper<WarehousePositionStorageInfo>()
+                .eq("position_id",positionId).eq("delete_flag", "0"));
+        return warehousePositionStorageInfoList;
+    }
 }

+ 0 - 505
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/util/CrewUtils.java

@@ -1,505 +0,0 @@
-package com.yh.saas.plugin.yiliangyiyun.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;
-
-import org.apache.commons.lang3.StringUtils;
-
-import com.winsea.svc.base.base.util.DateUtils;
-
-/**
- * 计算工作时长的公用方法
- *
- * @author XinGuang
- */
-public class CrewUtils {
-
-    /**
-     * 获取年龄
-     *
-     * @param birthDay
-     * @return
-     */
-    public static String getAge(Date birthDay) {
-        Calendar cal = Calendar.getInstance();
-        if (cal.before(birthDay)) { // 出生日期晚于当前时间,无法计算
-            throw new IllegalArgumentException("The birthDay is before Now.It's unbelievable!");
-        }
-        int yearNow = cal.get(Calendar.YEAR); // 当前年份
-        int monthNow = cal.get(Calendar.MONTH); // 当前月份
-        int dayOfMonthNow = cal.get(Calendar.DAY_OF_MONTH); // 当前日期
-        cal.setTime(birthDay);
-        int yearBirth = cal.get(Calendar.YEAR);
-        int monthBirth = cal.get(Calendar.MONTH);
-        int dayOfMonthBirth = cal.get(Calendar.DAY_OF_MONTH);
-        int age = yearNow - yearBirth; // 计算整岁数
-        if (monthNow <= monthBirth) {
-            if (monthNow == monthBirth) {
-                if (dayOfMonthNow < dayOfMonthBirth)
-                    age--;// 当前日期在生日之前,年龄减一
-            } else {
-                age--;// 当前月份在生日之前,年龄减一
-            }
-        }
-        return String.valueOf(age);
-    }
-
-    /**
-     * 获取合同的下船日期
-     *
-     * @param beginDate
-     * @param monthNum
-     * @return
-     */
-    public static Date getEndDate(Date beginDate, int monthNum) {
-
-        SimpleDateFormat sdf = new SimpleDateFormat(DateUtils.DATE_FMT_YYYY_MM_DD);
-        String beginTime = sdf.format(beginDate);
-        String[] times = beginTime.split("-");
-        String year = times[0];
-        String month = times[1];
-        String day = times[2];
-        year = String.valueOf(Integer.parseInt(year) + (monthNum / 12));
-        month = String.valueOf(Integer.parseInt(month) + (monthNum % 12));
-        String yearMonth = year + "-" + month;
-        switch (month) {
-            case "2":
-                if (Integer.parseInt(day) > 28) {
-                    return DateUtils.getMonthLastDay(yearMonth);
-                }
-                break;
-            case "4":
-                if ("31".equals(day)) {
-                    return DateUtils.getMonthLastDay(yearMonth);
-                }
-                break;
-            case "6":
-                if ("31".equals(day)) {
-                    return DateUtils.getMonthLastDay(yearMonth);
-                }
-                break;
-            case "9":
-                if ("31".equals(day)) {
-                    return DateUtils.getMonthLastDay(yearMonth);
-                }
-                break;
-            case "11":
-                if ("31".equals(day)) {
-                    return DateUtils.getMonthLastDay(yearMonth);
-                }
-                break;
-            default:
-                break;
-        }
-
-        try {
-            return sdf.parse(yearMonth + "-" + day);
-        } catch (Exception e) {
-            return null;
-        }
-
-    }
-
-    /**
-     * 首字母转大写
-     *
-     * @param str
-     * @return
-     */
-    public static String getConvert(String str) {
-        String first = str.substring(0, 1);
-        String after = str.substring(1); // substring(1),获取索引位置1后面所有剩余的字符串
-        first = first.toUpperCase();
-        str = first + after;
-        return str;
-    }
-
-    /**
-     * 获取行列
-     *
-     * @param str
-     * @return
-     */
-    public static List<String> getCellRowColumn(String str) {
-
-        StringBuilder strBuilder = new StringBuilder();
-        StringBuilder numBuilder = new StringBuilder();
-
-        for (int i = 0; i < str.length(); i++) { // 循环遍历字符串
-            if (Character.isDigit(str.charAt(i))) { // 用char包装类中的判断数字的方法判断每一个字符
-                numBuilder.append(str.charAt(i));
-            }
-            if (Character.isLetter(str.charAt(i))) { // 用char包装类中的判断字母的方法判断每一个字符
-                strBuilder.append(str.charAt(i));
-            }
-        }
-        List<String> list = new ArrayList<>();
-        list.add(strBuilder.toString());
-        list.add(numBuilder.toString());
-        return list;
-    }
-
-    /**
-     * 获取列数
-     *
-     * @param str
-     * @return
-     */
-    public static int getColumnNum(String str) {
-        str = str.toUpperCase();
-        char[] ch = str.toCharArray();
-        int a = 0;
-        for (int i = 0; i < ch.length; i++) {
-            a += getNum(ch[i]) * (int) Math.pow(26, ch.length - i - 1);
-        }
-        return a;
-    }
-
-    /**
-     * 获取字母
-     *
-     * @param ch
-     * @return
-     */
-    public static int getNum(char ch) {
-        int index = (char) ch;
-        if (index >= 97) {
-            index = index - (97 - 65);
-        }
-        return index - 64;
-    }
-
-    /**
-     * 获取首字母对应的数字
-     *
-     * @return
-     */
-    public static Integer getStrNum(String str) {
-        String first = str.substring(0, 1).toUpperCase();
-
-        int num = (int) first.getBytes()[0];
-        return num - 64;
-    }
-
-    private CrewUtils() {
-    }
-
-    /**
-     * 获取时间
-     *
-     * @param nextDate     后一个时间
-     * @param previousDate 前一个时间
-     * @return
-     */
-    public static String getTimes(Date nextDate, Date previousDate) {
-        String times = "";
-        Calendar c1 = Calendar.getInstance();
-        Calendar c2 = Calendar.getInstance();
-        c1.setTime(nextDate);
-        c2.setTime(previousDate);
-        int[] timeArr = getTimeIntervalArray(c1, c2);
-        if (timeArr[0] > 0) {
-            times += timeArr[0] + "个月";
-        }
-        if (timeArr[0] >= 0 && timeArr[1] > 0) {
-            times += timeArr[1] + "天";
-        }
-        return times;
-    }
-
-    public static int[] getTimesArray(Date nextDate, Date previousDate) {
-        Calendar c1 = Calendar.getInstance();
-        Calendar c2 = Calendar.getInstance();
-        c1.setTime(nextDate);
-        c2.setTime(previousDate);
-
-        return getTimeIntervalArray(c1, c2);
-    }
-
-    public static int[] getTimeIntervalArray(Calendar nextDate, Calendar previousDate) {
-        int year = nextDate.get(Calendar.YEAR) - previousDate.get(Calendar.YEAR);
-        int month = nextDate.get(Calendar.MONTH) - previousDate.get(Calendar.MONTH);
-        int day = nextDate.get(Calendar.DAY_OF_MONTH) - previousDate.get(Calendar.DAY_OF_MONTH);
-        if (day < 0) {
-            // 计算截止日期的上一个月有多少天,补上去
-            Calendar tempDate = (Calendar) nextDate.clone();
-            tempDate.add(Calendar.MONTH, -1);// 获取截止日期的上一个月
-            day += tempDate.getActualMaximum(Calendar.DAY_OF_MONTH);
-
-            // nextDate是月底最后一天,且day=这个月的天数,即是刚好一整个月,比如20160131~20160229,day=29,实则为1个月
-            if (nextDate.get(Calendar.DAY_OF_MONTH) == nextDate.getActualMaximum(Calendar.DAY_OF_MONTH)// 日期为月底最后一天
-                    && day >= nextDate.getActualMaximum(Calendar.DAY_OF_MONTH)) {// day刚好是nextDate一个月的天数,或大于nextDate月的天数(比如2月可能只有28天)
-                day = 0;// 因为这样判断是相当于刚好是整月了,那么不用向 month 借位,只需将 day 置 0
-            } else {// 向month借一位
-                month--;
-            }
-        }
-
-        if (month < 0) {
-            month += 12;
-            year--;
-        }
-        day = day + 1;
-        month += year * 12;
-
-        return new int[]{month, day};
-    }
-
-    /**
-     * List 转 String
-     *
-     * @param list
-     * @return
-     */
-    public static String getListTurnArray(List<String> list) {
-        String str = "";
-        if (null != list && list.size() > 0) {
-            for (int i = 0; i < list.size(); i++) {
-                str = str + "'" + list.get(i) + "',";
-            }
-            str = str.substring(0, str.length() - 1);
-        }
-        return str;
-    }
-
-    /**
-     * 生成工作时间
-     *
-     * @param month
-     * @param day
-     * @return
-     */
-    public static String createServingTime(int month, int day) {
-        String servingTime = "";
-        month += day / 30;
-        day = day % 30;
-        if (month > 0) {
-            servingTime += month + "个月";
-        }
-        if (month >= 0 && day > 0) {
-            servingTime += day + "天";
-        }
-        return servingTime;
-    }
-
-    /**
-     * 获取当前时间
-     *
-     * @return
-     */
-    public static Date getNowDate() {
-        Date date = new Date();
-        SimpleDateFormat sdf = new SimpleDateFormat(DateUtils.DATE_FMT_YYYY_MM_DD);
-        String nowTime = sdf.format(date);
-        try {
-            date = sdf.parse(nowTime);
-        } catch (ParseException e) {
-            date = new Date();
-        }
-        return date;
-    }
-
-    /**
-     * 得到两个日期相差的天数
-     *
-     * @param early
-     * @param late
-     * @return
-     */
-    public static int daysBetween(Date early, Date late) {
-
-        Calendar calst = Calendar.getInstance();
-        Calendar caled = Calendar.getInstance();
-        calst.setTime(early);
-        caled.setTime(late);
-        // 设置时间为0时
-        calst.set(Calendar.HOUR_OF_DAY, 0);
-        calst.set(Calendar.MINUTE, 0);
-        calst.set(Calendar.SECOND, 0);
-        caled.set(Calendar.HOUR_OF_DAY, 0);
-        caled.set(Calendar.MINUTE, 0);
-        caled.set(Calendar.SECOND, 0);
-        // 得到两个日期相差的天数
-        int days = ((int) (caled.getTime().getTime() / 1000) - (int) (calst.getTime().getTime() / 1000)) / 3600 / 24;
-
-        return days;
-    }
-
-    /**
-     * 获取本月第一天
-     *
-     * @param date
-     * @return
-     */
-    public static Date getMonthFirstDay(Date date) {
-        Calendar calendar = Calendar.getInstance();
-        calendar.setTime(date);
-        calendar.set(Calendar.DAY_OF_MONTH, 1);
-        calendar.add(Calendar.MONTH, 0);
-        return calendar.getTime();
-    }
-
-    /**
-     * 获取本月最后一天
-     *
-     * @param date
-     * @return
-     */
-    public static Date getMonthLastDay(Date date) {
-        Calendar calendar = Calendar.getInstance();
-        calendar.setTime(date);
-        calendar.set(Calendar.DAY_OF_MONTH, 0);
-        calendar.add(Calendar.MONTH, 1);
-        return calendar.getTime();
-    }
-
-    /**
-     * 获取想要的时间
-     *
-     * @return
-     */
-    public static Date getDate(String time, String str) {
-        Date date = new Date();
-        if (StringUtils.isBlank(str)) {
-            str = DateUtils.DATE_FMT_YYYY_MM_DD;
-        }
-        if (StringUtils.isNotBlank(time)) {
-            SimpleDateFormat sdf = new SimpleDateFormat(str);
-            try {
-                date = sdf.parse(time);
-            } catch (ParseException e) {
-                date = new Date();
-            }
-        }
-        return date;
-    }
-
-    /**
-     * 获取单元格
-     *
-     * @param columnIndex
-     * @return
-     */
-    public static String excelColIndexToStr(int columnIndex) {
-        if (columnIndex <= 0) {
-            return null;
-        }
-        String columnStr = "";
-        columnIndex--;
-        do {
-            if (columnStr.length() > 0) {
-                columnIndex--;
-            }
-            columnStr = ((char) (columnIndex % 26 + (int) 'A')) + columnStr;
-            columnIndex = ((columnIndex - columnIndex % 26) / 26);
-        } while (columnIndex > 0);
-        return columnStr;
-    }
-
-    /**
-     * 获取本月第一天
-     *
-     * @param date
-     * @return
-     */
-    public static String getMonthFirstDay(Date date, String str) {
-        if (StringUtils.isBlank(str)) {
-            str = DateUtils.DATE_FMT_YYYY_MM_DD;
-        }
-        Date firstDay = getMonthFirstDay(date);
-        SimpleDateFormat sdf = new SimpleDateFormat(str);
-        return sdf.format(firstDay);
-    }
-
-    /**
-     * 获取本月第一天
-     *
-     * @param date
-     * @return
-     */
-    public static String getMonthLastDay(Date date, String str) {
-        if (StringUtils.isBlank(str)) {
-            str = DateUtils.DATE_FMT_YYYY_MM_DD;
-        }
-        Date lastDay = getMonthLastDay(date);
-        SimpleDateFormat sdf = new SimpleDateFormat(str);
-        return sdf.format(lastDay);
-    }
-
-    /**
-     * 判断 a>b
-     *
-     * @param oneDay
-     * @param twoDate
-     * @return
-     */
-    public static boolean compareDate(Date oneDay, Date twoDate) {
-        boolean flag = false;
-        if (null != oneDay && null != twoDate && oneDay.after(twoDate)) {
-            flag = true;
-        }
-        return flag;
-
-    }
-
-    /**
-     * 获取自然月天数
-     *
-     * @param yearMonth
-     * @return
-     */
-    public static int getMonthDays(String yearMonth) {
-        int days = 30;
-        if (StringUtils.isNotBlank(yearMonth)) {
-            String[] yearAndMonth = yearMonth.split("-");
-            if (yearAndMonth.length == 2) {
-                int year = Integer.parseInt(yearAndMonth[0]);
-                int month = Integer.parseInt(yearAndMonth[1]);
-                boolean flag = false;
-                if ((year % 100 != 0 && year % 4 == 0) || year % 400 == 0) {
-                    flag = true;
-                }
-                switch (yearAndMonth[1]) {
-                    case "1":
-                        days = 31;
-                        break;
-                    case "2":
-                        if (flag) {
-                            days = 29;
-                        } else {
-                            days = 28;
-                        }
-                        break;
-                    case "3":
-                        days = 31;
-                        break;
-                    case "5":
-                        days = 31;
-                        break;
-                    case "7":
-                        days = 31;
-                        break;
-                    case "8":
-                        days = 31;
-                        break;
-                    case "10":
-                        days = 31;
-                        break;
-                    case "12":
-                        days = 31;
-                        break;
-                    default:
-                        break;
-                }
-
-            }
-        }
-        return days;
-
-    }
-
-}

+ 157 - 19
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/util/EntityAnalyse.java

@@ -1,36 +1,174 @@
 package com.yh.saas.plugin.yiliangyiyun.util;
 
-import com.yh.saas.common.support.util.ContextWrapper;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.aliyun.oss.ServiceException;
+import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
+import com.yh.saas.plugin.yiliangyiyun.entity.view.ConfigDO;
+import com.yh.saas.plugin.yiliangyiyun.entity.view.DistinguishView;
+import org.apache.http.HttpEntity;
+import org.apache.http.HttpResponse;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClients;
+import org.apache.http.message.BasicNameValuePair;
+import org.apache.http.util.EntityUtils;
 
-import java.lang.reflect.Method;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 public class EntityAnalyse {
 
-    /**
-     * 反向更新航海资料申请单
-     *
-     * @param compId
-     */
-    @SuppressWarnings({"rawtypes", "unchecked"})
-    public static List<String> changeMapApplStatus(String compId) {
+    public static DistinguishView bankShibie(String bankImg) throws ServiceException {
+        String appcode = "2d59bfa794994f5f94d1d98b7b5bd102";
+        String host = "https://api06.aliyun.venuscn.com";
+        String path = "/ocr/bank-card";
+        String method = "POST";
+        Map<String, String> headers = new HashMap<String, String>();
+        //最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
+        headers.put("Authorization", "APPCODE " + appcode);
+        //根据API的要求,定义相对应的Content-Type
+        headers.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
+        Map<String, String> querys = new HashMap<String, String>();
+        Map<String, String> bodys = new HashMap<String, String>();
+        bodys.put("pic", bankImg);
         try {
-            String className = "financePaymentApplyZrServiceImpl";
-            String methodName = "getCrewSalaryIds";
-            Class<? extends Object> cls = ContextWrapper.getApplicationContext().getBean(className).getClass();
-            Class parameterType = compId.getClass();
-            Method m = cls.getMethod(methodName, parameterType);
-            Object object = m.invoke(ContextWrapper.getApplicationContext().getBean(className),
-                    compId);
-            List<String> list = (List<String>) (List) object;
+            HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);
+            String body = EntityUtils.toString(response.getEntity());
+            System.out.println(body);
+            JSONObject jsonObject = JSONObject.parseObject(body);
+            if(jsonObject.getString("ret").equals("200")){
+                JSONObject data = JSONObject.parseObject(jsonObject.getString("data"));
+                DistinguishView distinguishView = new DistinguishView();
+                distinguishView.setBankNo(data.getString("number"));
+                distinguishView.setBankName(data.getString("bank"));
 
+                host = "https://yhkgsd.market.alicloudapi.com";
+                path = "/bankcard/region";
+                method = "GET";
+                headers = new HashMap<String, String>();
+                //最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
+                headers.put("Authorization", "APPCODE " + appcode);
+                querys = new HashMap<String, String>();
+                querys.put("bankcard", distinguishView.getBankNo());
+                try {
+                    response = HttpUtils.doGet(host, path, method, headers, querys);
+                    body = EntityUtils.toString(response.getEntity());
+                    System.out.println(body);
+                    jsonObject = JSONObject.parseObject(body);
+                    if(jsonObject.getString("code").equals("0")){
+                        data = JSONObject.parseObject(jsonObject.getString("data"));
+                        JSONObject detail = JSONObject.parseObject(data.getString("detail"));
+                        distinguishView.setBankName(detail.getString("bankName"));
+                        String[] area = detail.getString("area").split(" - ");
+                        String province = "";
+                        String city = "";
+                        if(area.length > 1){
+                            province = area[0];
+                            city = area[1];
+                        }
 
-            return list;
+                        distinguishView.setBankPhone(detail.getString("bankPhone"));
+                        host = "https://cnaps.market.alicloudapi.com";
+                        path = "/lianzhuo/querybankaps";
+                        method = "GET";
+                        headers = new HashMap<String, String>();
+                        //最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105
+                        headers.put("Authorization", "APPCODE " + appcode);
+                        querys = new HashMap<String, String>();
+                        querys.put("card", distinguishView.getBankNo());
+                        querys.put("province", province);
+                        querys.put("city", city);
+                        querys.put("bank", distinguishView.getBankName());
+                        try {
+                            response = HttpUtils.doGet(host, path, method, headers, querys);
+                            System.out.println(response.toString());
+                            body = EntityUtils.toString(response.getEntity());
+                            System.out.println(body);
+                            jsonObject = JSONObject.parseObject(body);
+                            JSONObject jsonData = jsonObject.getJSONObject("data");
+                            JSONObject res = jsonObject.getJSONObject("resp");
+                            if(res.get("RespCode").equals("200")){
+                                JSONArray jsonArray = jsonData.getJSONArray("record");
+                                List<String> bankList = new ArrayList<>();
+                                for(int i=0;i<jsonArray.size();i++) {
+                                    bankList.add(jsonArray.getJSONObject(i).get("lName").toString());
+                                }
+                                distinguishView.setBankNameZhihang(bankList);
+                            }
+                        } catch (Exception e) {
+                            e.printStackTrace();
+                        }
+                    }
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+                return distinguishView;
+            }
+            else{
+                System.out.println(jsonObject.getString("msg"));
+            }
         } catch (Exception e) {
-            return new ArrayList<>();
+            e.printStackTrace();
         }
+        return null;
     }
 
+    public static DistinguishView personShibie(String personImg) throws ServiceException {
+        String appcode = "2d59bfa794994f5f94d1d98b7b5bd102";
+        //API产品路径
+        String requestUrl = "https://personcard.market.alicloudapi.com/ai_market/ai_ocr_universal/shen_fen_zheng/ch/v1";
+        //阿里云APPCODE
+        DistinguishView distinguishView = new DistinguishView();
+        CloseableHttpClient httpClient = null;
+        try{
+            httpClient = HttpClients.createDefault();
+            List<NameValuePair> params = new ArrayList<NameValuePair>();
+            //启用URL方式进行识别
+            //内容数据类型是图像文件URL链接
+            params.add(new BasicNameValuePair("IMAGE", personImg));
+            params.add(new BasicNameValuePair("IMAGE_TYPE", "1"));
 
+            // 创建一个HttpPost实例
+            HttpPost httpPost = new HttpPost(requestUrl);
+            httpPost.addHeader("Authorization","APPCODE " + appcode);
+            httpPost.addHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
+
+            // 设置请求参数
+            httpPost.setEntity(new UrlEncodedFormEntity(params, "utf-8"));
+
+            // 发送POST请求
+            HttpResponse execute = httpClient.execute(httpPost);
+
+            // 获取状态码
+            int statusCode = execute.getStatusLine().getStatusCode();
+            System.out.println(statusCode);
+
+            // 获取结果
+            HttpEntity entity = execute.getEntity();
+            String body = EntityUtils.toString(entity);
+            System.out.println(body);
+            JSONObject jsonObject = JSONObject.parseObject(body);
+//            if(type.equals("recPerson"))
+//            {
+                distinguishView.setRecPerson(jsonObject.getJSONObject("身份证识别实体信息").getJSONObject("身份证人像面实体信息").getString("姓名"));
+                distinguishView.setRecPersonNo(jsonObject.getJSONObject("身份证识别实体信息").getJSONObject("身份证人像面实体信息").getString("身份证号"));
+//            }
+//            else if(type.equals("driver"))
+//            {
+//                distinguishView.setDriver(jsonObject.getJSONObject("身份证识别实体信息").getJSONObject("身份证人像面实体信息").getString("姓名"));
+//                distinguishView.setDriverNo(jsonObject.getJSONObject("身份证识别实体信息").getJSONObject("身份证人像面实体信息").getString("身份证号"));
+//                distinguishView.setDriverAddress(jsonObject.getJSONObject("身份证识别实体信息").getJSONObject("身份证人像面实体信息").getString("住址"));
+//            }
+            return distinguishView;
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
 }

+ 311 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/java/com/yh/saas/plugin/yiliangyiyun/util/HttpUtils.java

@@ -0,0 +1,311 @@
+package com.yh.saas.plugin.yiliangyiyun.util;
+
+import com.alipay.sofa.rpc.common.utils.StringUtils;
+import org.apache.http.HttpResponse;
+import org.apache.http.NameValuePair;
+import org.apache.http.client.HttpClient;
+import org.apache.http.client.entity.UrlEncodedFormEntity;
+import org.apache.http.client.methods.HttpDelete;
+import org.apache.http.client.methods.HttpGet;
+import org.apache.http.client.methods.HttpPost;
+import org.apache.http.client.methods.HttpPut;
+import org.apache.http.conn.ClientConnectionManager;
+import org.apache.http.conn.scheme.Scheme;
+import org.apache.http.conn.scheme.SchemeRegistry;
+import org.apache.http.conn.ssl.SSLSocketFactory;
+import org.apache.http.entity.ByteArrayEntity;
+import org.apache.http.entity.StringEntity;
+import org.apache.http.impl.client.DefaultHttpClient;
+import org.apache.http.message.BasicNameValuePair;
+
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.X509TrustManager;
+import java.io.UnsupportedEncodingException;
+import java.net.URLEncoder;
+import java.security.KeyManagementException;
+import java.security.NoSuchAlgorithmException;
+import java.security.cert.X509Certificate;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+public class HttpUtils {
+
+    /**
+     * get
+     *
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doGet(String host, String path, String method,
+                                     Map<String, String> headers,
+                                     Map<String, String> querys)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpGet request = new HttpGet(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        return httpClient.execute(request);
+    }
+
+    /**
+     * post form
+     *
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @param bodys
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doPost(String host, String path, String method,
+                                      Map<String, String> headers,
+                                      Map<String, String> querys,
+                                      Map<String, String> bodys)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpPost request = new HttpPost(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        if (bodys != null) {
+            List<NameValuePair> nameValuePairList = new ArrayList<NameValuePair>();
+
+            for (String key : bodys.keySet()) {
+                nameValuePairList.add(new BasicNameValuePair(key, bodys.get(key)));
+            }
+            UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(nameValuePairList, "utf-8");
+            formEntity.setContentType("application/x-www-form-urlencoded; charset=UTF-8");
+            request.setEntity(formEntity);
+        }
+
+        return httpClient.execute(request);
+    }
+
+    /**
+     * Post String
+     *
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @param body
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doPost(String host, String path, String method,
+                                      Map<String, String> headers,
+                                      Map<String, String> querys,
+                                      String body)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpPost request = new HttpPost(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        if (StringUtils.isNotBlank(body)) {
+            request.setEntity(new StringEntity(body, "utf-8"));
+        }
+
+        return httpClient.execute(request);
+    }
+
+    /**
+     * Post stream
+     *
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @param body
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doPost(String host, String path, String method,
+                                      Map<String, String> headers,
+                                      Map<String, String> querys,
+                                      byte[] body)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpPost request = new HttpPost(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        if (body != null) {
+            request.setEntity(new ByteArrayEntity(body));
+        }
+
+        return httpClient.execute(request);
+    }
+
+    /**
+     * Put String
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @param body
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doPut(String host, String path, String method,
+                                     Map<String, String> headers,
+                                     Map<String, String> querys,
+                                     String body)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpPut request = new HttpPut(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        if (StringUtils.isNotBlank(body)) {
+            request.setEntity(new StringEntity(body, "utf-8"));
+        }
+
+        return httpClient.execute(request);
+    }
+
+    /**
+     * Put stream
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @param body
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doPut(String host, String path, String method,
+                                     Map<String, String> headers,
+                                     Map<String, String> querys,
+                                     byte[] body)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpPut request = new HttpPut(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        if (body != null) {
+            request.setEntity(new ByteArrayEntity(body));
+        }
+
+        return httpClient.execute(request);
+    }
+
+    /**
+     * Delete
+     *
+     * @param host
+     * @param path
+     * @param method
+     * @param headers
+     * @param querys
+     * @return
+     * @throws Exception
+     */
+    public static HttpResponse doDelete(String host, String path, String method,
+                                        Map<String, String> headers,
+                                        Map<String, String> querys)
+            throws Exception {
+        HttpClient httpClient = wrapClient(host);
+
+        HttpDelete request = new HttpDelete(buildUrl(host, path, querys));
+        for (Map.Entry<String, String> e : headers.entrySet()) {
+            request.addHeader(e.getKey(), e.getValue());
+        }
+
+        return httpClient.execute(request);
+    }
+
+    private static String buildUrl(String host, String path, Map<String, String> querys) throws UnsupportedEncodingException {
+        StringBuilder sbUrl = new StringBuilder();
+        sbUrl.append(host);
+        if (!StringUtils.isBlank(path)) {
+            sbUrl.append(path);
+        }
+        if (null != querys) {
+            StringBuilder sbQuery = new StringBuilder();
+            for (Map.Entry<String, String> query : querys.entrySet()) {
+                if (0 < sbQuery.length()) {
+                    sbQuery.append("&");
+                }
+                if (StringUtils.isBlank(query.getKey()) && !StringUtils.isBlank(query.getValue())) {
+                    sbQuery.append(query.getValue());
+                }
+                if (!StringUtils.isBlank(query.getKey())) {
+                    sbQuery.append(query.getKey());
+                    if (!StringUtils.isBlank(query.getValue())) {
+                        sbQuery.append("=");
+                        sbQuery.append(URLEncoder.encode(query.getValue(), "utf-8"));
+                    }
+                }
+            }
+            if (0 < sbQuery.length()) {
+                sbUrl.append("?").append(sbQuery);
+            }
+        }
+
+        return sbUrl.toString();
+    }
+
+    private static HttpClient wrapClient(String host) {
+        HttpClient httpClient = new DefaultHttpClient();
+        if (host.startsWith("https://")) {
+            sslClient(httpClient);
+        }
+
+        return httpClient;
+    }
+
+    private static void sslClient(HttpClient httpClient) {
+        try {
+            SSLContext ctx = SSLContext.getInstance("TLS");
+            X509TrustManager tm = new X509TrustManager() {
+                public X509Certificate[] getAcceptedIssuers() {
+                    return null;
+                }
+                public void checkClientTrusted(X509Certificate[] xcs, String str) {
+
+                }
+                public void checkServerTrusted(X509Certificate[] xcs, String str) {
+
+                }
+            };
+            ctx.init(null, new TrustManager[] { tm }, null);
+            SSLSocketFactory ssf = new SSLSocketFactory(ctx);
+            ssf.setHostnameVerifier(SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);
+            ClientConnectionManager ccm = httpClient.getConnectionManager();
+            SchemeRegistry registry = ccm.getSchemeRegistry();
+            registry.register(new Scheme("https", 443, ssf));
+        } catch (KeyManagementException ex) {
+            throw new RuntimeException(ex);
+        } catch (NoSuchAlgorithmException ex) {
+            throw new RuntimeException(ex);
+        }
+    }
+}

+ 1 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/ContractManagementInfoMapper.xml

@@ -48,6 +48,7 @@
         g.goods_name as goodsName,
         g.grade as grade,
         m.weight,
+        m.deliver_type as deliverType,
         m.unit_contract_price as unitContractPrice,
         m.packing_method as packingMethod,
         m.buyer,

+ 5 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/DriverCarInfoMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.DriverCarInfoMapper">
+
+</mapper>

+ 5 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/DriverPayeeInfoMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.DriverPayeeInfoMapper">
+
+</mapper>

+ 72 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/DriverViewInfoMapper.xml

@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.DriverViewInfoMapper">
+    <!-- 获得司机总数 -->
+    <select id="getCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        select
+        count(1)
+        from(
+        SELECT
+        d.id
+        FROM driver_view_info d
+        left join driver_car_info c on d.id=c.driver_id
+        left join driver_payee_info p on d.id=p.driver_id
+        WHERE
+        d.comp_id = #{compId}
+        and d.delete_flag = '0'
+        <if test="residentCityProvincial != null and residentCityProvincial != ''">
+            AND d.resident_city_provincial = #{residentCityProvincial}
+        </if>
+        <if test="residentCityMunicipal != null and residentCityMunicipal != ''">
+            AND d.resident_city_municipal = #{residentCityMunicipal}
+        </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(d.driver_name) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(d.driver_phone) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(d.number_card) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(c.car_number) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+        group by
+        d.id
+        ) t
+
+    </select>
+    <!-- 司机列表查询 -->
+    <select id="getListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.DriverViewInfo">
+        SELECT
+        d.id,
+        d.driver_name as driverName,
+        d.number_card as numberCard,
+        d.driver_phone as driverPhone,
+        d.resident_city_provincial as residentCityProvincial,
+        d.resident_city_municipal as residentCityMunicipal,
+        d.disable_status_flag as disableStatusFlag,
+        d.disable_reasons as disableReasons,
+        d.address_url as addressUrl
+        FROM driver_view_info d
+        left join driver_car_info c on d.id=c.driver_id
+        left join driver_payee_info p on d.id=p.driver_id
+        WHERE
+        d.comp_id = #{compId}
+        and d.delete_flag = '0'
+        <if test="residentCityProvincial != null and residentCityProvincial != ''">
+            AND d.resident_city_provincial = #{residentCityProvincial}
+        </if>
+        <if test="residentCityMunicipal != null and residentCityMunicipal != ''">
+            AND d.resident_city_municipal = #{residentCityMunicipal}
+        </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(d.driver_name) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(d.driver_phone) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(d.number_card) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(c.car_number) like lower(CONCAT('%',#{searchKeyWord},'%')))
+        </if>
+        group by
+        d.id
+        ORDER BY d.update_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
+</mapper>

+ 5 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/TranCarInfoMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.TranCarInfoMapper">
+
+</mapper>

+ 109 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/TranProcessInfoMapper.xml

@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.TranProcessInfoMapper">
+
+    <!-- 获得汽运调度总数 -->
+    <select id="getCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        SELECT
+        COUNT(p.id)
+        FROM tran_task_info t
+        left join tran_process_info p on t.id=p.info_id
+        WHERE
+        t.comp_id = #{compId}
+        and p.delete_flag = '0'
+        <if test="searchType != null and searchType != ''">
+            <if test="searchType == 1">
+                AND p.status_flag != '1'
+            </if>
+            <if test="searchType == 2">
+                AND p.status_flag = '3'
+            </if>
+        </if>
+        <if test="tranTypeKey != null and tranTypeKey != ''">
+            <if test="tranTypeKey == 1">
+                AND p.tran_type_key = '1'
+            </if>
+            <if test="tranTypeKey == 2">
+                AND p.tran_type_key = '2'
+            </if>
+            <if test="tranTypeKey == 3">
+                AND p.tran_type_key = '3'
+            </if>
+        </if>
+        <if test="startDate != null">
+            AND (DATE_FORMAT(p.receiving_date,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+        </if>
+        <if test="endDate != null">
+            AND (DATE_FORMAT(p.receiving_date,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(p.sender) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(p.receiver) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(p.process_no) like lower(CONCAT('%',#{searchKeyWord},'%'))
+        </if>
+        ORDER BY t.status DESC,t.update_date DESC
+    </select>
+
+    <!-- 汽运调度列表查询 -->
+    <select id="getListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.TranProcessInfo">
+        SELECT
+        p.id,
+        p.info_id as infoId,
+        p.process_no AS processNo,
+        p.goods_name AS goodsName,
+        p.weight,
+        concat(p.send_private,p.send_city,p.send_area,p.send_detailed_address,p.sender,p.sender_phone) AS send,
+        concat(p.receive_private,p.receive_city,p.receive_area,p.receive_detailed_address,p.receiver,p.receiver_phone) AS receive,
+        p.delivery_date_start AS deliveryDateStart,
+        p.delivery_date_end AS deliveryDateEnd,
+        p.status,
+        p.status_flag AS statusFlag,
+        p.tran_type AS tranType,
+        p.tran_type_key AS tranTypeKey,
+        p.feedback_status AS feedbackStatus,
+        p.feedback_status_flag AS feedbackStatusFlag,
+        p.receiving_date AS receivingDate
+        FROM tran_task_info t
+        LEFT JOIN tran_process_info p ON t.id=p.info_id
+        WHERE
+        t.comp_id = #{compId}
+        and p.delete_flag = '0'
+        <if test="searchType != null and searchType != ''">
+            <if test="searchType == 1">
+                AND p.status_flag != '1'
+            </if>
+            <if test="searchType == 2">
+                AND p.status_flag = '3'
+            </if>
+        </if>
+        <if test="tranTypeKey != null and tranTypeKey != ''">
+            <if test="tranTypeKey == 1">
+                AND p.tran_type_key = '1'
+            </if>
+            <if test="tranTypeKey == 2">
+                AND p.tran_type_key = '2'
+            </if>
+            <if test="tranTypeKey == 3">
+                AND p.tran_type_key = '3'
+            </if>
+        </if>
+        <if test="startDate != null">
+            AND (DATE_FORMAT(p.receiving_date,"%Y%m%d") &gt;=
+            DATE_FORMAT(#{startDate},"%Y%m%d"))
+        </if>
+        <if test="endDate != null">
+            AND (DATE_FORMAT(p.receiving_date,"%Y%m%d") &lt;=
+            DATE_FORMAT(#{endDate},"%Y%m%d"))
+        </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(p.sender) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(p.receiver) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(p.process_no) like lower(CONCAT('%',#{searchKeyWord},'%'))
+        </if>
+        ORDER BY p.status DESC,p.update_date DESC
+    </select>
+
+</mapper>

+ 92 - 0
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/TranTaskInfoMapper.xml

@@ -0,0 +1,92 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.yh.saas.plugin.yiliangyiyun.mapper.TranTaskInfoMapper">
+    <!-- 获得运输任务总数 -->
+    <select id="getCountByCondition" parameterType="Map" resultType="java.lang.Integer">
+        SELECT
+        COUNT(t.id)
+        FROM tran_task_info t
+        WHERE
+        t.comp_id = #{compId}
+        and t.delete_flag = '0'
+        <if test="searchType != null and searchType != ''">
+            <if test="searchType == 1">
+                AND t.status_flag = '1'
+            </if>
+            <if test="searchType == 2">
+                AND t.status_flag = '3'
+            </if>
+        </if>
+        <if test="start != null and start != ''">
+            AND (lower(t.start_private) like lower(CONCAT('%',#{start},'%'))
+            OR lower(t.start_city) like lower(CONCAT('%',#{start},'%'))
+            OR lower(t.start_area) like lower(CONCAT('%',#{start},'%'))
+            OR lower(t.start_detailed_address) like lower(CONCAT('%',#{start},'%'))
+        </if>
+        <if test="end != null and end != ''">
+            AND (lower(t.end_private) like lower(CONCAT('%',#{end},'%'))
+            OR lower(t.end_city) like lower(CONCAT('%',#{end},'%'))
+            OR lower(t.end_area) like lower(CONCAT('%',#{end},'%'))
+            OR lower(t.end_detailed_address) like lower(CONCAT('%',#{end},'%'))
+        </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(t.contract_no) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(t.task_no) like lower(CONCAT('%',#{searchKeyWord},'%'))
+        </if>
+    </select>
+    <!-- 获得运输任务列表 -->
+    <select id="getListByCondition" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.TranTaskInfo">
+        SELECT
+        t.id,
+        t.task_no as taskNo,
+        t.contract_no as contractNo,
+        t.goods_name as goodsName,
+        t.weight as weight,
+        t.tran_type as tranType,
+        t.start_private as startPrivate,
+        t.start_city as startCity,
+        t.start_area as startArea,
+        t.start_detailed_address as startDetailedAddress,
+        t.send_warehouse as sendWarehouse,
+        t.current_transfer_address as currentTransferAddress,
+        t.end_private as endPrivate,
+        t.end_city as endCity,
+        t.end_area as endArea,
+        t.end_detailed_address as endDetailedAddress,
+        t.receive_warehouse as receiveWarehouse,
+        t.status
+        FROM tran_task_info t
+        WHERE
+        t.comp_id = #{compId}
+        and t.delete_flag = '0'
+        <if test="searchType != null and searchType != ''">
+            <if test="searchType == 1">
+                AND t.status_flag = '1'
+            </if>
+            <if test="searchType == 2">
+                AND t.status_flag = '3'
+            </if>
+        </if>
+        <if test="start != null and start != ''">
+            AND (lower(t.start_private) like lower(CONCAT('%',#{start},'%'))
+            OR lower(t.start_city) like lower(CONCAT('%',#{start},'%'))
+            OR lower(t.start_area) like lower(CONCAT('%',#{start},'%'))
+            OR lower(t.start_detailed_address) like lower(CONCAT('%',#{start},'%'))
+        </if>
+        <if test="end != null and end != ''">
+            AND (lower(t.end_private) like lower(CONCAT('%',#{end},'%'))
+            OR lower(t.end_city) like lower(CONCAT('%',#{end},'%'))
+            OR lower(t.end_area) like lower(CONCAT('%',#{end},'%'))
+            OR lower(t.end_detailed_address) like lower(CONCAT('%',#{end},'%'))
+        </if>
+        <if test="searchKeyWord != null and searchKeyWord != ''">
+            AND (lower(t.contract_no) like lower(CONCAT('%',#{searchKeyWord},'%'))
+            OR lower(t.task_no) like lower(CONCAT('%',#{searchKeyWord},'%'))
+        </if>
+        ORDER BY t.status DESC , t.update_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
+</mapper>

+ 66 - 1
winsea-haixin-plugin-yiliangyiyun/src/main/resources/mapper/WarehouseInOutInfoMapper.xml

@@ -11,6 +11,7 @@
         w.base_id = #{baseId}
         and w.position_id = #{positionId}
         and w.delete_flag = '0'
+        and w.status_flag = '3'
         <if test="searchType != null and searchType != ''">
             <if test="searchType == 2">
                 AND w.in_out_flag = '1'
@@ -35,7 +36,7 @@
         w.contract_no as contractNo,
         w.car_no as carNo,
         w.agent,
-        w.back_office as backOffice
+        w.back_office as backOffice,
         w.create_date as createDate,
         d.water_content as waterContent,
         d.bulk_density as bulkDensity,
@@ -51,6 +52,30 @@
         w.base_id = #{baseId}
         and w.position_id = #{positionId}
         and w.delete_flag = '0'
+        and w.status_flag = '3'
+        <if test="searchType != null and searchType != ''">
+            <if test="searchType == 1">
+                AND w.in_out_flag = '1'
+            </if>
+            <if test="searchType == 2">
+                AND w.in_out_flag = '2'
+            </if>
+        </if>
+        ORDER BY w.update_date DESC
+        <if test="currentPage != null and currentPage != ''">
+            LIMIT ${startRecord}, ${pageSize}
+        </if>
+    </select>
+    <!-- 获得流转记录总数(临时仓库) -->
+    <select id="getCountByConditionTemporary" parameterType="Map" resultType="java.lang.Integer">
+        SELECT
+        COUNT(w.id)
+        FROM warehouse_in_out_info w
+        left join warehouse_in_out_detail d on w.id=d.info_id
+        WHERE
+        w.base_id = #{baseId}
+        and w.delete_flag = '0'
+        and w.status_flag = '3'
         <if test="searchType != null and searchType != ''">
             <if test="searchType == 2">
                 AND w.in_out_flag = '1'
@@ -59,6 +84,46 @@
                 AND w.in_out_flag = '2'
             </if>
         </if>
+    </select>
+    <!-- 流转记录列表查询(临时仓库) -->
+    <select id="getListByConditionTemporary" parameterType="Map"
+            resultType="com.yh.saas.plugin.yiliangyiyun.entity.WarehouseInOutInfo">
+        SELECT
+        w.id,
+        w.goods_name as goodsName,
+        w.gross_weight as grossWeight,
+        w.tare,
+        w.net_weight as netWeight,
+        w.grade,
+        w.in_out_date as inOutDate,
+        w.in_out_type as inOutType,
+        w.contract_no as contractNo,
+        w.car_no as carNo,
+        w.agent,
+        w.back_office as backOffice,
+        w.create_date as createDate,
+        d.water_content as waterContent,
+        d.bulk_density as bulkDensity,
+        d.jiaorenli as jiaorenli,
+        d.impurity as impurity,
+        d.mildew_grain as mildewGrain,
+        d.imperfect_grain as imperfectGrain,
+        d.quality_inspector as qualityInspector,
+        w.address_url as addressUrl
+        FROM warehouse_in_out_info w
+        left join warehouse_in_out_detail d on w.id=d.info_id
+        WHERE
+        w.base_id = #{baseId}
+        and w.delete_flag = '0'
+        and w.status_flag = '3'
+        <if test="searchType != null and searchType != ''">
+            <if test="searchType == 1">
+                AND w.in_out_flag = '1'
+            </if>
+            <if test="searchType == 2">
+                AND w.in_out_flag = '2'
+            </if>
+        </if>
         ORDER BY w.update_date DESC
         <if test="currentPage != null and currentPage != ''">
             LIMIT ${startRecord}, ${pageSize}