Browse Source

init from phab

xielq 4 years ago
parent
commit
7e45e3c761
100 changed files with 3844 additions and 0 deletions
  1. 0 0
      README.md
  2. 2 0
      Readme.md
  3. 571 0
      pom.xml
  4. 34 0
      src/main/java/com/uas/platform/b2b/core/serializer/LazyPropertyFilter.java
  5. 20 0
      src/main/java/com/uas/platform/b2b/core/support/ApplicationContextRegister.java
  6. 72 0
      src/main/java/com/uas/platform/b2b/core/util/ContextUtils.java
  7. 11 0
      src/main/java/com/uas/platform/b2b/core/util/DateFormatUtils.java
  8. 207 0
      src/main/java/com/uas/platform/b2b/core/util/DateUtils.java
  9. 81 0
      src/main/java/com/uas/platform/b2b/core/util/PathUtils.java
  10. 37 0
      src/main/java/com/uas/platform/b2b/core/util/SplitArray.java
  11. 34 0
      src/main/java/com/uas/platform/b2b/core/util/StringUtil.java
  12. 47 0
      src/main/java/com/uas/platform/b2b/core/util/ThreadTask.java
  13. 282 0
      src/main/java/com/uas/platform/b2b/core/util/ThreadUtils.java
  14. 23 0
      src/main/java/com/uas/platform/b2b/dao/ApbillAdjustmentDao.java
  15. 22 0
      src/main/java/com/uas/platform/b2b/dao/ApprovalFlowDao.java
  16. 11 0
      src/main/java/com/uas/platform/b2b/dao/AttachDao.java
  17. 11 0
      src/main/java/com/uas/platform/b2b/dao/AuthorityDao.java
  18. 22 0
      src/main/java/com/uas/platform/b2b/dao/B2bCodeSetDao.java
  19. 23 0
      src/main/java/com/uas/platform/b2b/dao/BarLPSetingDao.java
  20. 21 0
      src/main/java/com/uas/platform/b2b/dao/BarLParameterDao.java
  21. 21 0
      src/main/java/com/uas/platform/b2b/dao/BarLabelDao.java
  22. 22 0
      src/main/java/com/uas/platform/b2b/dao/BarPackageDao.java
  23. 10 0
      src/main/java/com/uas/platform/b2b/dao/BarPackageDetailDao.java
  24. 33 0
      src/main/java/com/uas/platform/b2b/dao/BarSendNotifyDao.java
  25. 127 0
      src/main/java/com/uas/platform/b2b/dao/CommonDao.java
  26. 13 0
      src/main/java/com/uas/platform/b2b/dao/CommunalLogDao.java
  27. 23 0
      src/main/java/com/uas/platform/b2b/dao/CustomerDao.java
  28. 22 0
      src/main/java/com/uas/platform/b2b/dao/DeOrderDeleteLogDao.java
  29. 34 0
      src/main/java/com/uas/platform/b2b/dao/DeputyOrderDao.java
  30. 13 0
      src/main/java/com/uas/platform/b2b/dao/DeputyOrderItemDao.java
  31. 16 0
      src/main/java/com/uas/platform/b2b/dao/DeputyOrdersLogDao.java
  32. 23 0
      src/main/java/com/uas/platform/b2b/dao/DeputyPaymentCompanyDao.java
  33. 32 0
      src/main/java/com/uas/platform/b2b/dao/DistributeDao.java
  34. 14 0
      src/main/java/com/uas/platform/b2b/dao/EnterpriseBaseInfoDao.java
  35. 48 0
      src/main/java/com/uas/platform/b2b/dao/EnterpriseDao.java
  36. 15 0
      src/main/java/com/uas/platform/b2b/dao/ErrorLogDao.java
  37. 15 0
      src/main/java/com/uas/platform/b2b/dao/ErrorLogDetailDao.java
  38. 30 0
      src/main/java/com/uas/platform/b2b/dao/FlowNodeDao.java
  39. 40 0
      src/main/java/com/uas/platform/b2b/dao/InvitationRecordDao.java
  40. 53 0
      src/main/java/com/uas/platform/b2b/dao/MakeAcceptDao.java
  41. 25 0
      src/main/java/com/uas/platform/b2b/dao/MakeAcceptItemDao.java
  42. 23 0
      src/main/java/com/uas/platform/b2b/dao/MakeOrderChangeDao.java
  43. 34 0
      src/main/java/com/uas/platform/b2b/dao/MakeOrderChangeItemDao.java
  44. 65 0
      src/main/java/com/uas/platform/b2b/dao/MakeOrderDao.java
  45. 12 0
      src/main/java/com/uas/platform/b2b/dao/MakeOrderDoneDao.java
  46. 12 0
      src/main/java/com/uas/platform/b2b/dao/MakeOrderEndDao.java
  47. 28 0
      src/main/java/com/uas/platform/b2b/dao/MakeOrderItemDao.java
  48. 31 0
      src/main/java/com/uas/platform/b2b/dao/MakeOrderReplyDao.java
  49. 12 0
      src/main/java/com/uas/platform/b2b/dao/MakeOrderTodoDao.java
  50. 52 0
      src/main/java/com/uas/platform/b2b/dao/MakeReturnDao.java
  51. 24 0
      src/main/java/com/uas/platform/b2b/dao/MakeReturnItemDao.java
  52. 41 0
      src/main/java/com/uas/platform/b2b/dao/NotExistOrdersDao.java
  53. 49 0
      src/main/java/com/uas/platform/b2b/dao/NotExistProductDao.java
  54. 13 0
      src/main/java/com/uas/platform/b2b/dao/OfficeTaskDao.java
  55. 22 0
      src/main/java/com/uas/platform/b2b/dao/OfficeTaskReplyDao.java
  56. 15 0
      src/main/java/com/uas/platform/b2b/dao/PagingReleaseCountDao.java
  57. 14 0
      src/main/java/com/uas/platform/b2b/dao/PagingReleaseDao.java
  58. 30 0
      src/main/java/com/uas/platform/b2b/dao/PagingReleaseDetailDao.java
  59. 15 0
      src/main/java/com/uas/platform/b2b/dao/PrintLogDao.java
  60. 52 0
      src/main/java/com/uas/platform/b2b/dao/ProductDao.java
  61. 25 0
      src/main/java/com/uas/platform/b2b/dao/ProductUsersDao.java
  62. 13 0
      src/main/java/com/uas/platform/b2b/dao/PurcOrderInfoItemDao.java
  63. 55 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseAcceptDao.java
  64. 26 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseAcceptItemDao.java
  65. 78 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseApBillDao.java
  66. 13 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseApBillItemDao.java
  67. 15 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseApBillOutDao.java
  68. 12 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseApBillOutDoneDao.java
  69. 12 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseApBillOutEndDao.java
  70. 20 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseApBillOutInfoDao.java
  71. 12 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseApBillOutItemDao.java
  72. 9 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseApBillOutTodoDao.java
  73. 30 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseApCheckDao.java
  74. 10 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseApCheckDoneDao.java
  75. 10 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseApCheckEndDao.java
  76. 13 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseApCheckItemDao.java
  77. 15 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseApCheckItemInfoDao.java
  78. 10 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseApCheckTodoDao.java
  79. 55 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseBadInDao.java
  80. 13 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseBadInItemDao.java
  81. 55 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseBadOutDao.java
  82. 13 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseBadOutItemDao.java
  83. 18 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseForecastAllDao.java
  84. 14 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseForecastAllItemDao.java
  85. 46 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryDao.java
  86. 14 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryDetailDao.java
  87. 13 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryInfoDao.java
  88. 138 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryItemDao.java
  89. 15 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryItemTempDao.java
  90. 64 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryMouldDao.java
  91. 11 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryMouldDetailDao.java
  92. 11 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryMouldInfoDao.java
  93. 10 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryMouldItemDao.java
  94. 12 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryMouldProdReplyDao.java
  95. 12 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryMouldReplyDao.java
  96. 12 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryReplyDao.java
  97. 22 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryTempDao.java
  98. 46 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseMRBDao.java
  99. 101 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseNoticeDao.java
  100. 67 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseOrderAllDao.java

+ 0 - 0
README.md


+ 2 - 0
Readme.md

@@ -0,0 +1,2 @@
+# Platform B2B
+This is the Platform B2B project.

+ 571 - 0
pom.xml

@@ -0,0 +1,571 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+    <artifactId>b2b-api</artifactId>
+    <packaging>war</packaging>
+    <name>b2b-api Maven Webapp</name>
+    <url>http://maven.apache.org</url>
+    <parent>
+        <groupId>com.uas.platform</groupId>
+        <artifactId>platform</artifactId>
+        <version>0.0.1-SNAPSHOT</version>
+        <relativePath>../platform</relativePath>
+    </parent>
+    <profiles>
+        <profile>
+            <!-- 开发环境 -->
+            <id>dev</id>
+            <properties>
+                <profile>dev</profile>
+                <!-- static plugin -->
+                <static-path>static</static-path>
+            </properties>
+        </profile>
+        <profile>
+            <!-- 测试环境 -->
+            <id>test</id>
+            <properties>
+                <profile>test</profile>
+                <!-- static plugin -->
+                <static-path>static</static-path>
+            </properties>
+
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
+        </profile>
+        <profile>
+            <!-- 生产环境 -->
+            <id>prod</id>
+            <properties>
+                <profile>prod</profile>
+                <!-- static plugin -->
+                <static-path>static</static-path>
+            </properties>
+            <!-- 默认 -->
+
+        </profile>
+    </profiles>
+    <dependencies>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>javax.servlet-api</artifactId>
+            <version>3.0.1</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>javax.servlet</groupId>
+            <artifactId>servlet-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.uas.platform</groupId>
+            <artifactId>platform-core</artifactId>
+        </dependency>
+        <!-- spring -->
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-context-support</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-webmvc</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-jdbc</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-tx</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-aop</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-aspects</artifactId>
+        </dependency>
+        <!-- jpa -->
+        <dependency>
+            <groupId>org.springframework.data</groupId>
+            <artifactId>spring-data-jpa</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-test</artifactId>
+            <version>4.1.6.RELEASE</version>
+            <scope>test</scope>
+        </dependency>
+        <!-- -->
+        <dependency>
+            <groupId>commons-fileupload</groupId>
+            <artifactId>commons-fileupload</artifactId>
+            <version>1.3.1</version>
+        </dependency>
+        <!-- sendMsg -->
+        <dependency>
+            <groupId>org.apache.axis</groupId>
+            <artifactId>axis</artifactId>
+            <version>1.6.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.axis.jaxrpc</groupId>
+            <artifactId>axis-jaxrpc</artifactId>
+            <version>1.4</version>
+        </dependency>
+        <dependency>
+            <groupId>commons-discovery</groupId>
+            <artifactId>commons-discovery</artifactId>
+            <version>0.4</version>
+        </dependency>
+        <dependency>
+            <groupId>com.ibm</groupId>
+            <artifactId>wsdl4j</artifactId>
+            <version>1.4</version>
+        </dependency>
+
+        <!-- hibernate -->
+        <dependency>
+            <groupId>org.hibernate</groupId>
+            <artifactId>hibernate-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.hibernate</groupId>
+            <artifactId>hibernate-entitymanager</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>cglib</groupId>
+                    <artifactId>cglib</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>dom4j</groupId>
+                    <artifactId>dom4j</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>commons-collections</groupId>
+            <artifactId>commons-collections</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.hibernate</groupId>
+            <artifactId>hibernate-validator</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.aspectj</groupId>
+            <artifactId>aspectjrt</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.aspectj</groupId>
+            <artifactId>aspectjweaver</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-lang3</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>javax.validation</groupId>
+            <artifactId>validation-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>javax.transaction</groupId>
+            <artifactId>jta</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.hibernate</groupId>
+            <artifactId>hibernate-ehcache</artifactId>
+        </dependency>
+        <!-- jdbc -->
+        <!--oracle-->
+        <dependency>
+            <groupId>com.oracle</groupId>
+            <artifactId>ojdbc6</artifactId>
+        </dependency>
+        <!-- mysql -->
+        <dependency>
+            <groupId>mysql</groupId>
+            <artifactId>mysql-connector-java</artifactId>
+            <version>5.1.21</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework</groupId>
+            <artifactId>spring-orm</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>commons-pool</groupId>
+            <artifactId>commons-pool</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>druid</artifactId>
+            <version>1.1.6</version>
+        </dependency>
+        <!-- spring mobile -->
+        <dependency>
+            <groupId>org.springframework.mobile</groupId>
+            <artifactId>spring-mobile-device</artifactId>
+        </dependency>
+        <!--json-lib -->
+        <dependency>
+            <groupId>net.sf.json-lib</groupId>
+            <artifactId>json-lib</artifactId>
+            <classifier>jdk15</classifier>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.jackson</groupId>
+            <artifactId>jackson-core-asl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.jackson</groupId>
+            <artifactId>jackson-mapper-asl</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-annotations</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>fastjson</artifactId>
+        </dependency>
+        <!-- velocity -->
+        <dependency>
+            <groupId>org.apache.velocity</groupId>
+            <artifactId>velocity</artifactId>
+        </dependency>
+        <!-- mail -->
+        <dependency>
+            <groupId>javax.mail</groupId>
+            <artifactId>mail</artifactId>
+        </dependency>
+        <!-- xinge -->
+        <dependency>
+            <groupId>tencent</groupId>
+            <artifactId>xinge</artifactId>
+            <version>1.1.4</version>
+        </dependency>
+        <!-- jxls -->
+        <dependency>
+            <groupId>net.sf.jxls</groupId>
+            <artifactId>jxls-core</artifactId>
+            <version>1.0.4</version>
+        </dependency>
+        <dependency>
+            <groupId>net.sf.jxls</groupId>
+            <artifactId>jxls-reader</artifactId>
+            <version>1.0.4</version>
+        </dependency>
+        <!-- redis -->
+        <dependency>
+            <groupId>redis.clients</groupId>
+            <artifactId>jedis</artifactId>
+            <version>2.7.3</version>
+        </dependency>
+        <dependency>
+            <groupId>org.springframework.data</groupId>
+            <artifactId>spring-data-redis</artifactId>
+            <version>1.6.0.RELEASE</version>
+        </dependency>
+        <!-- 邮件 -->
+        <dependency>
+            <groupId>com.uas.message</groupId>
+            <artifactId>message-mail-api</artifactId>
+        </dependency>
+        <!-- 消息-->
+        <dependency>
+            <groupId>com.uas.message</groupId>
+            <artifactId>message-sms-api</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>com.uas.account</groupId>
+            <artifactId>account-common</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+        <dependency>
+            <groupId>com.uas.sso</groupId>
+            <artifactId>sso-common</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+            <exclusions>
+                <exclusion>
+                    <artifactId>tomcat-embed-core</artifactId>
+                    <groupId>org.apache.tomcat.embed</groupId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+
+        <dependency>
+            <groupId>com.uas.ps</groupId>
+            <artifactId>ps-core</artifactId>
+            <version>0.0.1-SNAPSHOT</version>
+        </dependency>
+
+        <!-- dubbo -->
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>dubbo</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.servlet</groupId>
+                    <artifactId>javax.servlet-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <groupId>org.apache.httpcomponents</groupId>
+                    <artifactId>httpcore</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>com.github.sgroschupf</groupId>
+            <artifactId>zkclient</artifactId>
+        </dependency>
+        <!-- hessian -->
+        <dependency>
+            <groupId>com.caucho</groupId>
+            <artifactId>hessian</artifactId>
+        </dependency>
+        <!-- search on dubbo -->
+        <dependency>
+            <groupId>com.uas.search</groupId>
+            <artifactId>search-api-b2b</artifactId>
+            <version>0.1.9-SNAPSHOT</version>
+        </dependency>
+        <!-- dfs on dubbo -->
+        <dependency>
+            <groupId>com.uas.dfs</groupId>
+            <artifactId>dfs-api</artifactId>
+        </dependency>
+    </dependencies>
+    <build>
+        <finalName>b2b-api</finalName>
+        <!-- 受profile影响的目录 -->
+        <resources>
+            <resource>
+                <directory>${basedir}/src/main/resources</directory>
+                <filtering>true</filtering>
+                <excludes>
+                    <exclude>**/*.xls</exclude>
+                </excludes>
+            </resource>
+            <!-- xls文件不能filter处理,需区分出来 -->
+            <resource>
+                <directory>${basedir}/src/main/resources</directory>
+                <filtering>false</filtering>
+                <includes>
+                    <include>**/*.xls</include>
+                </includes>
+            </resource>
+        </resources>
+        <!-- 在maven生命周期validate阶段生成timestamp -->
+        <plugins>
+            <plugin>
+                <groupId>org.codehaus.mojo</groupId>
+                <artifactId>buildnumber-maven-plugin</artifactId>
+                <version>1.3</version>
+                <executions>
+                    <execution>
+                        <phase>validate</phase>
+                        <goals>
+                            <goal>create-timestamp</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <configuration>
+                        <format>{0,date,yyyy-MM-dd HH:mm:ss}</format>
+                        <items>
+                            <item>timestamp</item>
+                        </items>
+                    </configuration>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <configuration>
+                    <source>1.7</source>
+                    <target>1.7</target>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>com.samaxes.maven</groupId>
+                <artifactId>minify-maven-plugin</artifactId>
+                <version>1.7.4</version>
+                <!-- 静态文件压缩  -->
+               <!-- <executions>
+                    <execution>
+                        <id>default-minify</id>
+                        <phase>prepare-package</phase>
+                        <configuration>
+                            <charset>UTF-8</charset>
+                            <skipMerge>true</skipMerge>
+                            <closureLanguage>ECMASCRIPT5</closureLanguage>
+                            <closureAngularPass>true</closureAngularPass>
+                            <nosuffix>true</nosuffix>
+                            <webappTargetDir>${project.build.directory}/minify</webappTargetDir>
+                            <cssSourceDir>resources</cssSourceDir>
+                            <cssEngine>YUI</cssEngine>
+                            <jsSourceDir>resources</jsSourceDir>
+                            <jsEngine>CLOSURE</jsEngine>
+                            <cssSourceIncludes>
+                                <cssSourceInclude>css/**/*.css</cssSourceInclude>
+                                <cssSourceInclude>data/**/*.json</cssSourceInclude>
+                            </cssSourceIncludes>
+                            <cssSourceExcludes>
+                                <cssSourceExclude>css/**/*.min.css</cssSourceExclude>
+                            </cssSourceExcludes>
+                            <jsSourceIncludes>
+                                <jsSourceInclude>js/**/*.js</jsSourceInclude>
+                            </jsSourceIncludes>
+                            <jsSourceExcludes>
+                                <jsSourceExclude>js/**/*.min.js</jsSourceExclude>
+                            </jsSourceExcludes>
+                        </configuration>
+                        <goals>
+                            <goal>minify</goal>
+                        </goals>
+                    </execution>
+                </executions>-->
+            </plugin>
+            <!--<plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>copy-resources</id>
+                        <phase>prepare-package</phase>
+                        <goals>
+                            <goal>copy-resources</goal>
+                        </goals>
+                        <configuration>
+                            <outputDirectory>${project.build.directory}/minify</outputDirectory>
+                            <overwrite>false</overwrite>
+                            <resources>
+                                <resource>
+                                    <directory>${basedir}/src/main/webapp</directory>
+                                </resource>
+                            </resources>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>-->
+            <plugin>
+                <groupId>com.uas.plugins</groupId>
+                <artifactId>static-maven-plugin</artifactId>
+                <version>0.0.2-SNAPSHOT</version>
+                <!-- 静态资源分离  -->
+                <!--<executions>
+                    <execution>
+                        <id>default-static</id>
+                        <phase>prepare-package</phase>
+                        <configuration>
+                            <pathMatcher>static</pathMatcher>
+                            <staticUrl>${static-path}</staticUrl>
+                            <webappDir>${project.build.directory}/minify</webappDir>
+                            <sourceDir>/</sourceDir>
+                            <targetDir>${project.build.directory}/statics</targetDir>
+                            <staticDir>/</staticDir>
+                            <sourceIncludes>
+                                <sourceInclude>resources/js/**/*.js</sourceInclude>
+                                <sourceInclude>resources/data/**/*.json</sourceInclude>
+                                <sourceInclude>resources/tpl/**/*.html</sourceInclude>
+                                <sourceInclude>WEB-INF/views/**/*.html</sourceInclude>
+                            </sourceIncludes>
+                            http://static.ubtob.com/css/index.css?_v=1450321871828
+                            <versionSuffix>
+                                <suffix>?_v=${timestamp}</suffix>
+                                <exclude>*/require.js,*.min.js,*.min.css</exclude>
+                            </versionSuffix>
+                        </configuration>
+                        <goals>
+                            <goal>static</goal>
+                        </goals>
+                    </execution>
+                </executions>-->
+            </plugin>
+            <!--<plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-war-plugin</artifactId>
+                <version>2.4</version>
+                <configuration>
+                    <webResources>
+                        <resource>
+                            <directory>${project.build.directory}/statics</directory>
+                        </resource>
+                        <resource>
+                            <directory>${project.build.directory}/minify</directory>
+                        </resource>
+                    </webResources>
+                </configuration>
+            </plugin>-->
+            <plugin>
+                <groupId>org.apache.tomcat.maven</groupId>
+                <artifactId>tomcat7-maven-plugin</artifactId>
+                <version>2.2</version>
+                <configuration>
+                    <port>8090</port>
+                    <path>/b2b-api</path>
+                    <uriEncoding>utf-8</uriEncoding>
+                </configuration>
+            </plugin>
+        </plugins>
+        <pluginManagement>
+            <plugins>
+                <plugin>
+                    <groupId>org.eclipse.m2e</groupId>
+                    <artifactId>lifecycle-mapping</artifactId>
+                    <version>1.0.0</version>
+                    <configuration>
+                        <lifecycleMappingMetadata>
+                            <pluginExecutions>
+                                <pluginExecution>
+                                    <pluginExecutionFilter>
+                                        <groupId>
+                                            org.codehaus.mojo
+                                        </groupId>
+                                        <artifactId>
+                                            buildnumber-maven-plugin
+                                        </artifactId>
+                                        <versionRange>
+                                            [1.3,)
+                                        </versionRange>
+                                        <goals>
+                                            <goal>
+                                                create-timestamp
+                                            </goal>
+                                        </goals>
+                                    </pluginExecutionFilter>
+                                    <action>
+                                        <ignore></ignore>
+                                    </action>
+                                </pluginExecution>
+                            </pluginExecutions>
+                        </lifecycleMappingMetadata>
+                    </configuration>
+                </plugin>
+            </plugins>
+        </pluginManagement>
+    </build>
+    <properties>
+        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+        <maven.compiler.source>1.7</maven.compiler.source>
+        <maven.compiler.target>1.7</maven.compiler.target>
+        <skipTests>true</skipTests>
+    </properties>
+</project>

+ 34 - 0
src/main/java/com/uas/platform/b2b/core/serializer/LazyPropertyFilter.java

@@ -0,0 +1,34 @@
+package com.uas.platform.b2b.core.serializer;
+
+import com.alibaba.fastjson.serializer.PropertyFilter;
+import org.hibernate.collection.spi.PersistentCollection;
+import org.hibernate.proxy.HibernateProxy;
+import org.hibernate.proxy.LazyInitializer;
+
+/**
+ * Created by Pro1 on 2017/11/13.
+ *
+ * JSON序列化时,过滤Hibernate代理对象或者延迟加载的对象FetchType.LAZY
+ */
+public class LazyPropertyFilter implements PropertyFilter{
+
+    @Override
+    public boolean apply(Object object, String name, Object value) {
+        if (value instanceof HibernateProxy) {//hibernate代理对象
+            LazyInitializer initializer = ((HibernateProxy) value).getHibernateLazyInitializer();
+            if (initializer.isUninitialized()) {
+                return false;
+            }
+        } else if (value instanceof PersistentCollection) {//实体关联集合一对多等
+            PersistentCollection collection = (PersistentCollection) value;
+            if (!collection.wasInitialized()) {
+                return false;
+            }
+            Object val = collection.getValue();
+            if (val == null) {
+                return false;
+            }
+        }
+        return true;
+    }
+}

+ 20 - 0
src/main/java/com/uas/platform/b2b/core/support/ApplicationContextRegister.java

@@ -0,0 +1,20 @@
+package com.uas.platform.b2b.core.support;
+
+import org.apache.log4j.Logger;
+import org.springframework.beans.BeansException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+
+import com.uas.platform.b2b.core.util.ContextUtils;
+
+public class ApplicationContextRegister implements ApplicationContextAware {
+
+	private static Logger logger = Logger.getLogger(ApplicationContextRegister.class);
+
+	@Override
+    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+		ContextUtils.setApplicationContext(applicationContext);
+		logger.debug("ApplicationContext registed");
+	}
+	
+}

+ 72 - 0
src/main/java/com/uas/platform/b2b/core/util/ContextUtils.java

@@ -0,0 +1,72 @@
+package com.uas.platform.b2b.core.util;
+
+import org.apache.log4j.Logger;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationEvent;
+
+/**
+ * spring容器上下文对象
+ * 
+ * @author yingp
+ *
+ */
+public class ContextUtils {
+	private static ApplicationContext applicationContext;
+
+	private static Logger logger = Logger.getLogger(ContextUtils.class);
+
+	public static void setApplicationContext(ApplicationContext applicationContext) {
+		synchronized (ContextUtils.class) {
+			logger.debug("setApplicationContext, notifyAll");
+			ContextUtils.applicationContext = applicationContext;
+			ContextUtils.class.notifyAll();
+		}
+	}
+
+	public static ApplicationContext getApplicationContext() {
+		synchronized (ContextUtils.class) {
+			while (applicationContext == null) {
+				try {
+					logger.debug("getApplicationContext, wait...");
+					ContextUtils.class.wait(60000);
+					if (applicationContext == null) {
+						logger.warn("Have been waiting for ApplicationContext to be set for 1 minute", new Exception());
+					}
+				} catch (InterruptedException ex) {
+					logger.debug("getApplicationContext, wait interrupted");
+				}
+			}
+			return applicationContext;
+		}
+	}
+
+	/**
+	 * 获取bean
+	 * 
+	 * @param name
+	 * @return
+	 */
+	public static Object getBean(String name) {
+		return getApplicationContext().getBean(name);
+	}
+
+	/**
+	 * 获取bean
+	 * 
+	 * @param cls
+	 * @return
+	 */
+	public static <T> T getBean(Class<T> cls) {
+		return getApplicationContext().getBean(cls);
+	}
+
+	/**
+	 * 触发事件
+	 * 
+	 * @param event
+	 */
+	public static void publishEvent(ApplicationEvent event) {
+		getApplicationContext().publishEvent(event);
+	}
+
+}

+ 11 - 0
src/main/java/com/uas/platform/b2b/core/util/DateFormatUtils.java

@@ -0,0 +1,11 @@
+package com.uas.platform.b2b.core.util;
+
+import org.apache.commons.lang3.time.FastDateFormat;
+
+public class DateFormatUtils {
+
+	public static final FastDateFormat DATETIME_FORMAT = FastDateFormat.getInstance("yyyy-MM-dd HH:mm:ss");
+	
+	public static final FastDateFormat DATE_FORMAT = FastDateFormat.getInstance("yyyy-MM-dd");
+
+}

+ 207 - 0
src/main/java/com/uas/platform/b2b/core/util/DateUtils.java

@@ -0,0 +1,207 @@
+package com.uas.platform.b2b.core.util;
+
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Calendar;
+import java.util.Date;
+import java.util.GregorianCalendar;
+
+public class DateUtils {
+
+	public static final int COMPARE_NONE = 0;
+	public static final int COMPARE_SECOND = 1;
+	public static final int COMPARE_MINUTE = 2;
+	public static final int COMPARE_HOUR = 3;
+	public static final int COMPARE_DAY = 4;
+	static final SimpleDateFormat ym = new SimpleDateFormat("yyyyMM");
+	static final SimpleDateFormat YM = new SimpleDateFormat("yyyy-MM");
+	static final SimpleDateFormat YMD = new SimpleDateFormat("yyyy-MM-dd");
+	static final SimpleDateFormat YMD_HMS = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+
+	/**
+	 * 获取月份起始日期
+	 * 
+	 * @param date
+	 * @return
+	 */
+	public static Date getMinMonthDate(Date date) {
+		date = date == null ? new Date() : date;
+		Calendar calendar = Calendar.getInstance();
+		calendar.setTime(date);
+		calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
+		return calendar.getTime();
+	}
+
+	/**
+	 * 获取月份起始日期
+	 * 
+	 * @param date
+	 * @return
+	 */
+	public static String getMinMonthDateS(Date date) {
+		return YMD.format(getMinMonthDate(date));
+	}
+
+	/**
+	 * 获取月份最后日期
+	 * 
+	 * @param date
+	 * @return
+	 */
+	public static Date getMaxMonthDate(Date date) {
+		date = date == null ? new Date() : date;
+		Calendar calendar = Calendar.getInstance();
+		calendar.setTime(date);
+		calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
+		return calendar.getTime();
+	}
+
+	/**
+	 * 获取月份最后日期
+	 * 
+	 * @param date
+	 * @return
+	 */
+	public static String getMaxMonthDateS(Date date) {
+		return YMD.format(getMaxMonthDate(date));
+	}
+
+	/**
+	 * 比较日期大小
+	 * 
+	 * @param dateParam1
+	 * @param dateParam2
+	 * @param compareType
+	 *            精确位(天、小时、分钟、秒)
+	 * @return 1表示dateParam1大于dateParam2,0表示等于,-1表示小于
+	 */
+	public static int compare(Date dateParam1, Date dateParam2, int compareType) {
+		Calendar calendar1 = Calendar.getInstance();
+		calendar1.setTime(dateParam1);
+		calendar1.clear(Calendar.MILLISECOND);
+		if (compareType >= COMPARE_SECOND) {
+            calendar1.clear(Calendar.SECOND);
+        }
+		if (compareType >= COMPARE_MINUTE) {
+            calendar1.clear(Calendar.MINUTE);
+        }
+		if (compareType >= COMPARE_HOUR) {
+			calendar1.clear(Calendar.HOUR_OF_DAY);
+			calendar1.clear(Calendar.HOUR);
+			calendar1.clear(Calendar.AM_PM);
+		}
+		if (compareType >= COMPARE_DAY) {
+            calendar1.clear(Calendar.DAY_OF_MONTH);
+        }
+		Calendar calendar2 = Calendar.getInstance();
+		calendar2.setTime(dateParam2);
+		calendar2.clear(Calendar.MILLISECOND);
+		if (compareType >= COMPARE_SECOND) {
+            calendar2.clear(Calendar.SECOND);
+        }
+		if (compareType >= COMPARE_MINUTE) {
+            calendar2.clear(Calendar.MINUTE);
+        }
+		if (compareType >= COMPARE_HOUR) {
+			calendar2.clear(Calendar.HOUR_OF_DAY);
+			calendar2.clear(Calendar.HOUR);
+			calendar2.clear(Calendar.AM_PM);
+		}
+		if (compareType >= COMPARE_DAY) {
+            calendar2.clear(Calendar.DAY_OF_MONTH);
+        }
+		return calendar1.compareTo(calendar2);
+	}
+
+	/**
+	 * 截取指定日期的年月
+	 * 
+	 * @param date
+	 * @return
+	 */
+	public static Integer getYearmonth(Date date) {
+		if (date == null) {
+			date = new Date();
+		}
+		return Integer.parseInt(ym.format(date));
+	}
+
+	/**
+	 * 截取指定日期的年月
+	 * 
+	 * @param date
+	 * @return
+	 */
+	public static Integer getYearmonth(String date) {
+		return Integer.parseInt(ym.format(parse(date, null)));
+	}
+
+	public static Date parse(String date, String f) {
+		if (date == null || "".equals(date)) {
+			return new Date();
+		}
+		if (f == null || "".equals(f)) {
+			try {
+				return date.contains(" ") ? YMD_HMS.parse(date) : YMD.parse(date);
+			} catch (ParseException e) {
+				return new Date();
+			}
+		}
+		SimpleDateFormat sdf = new SimpleDateFormat(f);
+		try {
+			return sdf.parse(date);
+		} catch (ParseException e) {
+			return new Date();
+		}
+	}
+
+	/**
+	 * 当前时间
+	 * 
+	 * @return <h3>String</h3>
+	 */
+	public static String getCurrentDate() {
+		return format(new Date(), null);
+	}
+
+	public static String format(Date date, String f) {
+		if (date == null) {
+			date = new Date();
+		}
+		if (f == null) {
+			return YMD.format(date);
+		}
+		SimpleDateFormat sdf = new SimpleDateFormat(f);
+		return sdf.format(date);
+	}
+
+	/**
+	 * 月份加减
+	 * 
+	 * @param date
+	 * @param increase
+	 *            加减月份数,负数表示减
+	 * @return
+	 */
+	public static Integer addMonth(Date date, int increase) {
+		if (date == null) {
+            date = new Date();
+        }
+		Calendar calendar = new GregorianCalendar();
+		calendar.setTime(date);
+		calendar.add(Calendar.MONTH, increase);
+		return getYearmonth(calendar.getTime());
+	}
+
+	/**
+	 * 月份加减
+	 * 
+	 * @param date
+	 * @param increase
+	 *            加减月份数,负数表示减
+	 * @return
+	 */
+	public static Integer addMonth(String date, int increase) {
+		return addMonth(parse(date, null), increase);
+	}
+}

+ 81 - 0
src/main/java/com/uas/platform/b2b/core/util/PathUtils.java

@@ -0,0 +1,81 @@
+package com.uas.platform.b2b.core.util;
+
+import java.io.File;
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+
+/**
+ * 路径
+ * 
+ * @author yingp
+ *
+ */
+public class PathUtils {
+
+	private static String classPath;
+
+	private static String appPath;
+
+	private static String filePath;
+
+	/**
+	 * classes文件目录
+	 * 
+	 * @return
+	 */
+	public static String getClassPath() {
+		if (classPath == null) {
+            setClassPath();
+        }
+		return classPath;
+	}
+
+	/**
+	 * 应用程序目录
+	 * 
+	 * @return
+	 */
+	public static String getAppPath() {
+		if (appPath == null) {
+            setAppPath();
+        }
+		return appPath;
+	}
+
+	/**
+	 * 日志、附件文件等存放目录,与程序同级
+	 * 
+	 * @return
+	 */
+	public static String getFilePath() {
+		if (filePath == null) {
+            setFilePath();
+        }
+		return filePath;
+	}
+
+	private static void setClassPath() {
+		Class<?> objClass = ContextUtils.getApplicationContext().getClass();
+		String strRealPath = objClass.getClassLoader().getResource("").getFile();
+		try {
+			strRealPath = URLDecoder.decode(strRealPath, "UTF-8");
+		} catch (UnsupportedEncodingException e) {
+			e.printStackTrace();
+		}
+		File objFile = new File(strRealPath);
+		classPath = objFile.getParent() + File.separator;
+		if (classPath.contains("/")) {
+			classPath = "/" + classPath;
+		}
+	}
+
+	private static void setAppPath() {
+		File file = new File(getClassPath());
+		appPath = file.getParent() + File.separator;
+	}
+
+	private static void setFilePath() {
+		File file = new File(getAppPath());
+		filePath = file.getParent() + File.separator;
+	}
+}

+ 37 - 0
src/main/java/com/uas/platform/b2b/core/util/SplitArray.java

@@ -0,0 +1,37 @@
+package com.uas.platform.b2b.core.util;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by wangmh and hejq on 2017/8/29.
+ */
+public class SplitArray{
+
+    /**
+     * SQL查询in表达式中最大的数量
+     */
+    public final static int QUERY_MAX_NUMBER = 1000;
+
+    /**
+     * 集合大小拆分
+     * @param ary
+     * @param subSize
+     * @return
+     */
+    public static <T> List<List<T>> splitAry(List<T> ary, int subSize) {
+        int count = ary.size() % subSize == 0 ? ary.size() / subSize: ary.size() / subSize + 1;
+        List<List<T>> subAryList = new ArrayList<List<T>>();
+        for (int i = 0; i < count; i++) {
+            int index = i * subSize;
+            List<T> list = new ArrayList<T>();
+            int j = 0;
+            while (j < subSize && index < ary.size()) {
+                list.add(ary.get(index++));
+                j++;
+            }
+            subAryList.add(list);
+        }
+        return subAryList;
+    }
+}

+ 34 - 0
src/main/java/com/uas/platform/b2b/core/util/StringUtil.java

@@ -0,0 +1,34 @@
+package com.uas.platform.b2b.core.util;
+
+import java.util.Random;
+import java.util.UUID;
+
+public class StringUtil {
+
+	/**
+	 * 产生唯一字符串
+	 * 
+	 * @return
+	 */
+	public static String uuid() {
+		return UUID.randomUUID().toString().replaceAll("\\-", "");
+	}
+
+	public static String substr(String str, int begin, int end) {
+		return str.substring(begin, Math.min(str.length(), end));
+	}
+
+	/**
+	 * 随机数字
+	 * 
+	 * @param len
+	 *            数字长度
+	 * @return
+	 */
+	public static String getRandomNumber(int len) {
+		int max = (int) Math.pow(10, len) - 1;
+		int min = (int) Math.pow(10, len - 1);
+		return String.valueOf(new Random().nextInt(max) % (max - min + 1) + min);
+	}
+
+}

+ 47 - 0
src/main/java/com/uas/platform/b2b/core/util/ThreadTask.java

@@ -0,0 +1,47 @@
+package com.uas.platform.b2b.core.util;
+
+import java.util.concurrent.ArrayBlockingQueue;
+import java.util.concurrent.BlockingQueue;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
+/**
+ * Created by wangmh on 2017/7/19.
+ */
+public class ThreadTask {
+
+    private static ThreadTask threadTask = new ThreadTask();
+
+    /**
+     * 线程池
+     */
+    private ThreadPoolExecutor executor;
+
+    /**
+     * 核心线程池大小
+     */
+    private static final int corePoolSize = 5;
+
+    /**
+     * 最大线程池大小
+     */
+    private static final int maximumPoolSize = 10;
+
+    /**
+     * 阻塞任务队列
+     */
+    private BlockingQueue<Runnable> workQueue;
+
+    private ThreadTask() {
+        workQueue = new ArrayBlockingQueue<Runnable>(maximumPoolSize);
+        this.executor = new ThreadPoolExecutor(corePoolSize, maximumPoolSize, 0L, TimeUnit.MILLISECONDS, workQueue);
+    }
+
+    public static ThreadTask getInstance(){
+        return threadTask;
+    }
+
+    public void execute(Runnable r){
+        executor.execute(r);
+    }
+}

+ 282 - 0
src/main/java/com/uas/platform/b2b/core/util/ThreadUtils.java

@@ -0,0 +1,282 @@
+package com.uas.platform.b2b.core.util;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.CompletionService;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.ExecutorCompletionService;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.Future;
+import java.util.concurrent.TimeUnit;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+import org.springframework.util.CollectionUtils;
+
+import com.uas.platform.core.concurrent.ICallable;
+import com.uas.platform.core.concurrent.ICallableAdapter;
+import com.uas.platform.core.concurrent.IRunnable;
+import com.uas.platform.core.concurrent.IRunnableAdapter;
+import com.uas.platform.core.concurrent.Listener;
+import com.uas.platform.core.concurrent.Listeners;
+
+/**
+ * 多线程处理工具
+ */
+public class ThreadUtils {
+
+	public static <T> Runner<T> tasks(IRunnable<T> runnable, List<T> paramList) {
+		return new Runner<T>(runnable).tasks(paramList);
+	}
+
+	public static <T> void run(IRunnable<T> runnable, List<T> paramList) {
+		tasks(runnable, paramList).run();
+	}
+
+	public static <T> Runner<T> pool(IRunnable<T> runnable, int poolSize) {
+		return new Runner<T>(runnable, poolSize);
+	}
+
+	public static <V, T> Caller<V, T> tasks(ICallable<V, T> callable, List<T> paramList) {
+		return new Caller<V, T>(callable).tasks(paramList);
+	}
+
+	public static <V, T> List<V> call(ICallable<V, T> callable, List<T> paramList) {
+		return tasks(callable, paramList).call();
+	}
+
+	public static <V, T> Caller<V, T> pool(ICallable<V, T> callable, int poolSize) {
+		return new Caller<V, T>(callable, poolSize);
+	}
+
+	public static Executor task(Runnable runnable) {
+		return new Executor().task(runnable);
+	}
+
+	public static Executor pool(int poolSize) {
+		return new Executor(poolSize);
+	}
+
+	/**
+	 * @param <T>
+	 *            参数类型
+	 */
+	public static class Runner<T> {
+		private final ExecutorService threadPool;
+		private IRunnable<T> runner;
+		private int timeout = 900;
+		private int taskCount = 0;
+
+		public Runner() {
+			this.threadPool = Executors.newCachedThreadPool();
+		}
+
+		public Runner(int poolSize) {
+			this.threadPool = Executors.newFixedThreadPool(poolSize);
+		}
+
+		public Runner(IRunnable<T> runner) {
+			this();
+			this.runner = runner;
+		}
+
+		public Runner(IRunnable<T> runner, int poolSize) {
+			this(poolSize);
+			this.runner = runner;
+		}
+
+		public Runner<T> setTimeout(int timeout) {
+			this.timeout = timeout;
+			return this;
+		}
+
+		public Runner<T> task(T param) {
+			threadPool.execute(new IRunnableAdapter<T>(runner, param));
+			taskCount++;
+			return this;
+		}
+
+		public Runner<T> tasks(List<T> params) {
+			if (!CollectionUtils.isEmpty(params)) {
+				for (T param : params) {
+                    task(param);
+                }
+			}
+			return this;
+		}
+
+		public void run() {
+			if (taskCount > 0) {
+				threadPool.shutdown();
+				try {
+					threadPool.awaitTermination(timeout, TimeUnit.SECONDS);
+				} catch (InterruptedException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+
+		public Runner<T> shutdownIf(Listeners closer) {
+			closer.addListener(new Listener() {
+
+				@Override
+				public void handler() {
+					threadPool.shutdownNow();
+				}
+			});
+			return this;
+		}
+
+	}
+
+	/**
+	 * @param <V>
+	 *            返回类型
+	 * @param <T>
+	 *            参数类型
+	 */
+	public static class Caller<V, T> {
+		private final ExecutorService threadPool;
+		private final CompletionService<V> service;
+		private ICallable<V, T> caller;
+		private int taskCount = 0;
+		private AtomicBoolean closed = new AtomicBoolean(false);
+
+		public Caller() {
+			this.threadPool = Executors.newCachedThreadPool();
+			this.service = new ExecutorCompletionService<V>(threadPool);
+		}
+
+		public Caller(int poolSize) {
+			this.threadPool = Executors.newFixedThreadPool(poolSize);
+			this.service = new ExecutorCompletionService<V>(threadPool);
+		}
+
+		public Caller(ICallable<V, T> caller) {
+			this();
+			this.caller = caller;
+		}
+
+		public Caller(ICallable<V, T> caller, int poolSize) {
+			this(poolSize);
+			this.caller = caller;
+		}
+
+		public Caller<V, T> task(T param) {
+			service.submit(new ICallableAdapter<V, T>(caller, param));
+			taskCount++;
+			return this;
+		}
+
+		public Caller<V, T> tasks(List<T> params) {
+			if (!CollectionUtils.isEmpty(params)) {
+				for (T param : params) {
+                    task(param);
+                }
+			}
+			return this;
+		}
+
+		public List<V> call() {
+			threadPool.shutdown();
+			int finish = 0;
+			List<V> results = new ArrayList<V>();
+			while (finish < taskCount && !closed.get()) {
+				Future<V> val = service.poll();
+				// 采用非阻塞方式
+				if (null != val) {
+					try {
+						results.add(val.get());
+					} catch (InterruptedException e) {
+						e.printStackTrace();
+					} catch (ExecutionException e) {
+						e.printStackTrace();
+					}
+					finish++;
+				}
+				try {
+					TimeUnit.MILLISECONDS.sleep(50);
+				} catch (InterruptedException e) {
+					e.printStackTrace();
+				}
+			}
+			closed.set(true);
+			return results;
+		}
+
+		public Caller<V, T> shutdownIf(Listeners closer) {
+			closer.addListener(new Listener() {
+
+				@Override
+				public void handler() {
+					if (!closed.get()) {
+						threadPool.shutdownNow();
+						closed.set(true);
+					}
+				}
+			});
+			return this;
+		}
+
+	}
+
+	/**
+	 * 无参、无返回执行
+	 */
+	public static class Executor {
+		private final ExecutorService threadPool;
+		private int timeout = 900;// 15 min
+		private int taskCount = 0;
+
+		public Executor() {
+			this.threadPool = Executors.newCachedThreadPool();
+		}
+
+		public Executor(int poolSize) {
+			this.threadPool = Executors.newFixedThreadPool(poolSize);
+		}
+
+		public Executor setTimeout(int timeout) {
+			this.timeout = timeout;
+			return this;
+		}
+
+		public Executor task(Runnable runnable) {
+			threadPool.execute(runnable);
+			taskCount++;
+			return this;
+		}
+
+		public Executor tasks(List<Runnable> runnables) {
+			if (!CollectionUtils.isEmpty(runnables)) {
+				for (Runnable runnable : runnables) {
+                    task(runnable);
+                }
+			}
+			return this;
+		}
+
+		public void run() {
+			if (taskCount > 0) {
+				threadPool.shutdown();
+				try {
+					threadPool.awaitTermination(timeout, TimeUnit.SECONDS);
+				} catch (InterruptedException e) {
+					e.printStackTrace();
+				}
+			}
+		}
+
+		public Executor shutdownIf(Listeners closer) {
+			closer.addListener(new Listener() {
+
+				@Override
+				public void handler() {
+					threadPool.shutdownNow();
+				}
+			});
+			return this;
+		}
+
+	}
+}

+ 23 - 0
src/main/java/com/uas/platform/b2b/dao/ApbillAdjustmentDao.java

@@ -0,0 +1,23 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.ApbillAdjustment;
+
+@Repository
+public interface ApbillAdjustmentDao
+		extends JpaRepository<ApbillAdjustment, Long>, JpaSpecificationExecutor<ApbillAdjustment> {
+
+	/**
+	 * 根据单据编号判断是否已存在
+	 * 
+	 * @param enuu
+	 * @param inoutno
+	 * @return
+	 */
+	List<ApbillAdjustment> findByCustuuAndInoutno(Long enuu, String inoutno);
+}

+ 22 - 0
src/main/java/com/uas/platform/b2b/dao/ApprovalFlowDao.java

@@ -0,0 +1,22 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.ApprovalFlow;
+
+@Repository
+public interface ApprovalFlowDao extends JpaRepository<ApprovalFlow, Long>, JpaSpecificationExecutor<ApprovalFlow> {
+
+	/**
+	 * 通过企业uu和流程名称查找节点
+	 * 
+	 * @param enuu
+	 * @param appname
+	 * @return
+	 */
+	public ApprovalFlow findByEnuuAndAppname(Long enuu, String appname);
+}

+ 11 - 0
src/main/java/com/uas/platform/b2b/dao/AttachDao.java

@@ -0,0 +1,11 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.Attach;
+
+@Repository
+public interface AttachDao extends JpaRepository<Attach, Long> {
+	
+}

+ 11 - 0
src/main/java/com/uas/platform/b2b/dao/AuthorityDao.java

@@ -0,0 +1,11 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.Resource;
+
+@Repository
+public interface AuthorityDao extends JpaRepository<Resource, Long> {
+
+}

+ 22 - 0
src/main/java/com/uas/platform/b2b/dao/B2bCodeSetDao.java

@@ -0,0 +1,22 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.B2bCodeSet;
+
+@Repository
+public interface B2bCodeSetDao  extends JpaSpecificationExecutor<B2bCodeSet>, JpaRepository<B2bCodeSet, Long>{
+	
+	/**
+	 * 根据企业UU和code码查询规则表
+	 * @param enUU
+	 * @param code
+	 * @return
+	 */
+	public List<B2bCodeSet> findByEnUUAndCode(long enUU,String code);
+
+}

+ 23 - 0
src/main/java/com/uas/platform/b2b/dao/BarLPSetingDao.java

@@ -0,0 +1,23 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.BarLabelPrintSetting;
+
+@Repository
+public interface BarLPSetingDao  extends JpaSpecificationExecutor<BarLabelPrintSetting>, JpaRepository<BarLabelPrintSetting, Long>{
+	/**
+	 * 通过laid查询数据
+	 * @param laid
+	 * @return
+	 */
+	@Query("from BarLabelPrintSetting s where s.label.id=:laid")
+	public List<BarLabelPrintSetting> findByLaid(@Param("laid") Long laid);
+
+}

+ 21 - 0
src/main/java/com/uas/platform/b2b/dao/BarLParameterDao.java

@@ -0,0 +1,21 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.BarLabelParameter;
+
+@Repository
+public interface BarLParameterDao  extends JpaSpecificationExecutor<BarLabelParameter>, JpaRepository<BarLabelParameter, Long>{
+	
+	/**
+	 * 通过laid查询数据
+	 * @param laid
+	 * @return
+	 */
+	public List<BarLabelParameter> findByLaid(Long laid);
+
+}

+ 21 - 0
src/main/java/com/uas/platform/b2b/dao/BarLabelDao.java

@@ -0,0 +1,21 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.BarLabel;
+
+@Repository
+public interface BarLabelDao  extends JpaSpecificationExecutor<BarLabel>, JpaRepository<BarLabel, Long>{
+	/**
+	 * 根据企业UU和code码查询Label表
+	 * @param enUU
+	 * @param code
+	 * @return
+	 */
+	public List<BarLabel> findByEnUUAndCode(long enuu,String code);
+	
+}

+ 22 - 0
src/main/java/com/uas/platform/b2b/dao/BarPackageDao.java

@@ -0,0 +1,22 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.BarPackage;
+
+@Repository
+public interface BarPackageDao extends JpaSpecificationExecutor<BarPackage>, JpaRepository<BarPackage, Long> {
+    
+	/**
+	 * 通过发送状态和客户uu查询数据  
+	 * @param sendStatus
+	 * @param custUU
+	 * @return
+	 */
+	public List<BarPackage> findBySendStatusAndCustUU(short sendStatus,Long custUU);
+}

+ 10 - 0
src/main/java/com/uas/platform/b2b/dao/BarPackageDetailDao.java

@@ -0,0 +1,10 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+import com.uas.platform.b2b.model.BarPackageDetail;
+
+public interface BarPackageDetailDao extends JpaSpecificationExecutor<BarPackageDetail>, JpaRepository<BarPackageDetail, Long>  {
+
+}

+ 33 - 0
src/main/java/com/uas/platform/b2b/dao/BarSendNotifyDao.java

@@ -0,0 +1,33 @@
+package com.uas.platform.b2b.dao;
+
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.uas.platform.b2b.model.BarSendNotify;
+
+@Repository
+public interface BarSendNotifyDao extends JpaSpecificationExecutor<BarSendNotify>, JpaRepository<BarSendNotify, Long> {
+    
+	/**
+	 * 根据ssid查询数据
+	 * @param ssid
+	 * @return
+	 */
+	@Query("from BarSendNotify s where  s.ssid = :ssid")
+	public List<BarSendNotify> findBySsid(@Param("ssid") long ssid);
+	
+	/**
+	 * 根据发送状态和客户UU号上传BarSendNotify
+	 * @param sendStatus
+	 * @return
+	 */
+	@Query("from BarSendNotify s where  s.saleSendItem.send.custUU = :custUU and s.sendStatus = :sendStatus")
+	public List<BarSendNotify> findByCustUUAndSendStatus(@Param("custUU") Long custUU, @Param("sendStatus") Short sendStatus);
+}

+ 127 - 0
src/main/java/com/uas/platform/b2b/dao/CommonDao.java

@@ -0,0 +1,127 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+import java.util.Map;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.dao.EmptyResultDataAccessException;
+import org.springframework.jdbc.core.BeanPropertyRowMapper;
+import org.springframework.jdbc.core.JdbcTemplate;
+import org.springframework.jdbc.core.namedparam.BeanPropertySqlParameterSource;
+import org.springframework.jdbc.core.namedparam.SqlParameterSource;
+import org.springframework.jdbc.core.simple.SimpleJdbcInsert;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public class CommonDao {
+
+	@Autowired
+	private JdbcTemplate jdbcTemplate;
+
+	public List<Map<String, Object>> queryForList(String sql) {
+		return this.jdbcTemplate.queryForList(sql);
+	}
+
+	public <T> List<T> queryForList(String sql, Class<T> elementType) {
+		return this.jdbcTemplate.queryForList(sql, elementType);
+	}
+
+	public List<Map<String, Object>> queryForList(String sql, Object... args) {
+		return this.jdbcTemplate.queryForList(sql, args);
+	}
+
+	public <T> List<T> queryForList(String sql, Object[] args, Class<T> elementType) {
+		return this.jdbcTemplate.queryForList(sql, args, elementType);
+	}
+
+	public <T> List<T> queryForList(String sql, Class<T> elementType, Object... args) {
+		return this.jdbcTemplate.queryForList(sql, elementType, args);
+	}
+
+	public <T> List<T> query(String sql, Object[] args, Class<T> elementType) {
+		return this.jdbcTemplate.query(sql, args, new BeanPropertyRowMapper<T>(elementType));
+	}
+
+	public <T> List<T> query(String sql, Class<T> elementType) {
+		return this.jdbcTemplate.query(sql, new BeanPropertyRowMapper<T>(elementType));
+	}
+
+	public <T> List<T> query(String sql, Class<T> elementType, Object... args) {
+		return this.jdbcTemplate.query(sql, new BeanPropertyRowMapper<T>(elementType), args);
+	}
+
+	/**
+	 * 查找自定义实体对象集合
+	 * 
+	 * @param sql
+	 * @param args
+	 * @param elementType
+	 * @return
+	 */
+	public <T> T queryBean(String sql, Object[] args, Class<T> elementType) {
+		try {
+			return this.jdbcTemplate.queryForObject(sql, args, new BeanPropertyRowMapper<T>(elementType));
+		} catch (EmptyResultDataAccessException e) {
+			return null;
+		}
+	}
+
+	/**
+	 * 查找自定义实体对象集合
+	 * 
+	 * @param sql
+	 * @param elementType
+	 * @return
+	 */
+	public <T> T queryBean(String sql, Class<T> elementType) {
+		try {
+			return this.jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<T>(elementType));
+		} catch (EmptyResultDataAccessException e) {
+			return null;
+		}
+	}
+
+	/**
+	 * 查找自定义实体对象
+	 * 
+	 * @param sql
+	 * @param elementType
+	 * @param args
+	 * @return
+	 */
+	public <T> T queryBean(String sql, Class<T> elementType, Object... args) {
+		try {
+			return this.jdbcTemplate.queryForObject(sql, new BeanPropertyRowMapper<T>(elementType), args);
+		} catch (EmptyResultDataAccessException e) {
+			return null;
+		}
+	}
+
+	public <T> T queryForObject(String sql, Object[] args, Class<T> elementType) {
+		return this.jdbcTemplate.queryForObject(sql, args, elementType);
+	}
+
+	public <T> T queryForObject(String sql, Class<T> elementType) {
+		return this.jdbcTemplate.queryForObject(sql, elementType);
+	}
+
+	public <T> T queryForObject(String sql, Class<T> elementType, Object... args) {
+		return this.jdbcTemplate.queryForObject(sql, elementType, args);
+	}
+
+	public JdbcTemplate getJdbcTemplate() {
+		return jdbcTemplate;
+	}
+
+	public void save(List<?> beans, String tableName) {
+		SqlParameterSource[] sqlSource = new SqlParameterSource[beans.size()];
+		int i = 0;
+		for (Object obj : beans) {
+			sqlSource[i++] = new BeanPropertySqlParameterSource(obj);
+		}
+		SimpleJdbcInsert insertActor = new SimpleJdbcInsert(getJdbcTemplate());
+		insertActor.setTableName(tableName);
+		insertActor.executeBatch(sqlSource);
+	}
+
+}

+ 13 - 0
src/main/java/com/uas/platform/b2b/dao/CommunalLogDao.java

@@ -0,0 +1,13 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.CommunalLog;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * Created by US50 on 2017-12-12.
+ */
+@Repository
+public interface CommunalLogDao extends JpaSpecificationExecutor<CommunalLog>, JpaRepository<CommunalLog, Long> {
+}

+ 23 - 0
src/main/java/com/uas/platform/b2b/dao/CustomerDao.java

@@ -0,0 +1,23 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.Customer;
+import com.uas.platform.core.data.repository.GenericRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface CustomerDao extends JpaSpecificationExecutor<Customer>, GenericRepository<Customer, Long> {
+
+    /**
+     * 获得每种单据状态的未读数量
+     *
+     * @Param ids 单据id
+     * @return
+     */
+    @Query("select count(p), p.status from Customer p where p.id in :ids group by p.status")
+    List<Object[]> getUnreadCountEveryStatus(@Param("ids") List<Long> ids);
+}

+ 22 - 0
src/main/java/com/uas/platform/b2b/dao/DeOrderDeleteLogDao.java

@@ -0,0 +1,22 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.DeOrderDeleteLog;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface DeOrderDeleteLogDao
+		extends JpaRepository<DeOrderDeleteLog, Long>, JpaSpecificationExecutor<DeOrderDeleteLog> {
+
+	/**
+	 * 通过代采企业uu和下载状态查询删除日志
+	 * 
+	 * @param deputyuu
+	 * @param status
+	 * @return
+	 */
+	List<DeOrderDeleteLog> findByDeputyuuAndStatus(Long deputyuu, Integer status);
+}

+ 34 - 0
src/main/java/com/uas/platform/b2b/dao/DeputyOrderDao.java

@@ -0,0 +1,34 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.DeputyOrder;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface DeputyOrderDao extends JpaRepository<DeputyOrder, Long>, JpaSpecificationExecutor<DeputyOrder> {
+
+	/**
+	 * 通过代采企业uu和下载状态及录入状态查询代采订单
+	 * 
+	 * @param enuu
+	 * @param entryStatus
+	 * @param downloadStatus
+	 * @return
+	 */
+	List<DeputyOrder> getByDeputyuuAndEntrystatusAndDownloadstatus(Long enuu, String entryStatus,
+			String downloadStatus);
+
+	/**
+	 * 通过单据流水号、下载状态(存在重复单号的问题)查询代采订单信息
+	 * 
+	 * @param code
+	 * @param deputyuu
+	 * @param status
+	 * @return
+	 */
+	DeputyOrder findByCodeAndDeputyuuAndDownloadstatus(String code, Long deputyuu, String status);
+
+}

+ 13 - 0
src/main/java/com/uas/platform/b2b/dao/DeputyOrderItemDao.java

@@ -0,0 +1,13 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.DeputyOrderItem;
+
+@Repository
+public interface DeputyOrderItemDao
+		extends JpaRepository<DeputyOrderItem, Long>, JpaSpecificationExecutor<DeputyOrderItem> {
+
+}

+ 16 - 0
src/main/java/com/uas/platform/b2b/dao/DeputyOrdersLogDao.java

@@ -0,0 +1,16 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.DeputyOrdersLog;
+
+@Repository
+public interface DeputyOrdersLogDao
+		extends JpaRepository<DeputyOrdersLog, Long>, JpaSpecificationExecutor<DeputyOrdersLog> {
+
+	List<DeputyOrdersLog> findBySourceid(Long sourceid);
+}

+ 23 - 0
src/main/java/com/uas/platform/b2b/dao/DeputyPaymentCompanyDao.java

@@ -0,0 +1,23 @@
+package com.uas.platform.b2b.dao;
+
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.DeputyPaymentCompany;
+
+@Repository
+public interface DeputyPaymentCompanyDao
+		extends JpaRepository<DeputyPaymentCompany, Long>, JpaSpecificationExecutor<DeputyPaymentCompany> {
+
+
+	/**
+	 * 查询是否存在
+	 * 
+	 * @param enuu
+	 * @param enname
+	 * @return
+	 */
+	DeputyPaymentCompany findByEnuuAndEnname(Long enuu, String enname);
+}

+ 32 - 0
src/main/java/com/uas/platform/b2b/dao/DistributeDao.java

@@ -0,0 +1,32 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.Distribute;
+import com.uas.platform.core.data.repository.GenericRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface DistributeDao extends JpaSpecificationExecutor<Distribute>, GenericRepository<Distribute, Long> {
+	
+	/**
+	 * 根据用户UU查询客户分配表 
+	 * @param userUU
+	 * @return
+	 */
+	public List<Distribute> findByUserUU(Long userUU);
+	
+	/**
+	 * 根据用户UU和vendor ID
+	 * @param userUU
+	 * @param vendorId
+	 * @return
+	 */
+	public List<Distribute> findByUserUUAndVendorId(Long userUU,Long vendorId);
+	
+	public List<Distribute> findByVendorId(List<Long> vendorIds);
+
+	List<Distribute> findByVendorId(Long vendorId);
+
+}

+ 14 - 0
src/main/java/com/uas/platform/b2b/dao/EnterpriseBaseInfoDao.java

@@ -0,0 +1,14 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.EnterpriseBaseInfo;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * Created by dongbw on 17/03/07 14:13.
+ */
+@Repository
+public interface EnterpriseBaseInfoDao extends JpaSpecificationExecutor<EnterpriseBaseInfo>,JpaRepository<EnterpriseBaseInfo, Long> {
+
+}

+ 48 - 0
src/main/java/com/uas/platform/b2b/dao/EnterpriseDao.java

@@ -0,0 +1,48 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.Enterprise;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.jpa.repository.QueryHints;
+import org.springframework.data.jpa.repository.query.Procedure;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import javax.persistence.QueryHint;
+import java.util.List;
+
+@Repository
+public interface EnterpriseDao extends JpaSpecificationExecutor<Enterprise>,JpaRepository<Enterprise, Long> {
+
+	public Enterprise findEnterpriseByEnBussinessCode(String enBussinessCode);
+
+	@QueryHints({ @QueryHint(name = "org.hibernate.cacheable", value = "true") })
+	public Enterprise findEnterpriseByUu(Long uu);
+
+	/**
+	 * 按名称查找企业
+	 * 
+	 * @param name
+	 * @return
+	 */
+	@Query("from Enterprise e where e.enName LIKE :name%")
+	public List<Enterprise> findByEnName(@Param("name") String name);
+	
+	/**
+	 * 企业资料初始化
+	 * 
+	 * @param enUU
+	 */
+	@Procedure(procedureName = "init_en")
+	public void callInitProcedure(Long enUU);
+	
+	/**
+	 * 按企业名称精确查询企业信息
+	 *
+	 * @param name 企业名称
+	 * @return
+	 */
+	@Query("from Enterprise e where e.enName = :name")
+	List<Enterprise> findByName(@Param("name") String name);
+}

+ 15 - 0
src/main/java/com/uas/platform/b2b/dao/ErrorLogDao.java

@@ -0,0 +1,15 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.ErrorLog;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 平台错误日志记录
+ *
+ * Created by hejq on 2018-06-20.
+ */
+@Repository
+public interface ErrorLogDao extends JpaRepository<ErrorLog, Long>, JpaSpecificationExecutor<ErrorLog> {
+}

+ 15 - 0
src/main/java/com/uas/platform/b2b/dao/ErrorLogDetailDao.java

@@ -0,0 +1,15 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.ErrorLogDetail;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 日志详情
+ *
+ * Created by hejq on 2018-06-22.
+ */
+@Repository
+public interface ErrorLogDetailDao extends JpaSpecificationExecutor<ErrorLogDetail>, JpaRepository<ErrorLogDetail, Long> {
+}

+ 30 - 0
src/main/java/com/uas/platform/b2b/dao/FlowNodeDao.java

@@ -0,0 +1,30 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.FlowNode;
+
+@Repository
+public interface FlowNodeDao extends JpaRepository<FlowNode, Long>, JpaSpecificationExecutor<FlowNode> {
+
+	/**
+	 * 查询节点
+	 * 
+	 * @param enuu
+	 * @param appname
+	 * @param nodelev
+	 * @return
+	 */
+	public FlowNode findByEnuuAndAppnameAndNodelev(Long enuu, String appname, Integer nodelev);
+
+	/**
+	 * 
+	 * @param enuu
+	 * @param emcode
+	 * @param appname
+	 * @return
+	 */
+	public FlowNode getNodeInfoByEnuuAndEmcodeAndAppname(Long enuu, Long emcode, String appname);
+}

+ 40 - 0
src/main/java/com/uas/platform/b2b/dao/InvitationRecordDao.java

@@ -0,0 +1,40 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.InvitationRecord;
+
+@Repository
+public interface InvitationRecordDao
+		extends JpaRepository<InvitationRecord, Long>, JpaSpecificationExecutor<InvitationRecord> {
+
+	/**
+	 * 邀请人和客户企业名称记录邀请次数
+	 * 
+	 * @param useruu
+	 * @param vendname
+	 * @return
+	 */
+	public InvitationRecord findByUseruuAndVendname(Long useruu, String vendname);
+
+	/**
+	 * 通过邀请企业uu号和供应商名称查询邀请记录
+	 *
+	 * @param enuu
+	 * @param vendname
+	 * @return
+	 */
+	public InvitationRecord findByEnuuAndVendname(Long enuu, String vendname);
+
+	/**
+	 * 通过注册UU号查询邀请记录
+	 *
+	 * @param enuu uu号
+	 * @return
+	 */
+    List<InvitationRecord> findByVenduu(Long enuu);
+}

+ 53 - 0
src/main/java/com/uas/platform/b2b/dao/MakeAcceptDao.java

@@ -0,0 +1,53 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.MakeAccept;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+
+@Repository
+public interface MakeAcceptDao extends JpaSpecificationExecutor<MakeAccept>, JpaRepository<MakeAccept, Long> {
+	/**
+	 * 按所属企业及编号查找委外验收单
+	 * @param enUU
+	 * @param code
+	 * @return
+	 */
+	public List<MakeAccept> findByEnUUAndCode(long enUU,String code);
+	
+	/**
+	 * 卖家根据卖家UU号和下载状态获取需要下载的客户委外验收入库单
+	 * @return
+	 */
+	public List<MakeAccept> findByVendUUAndSendStatus(Long vendUU, Short sendStatus);
+	
+	/**
+	 * 按卖家UU、反过账状态查找
+	 * @param vendUU
+	 * @param nonPosting
+	 * @return
+	 */
+	public List<MakeAccept> findByVendUUAndNonPosting(Long vendUU, Short nonPosting);
+	
+	/**
+	 * 根据供应商UU号获取客户委外验收单数量
+	 * @param vendUU
+	 * @return
+	 */
+	@Query("select count(p) from MakeAccept p where p.vendUU = :vendUU")
+	public long countByVendUU(@Param("vendUU")Long vendUU);
+
+	/**
+	 * 通过企业UU和erpId获取对应的B2Bid
+	 *
+	 * @param enUU 企业UU
+	 * @param erpId erpId
+	 * @return
+	 */
+    List<MakeAccept> findByEnUUAndErpId(Long enUU, Long erpId);
+}

+ 25 - 0
src/main/java/com/uas/platform/b2b/dao/MakeAcceptItemDao.java

@@ -0,0 +1,25 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.MakeAcceptItem;
+
+@Repository
+public interface MakeAcceptItemDao extends JpaSpecificationExecutor<MakeAcceptItem>,
+JpaRepository<MakeAcceptItem,Long>{
+
+    /**
+     * 通过企业uu、委外验收单号、明细序号查询委外验收明细
+     *
+     * @param enUU
+     * @param code
+     * @param number
+     * @return
+     */
+    @Query("from MakeAcceptItem a where a.accept.enUU = :enUU and a.accept.code = :code and a.number = :number")
+    MakeAcceptItem findByEnUUAndCodeAndNumber(@Param("enUU") Long enUU, @Param("code") String code, @Param("number") Short number);
+}

+ 23 - 0
src/main/java/com/uas/platform/b2b/dao/MakeOrderChangeDao.java

@@ -0,0 +1,23 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.MakeOrderChange;
+
+@Repository
+public interface MakeOrderChangeDao extends JpaSpecificationExecutor<MakeOrderChange>, JpaRepository<MakeOrderChange, Long> {
+
+	/**
+	 * 按所属企业及编号查找变更单
+	 * 
+	 * @param enUU
+	 * @param code
+	 * @return
+	 */
+	public List<MakeOrderChange> findByEnUUAndCode(Long enUU, String code);
+	
+}

+ 34 - 0
src/main/java/com/uas/platform/b2b/dao/MakeOrderChangeItemDao.java

@@ -0,0 +1,34 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.MakeOrderChangeItem;
+
+@Repository
+public interface MakeOrderChangeItemDao extends JpaSpecificationExecutor<MakeOrderChangeItem>,
+		JpaRepository<MakeOrderChangeItem, Long> {
+	
+	public List<MakeOrderChangeItem> findByOrderChangeEnUUAndStatusAndReplySendStatus(Long enUU, 
+			Short status, Short replySendStatus);
+	
+	public List<MakeOrderChangeItem> findByVendUUAndSendStatus(Long vendUU, Short sendStatus);
+
+	
+	/**
+	 * 根据供应商UU号获取客户采购变更单数量
+	 * @param vendUU
+	 * @return
+	 */
+	@Query("select count(m) from MakeOrderChangeItem m where m.vendUU = :vendUU")
+	public long countByVendUU(@Param("vendUU")Long vendUU);
+
+	@Query("select count(p), p.status from MakeOrderChangeItem p where p.id in (select u.sourceId from UserOrders u where u.table='make$changeitems' and u.category=:category and u.enUU=:enUU and u.userUU=:userUU and u.readStatus=0) group by p.status")
+	public List<Object[]> getUnreadCountEveryStatus(@Param("enUU") Long enUU, @Param("userUU") Long userUU, @Param("category") String category);
+
+}

+ 65 - 0
src/main/java/com/uas/platform/b2b/dao/MakeOrderDao.java

@@ -0,0 +1,65 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.Date;
+import java.util.List;
+
+import javax.transaction.Transactional;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.MakeOrder;
+
+@Repository
+public interface MakeOrderDao extends JpaSpecificationExecutor<MakeOrder>, JpaRepository<MakeOrder, Long> {
+
+	/**
+	 * 按所属企业及编号查找委外加工单
+	 * 
+	 * @param enUU
+	 * @param code
+	 * @return
+	 */
+	public List<MakeOrder> findByEnUUAndCode(Long enUU, String code);
+	
+	/**
+	 * 卖家根据卖家UU号和下载状态获取需要下载的客户委外加工单
+	 * @return
+	 */
+	public List<MakeOrder> findByVendUUAndSendStatus(Long vendUU, Short sendStatus);
+
+	/**
+	 * 按回复记录更新采购明细的回复状态
+	 * 
+	 * @param qty
+	 * @param delivery
+	 * @param remark
+	 * @param id
+	 */
+	@Transactional
+	@Modifying(clearAutomatically = true)
+	@Query("update MakeOrder m set m.replyQty=(select sum(r.qty) from MakeOrderReply r where r.orderId=:id),m.replyDelivery= :delivery,m.replyRemark= :remark where m.id= :id")
+	public void updateByReply(@Param("delivery") Date delivery, @Param("remark") String remark, @Param("id") long id);
+	
+	/**
+	 * 根据供应商UU号和结案传输状态获取委外加工单
+	 * @param end
+	 * @param endSendStatus
+	 * @return
+	 */
+	public List<MakeOrder> findByVendUUAndEndSendStatus(Long vendUU, Short endSendStatus);
+	
+	/**
+	 * 获得每种单据状态的数量
+	 *
+	 * @Param ids 单据id
+	 * @return
+	 */
+	@Query("select count(p), p.status from MakeOrder p where p.id in :ids group by p.status")
+	List<Object[]> getUnreadCountEveryStatus(@Param("ids") List<Long> ids);
+
+}

+ 12 - 0
src/main/java/com/uas/platform/b2b/dao/MakeOrderDoneDao.java

@@ -0,0 +1,12 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.MakeOrderDone;
+
+@Repository
+public interface MakeOrderDoneDao extends JpaSpecificationExecutor<MakeOrderDone>, JpaRepository<MakeOrderDone, Long> {
+
+}

+ 12 - 0
src/main/java/com/uas/platform/b2b/dao/MakeOrderEndDao.java

@@ -0,0 +1,12 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.MakeOrderEnd;
+
+@Repository
+public interface MakeOrderEndDao extends JpaSpecificationExecutor<MakeOrderEnd>,JpaRepository<MakeOrderEnd,Long>{
+
+}

+ 28 - 0
src/main/java/com/uas/platform/b2b/dao/MakeOrderItemDao.java

@@ -0,0 +1,28 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.MakeOrderItem;
+
+@Repository
+public interface MakeOrderItemDao extends JpaSpecificationExecutor<MakeOrderItem>,
+		JpaRepository<MakeOrderItem, Long> {
+	/**
+	 * 按订单单号和序号查找订单明细
+	 * 
+	 * @param enUU
+	 * @param orderCode
+	 * @param number
+	 * @return
+	 */
+	@Query("from MakeOrderItem d where d.make.enUU = :enUU and d.make.code = :orderCode and d.number = :number")
+	public List<MakeOrderItem> findByEnUUAndOrderCodeAndNumber(@Param("enUU") long enUU, @Param("orderCode") String orderCode,
+			@Param("number") Short number);
+	
+}

+ 31 - 0
src/main/java/com/uas/platform/b2b/dao/MakeOrderReplyDao.java

@@ -0,0 +1,31 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.MakeOrderReply;
+
+@Repository
+public interface MakeOrderReplyDao extends JpaSpecificationExecutor<MakeOrderReply>, JpaRepository<MakeOrderReply, Long> {
+
+	/**
+	 * (买家)按回复记录的状态查找回复记录
+	 * 
+	 * @param enUU
+	 * @param status
+	 * @return
+	 */
+	public List<MakeOrderReply> findByOrderEnUUAndSendStatus(Long orderEnUU, Short backStatus);
+
+	/**
+	 * (卖家)按回复记录的状态查找回复记录
+	 * 
+	 * @param vendUU
+	 * @param status
+	 * @return
+	 */
+	public List<MakeOrderReply> findByOrderVendUUAndBackStatus(Long orderVendUU, Short sendStatus);
+}

+ 12 - 0
src/main/java/com/uas/platform/b2b/dao/MakeOrderTodoDao.java

@@ -0,0 +1,12 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.MakeOrderTodo;
+
+@Repository
+public interface MakeOrderTodoDao extends JpaSpecificationExecutor<MakeOrderTodo>, JpaRepository<MakeOrderTodo, Long>{
+
+}

+ 52 - 0
src/main/java/com/uas/platform/b2b/dao/MakeReturnDao.java

@@ -0,0 +1,52 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.MakeReturn;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface MakeReturnDao extends JpaSpecificationExecutor<MakeReturn>, JpaRepository<MakeReturn, Long> {
+	/**
+	 * 按所属企业及编号查找委外验退单
+	 * @param enUU
+	 * @param code
+	 * @return
+	 */
+	public List<MakeReturn> findByEnUUAndCode(Long enUU, String code);
+
+	/**
+	 * 卖家根据卖家UU号和下载状态获取需要下载的客户委外验收入库单
+	 * @return
+	 */
+	public List<MakeReturn> findByVendUUAndSendStatus(Long vendUU, short sendStatus);
+
+	/**
+	 * 按卖家UU、反过账状态查找
+	 * @param vendUU
+	 * @param nonPosting
+	 * @return
+	 */
+	public List<MakeReturn> findByVendUUAndNonPosting(Long vendUU,Short nonPosting);
+
+	/**
+	 * 根据供应商UU号获取客户委外验退单数量
+	 * @param vendUU
+	 * @return
+	 */
+	@Query("select count(p) from MakeReturn p where p.vendUU = :vendUU")
+	public long countByVendUU(@Param("vendUU")Long vendUU);
+
+	/**
+	 * 通过enUU和erpId查询委外验退单是否存在
+	 *
+	 * @param enUU 企业UU号
+	 * @param erpId erpId
+	 * @return
+	 */
+    List<MakeReturn> findByEnUUAndErpId(Long enUU, Long erpId);
+}

+ 24 - 0
src/main/java/com/uas/platform/b2b/dao/MakeReturnItemDao.java

@@ -0,0 +1,24 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.MakeReturnItem;
+
+@Repository
+public interface MakeReturnItemDao extends JpaSpecificationExecutor<MakeReturnItem>,
+JpaRepository<MakeReturnItem, Long>{
+    /**
+     * 通过企业uu、委外验收单号、明细序号查询委外验收明细
+     *
+     * @param enUU
+     * @param code
+     * @param number
+     * @return
+     */
+    @Query("from MakeReturnItem r where r.returns.enUU = :enUU and r.returns.code = :code and r.number = :number")
+    MakeReturnItem findByEnUUAndCodeAndNumber(@Param("enUU") Long enUU, @Param("code") String code, @Param("number") Short number);
+}

+ 41 - 0
src/main/java/com/uas/platform/b2b/dao/NotExistOrdersDao.java

@@ -0,0 +1,41 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.NotExistOrders;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import javax.transaction.Transactional;
+import java.util.List;
+
+/**
+ * 平台不存在订单数据库操作
+ *
+ * Created by hejq on 2018-06-19.
+ */
+@Repository
+public interface NotExistOrdersDao extends JpaRepository<NotExistOrders, Long>, JpaSpecificationExecutor<NotExistOrders> {
+
+    /**
+     * 通过企业UU和下载状态查询单据
+     *
+     * @param enUU 企业UU
+     * @param status 下载状态
+     * @param type 单据类型
+     * @return
+     */
+    List<NotExistOrders> findByEnUUAndStatusAndType(Long enUU, Integer status, String type);
+
+    /**
+     * 更新下载状态
+     *
+     * @param id id
+     */
+    @Modifying
+    @Transactional
+    @Query("update NotExistOrders set status = 203 where id = :id")
+    void updateStatus(@Param("id") Long id);
+}

+ 49 - 0
src/main/java/com/uas/platform/b2b/dao/NotExistProductDao.java

@@ -0,0 +1,49 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.NotExistProduct;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import javax.transaction.Transactional;
+import java.util.List;
+
+/**
+ * 平台不存在的ERP物料编号数据库操作
+ *
+ * Created by hejq on 2018-03-14.
+ */
+@Repository
+public interface NotExistProductDao extends JpaSpecificationExecutor<NotExistProduct>, JpaRepository<NotExistProduct, Long> {
+
+    /**
+     * 通过企业UU和下载状态查询平台不存在的物料信息
+     *
+     * @param enuu 企业UU
+     * @param status 下载状态
+     * @return
+     */
+    List<NotExistProduct> findByEnuuAndStatus(Long enuu, Integer status);
+
+    /**
+     * 更新下载状态
+     *
+     * @param id id
+     */
+    @Modifying
+    @Transactional
+    @Query("update NotExistProduct set status = 203 where id = :id")
+    void updateStatus(@Param("id") Long id);
+
+    /**
+     * 通过企业和物料编号查询是否存在该条记录
+     *
+     * @param enuu 企业UU
+     * @param code 物料编号
+     * @return
+     */
+    List<NotExistProduct> findByEnuuAndCode(Long enuu, String code);
+}

+ 13 - 0
src/main/java/com/uas/platform/b2b/dao/OfficeTaskDao.java

@@ -0,0 +1,13 @@
+package com.uas.platform.b2b.dao;
+
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.OfficeTask;
+
+@Repository
+public interface OfficeTaskDao extends JpaRepository<OfficeTask, Long>, JpaSpecificationExecutor<OfficeTask> {
+
+}

+ 22 - 0
src/main/java/com/uas/platform/b2b/dao/OfficeTaskReplyDao.java

@@ -0,0 +1,22 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.OfficeTaskReply;
+
+@Repository
+public interface OfficeTaskReplyDao
+		extends JpaRepository<OfficeTaskReply, Long>, JpaSpecificationExecutor<OfficeTaskReply> {
+
+	/**
+	 * 获取任务回复记录
+	 * 
+	 * @param taid
+	 * @return
+	 */
+	List<OfficeTaskReply> findByTaskid(Long taskid);
+}

+ 15 - 0
src/main/java/com/uas/platform/b2b/dao/PagingReleaseCountDao.java

@@ -0,0 +1,15 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+
+import com.uas.platform.b2b.model.PagingReleaseCount;
+
+/**
+ * Created by wangmh on 2017/7/10.
+ */
+public interface PagingReleaseCountDao extends JpaSpecificationExecutor<PagingReleaseCount>, JpaRepository<PagingReleaseCount, Long> {
+
+}

+ 14 - 0
src/main/java/com/uas/platform/b2b/dao/PagingReleaseDao.java

@@ -0,0 +1,14 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PagingRelease;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+
+/**
+ * Created by dongbw on 17/03/23 9:37.
+ */
+@Repository
+public interface PagingReleaseDao extends JpaSpecificationExecutor<PagingRelease>,JpaRepository<PagingRelease, Long> {
+}

+ 30 - 0
src/main/java/com/uas/platform/b2b/dao/PagingReleaseDetailDao.java

@@ -0,0 +1,30 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PagingReleaseDetail;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.jpa.repository.query.Procedure;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ * Created by dongbw
+ * 17/03/23 9:39.
+ */
+@Repository
+public interface PagingReleaseDetailDao extends JpaRepository<PagingReleaseDetail, Long>,JpaSpecificationExecutor<PagingReleaseDetail> {
+
+    /**
+     * 将消息设置成已推送
+     *
+     * @param ids
+     */
+    @Modifying@Transactional
+    @Query("update PagingReleaseDetail o set o.pushStatus = 1 where o.id in :ids")
+    void setPushedByIds(@Param("ids") Object[] ids);
+}

+ 15 - 0
src/main/java/com/uas/platform/b2b/dao/PrintLogDao.java

@@ -0,0 +1,15 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PrintLog;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface PrintLogDao extends JpaRepository<PrintLog, Long> {
+
+    List<PrintLog> findByStatusAndCode(short status, String code);
+
+    List<PrintLog> findByEnUUAndStatusAndTable(Long uu, short no, String purc$orders);
+}

+ 52 - 0
src/main/java/com/uas/platform/b2b/dao/ProductDao.java

@@ -0,0 +1,52 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.Product;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.QueryHints;
+import org.springframework.stereotype.Repository;
+
+import javax.persistence.QueryHint;
+import java.util.List;
+
+@Repository
+public interface ProductDao extends JpaSpecificationExecutor<Product>, JpaRepository<Product, Long> {
+
+	/**
+	 * 按所属企业的ID和产品的编号查找产品
+	 * 
+	 * @param enUU
+	 * @param code
+	 * @return
+	 */
+	@QueryHints({ @QueryHint(name = "org.hibernate.cacheable", value = "true") })
+	public List<Product> findByEnUUAndCode(long enUU, String code);
+
+	/**
+	 * 查询企业的所有物料
+	 * 
+	 * @param enuu
+	 * @return
+	 */
+	public List<Product> findByEnUU(Long enuu);
+
+    /**
+     * 通过企业UU,物料名称、规格、品牌(非标准)
+     *
+     * @param enUU
+     * @param titile
+     * @param spec
+     * @param brand
+     * @return
+     */
+    public List<Product> findByTitleAndCmpCodeAndBrandAndEnUU(String title, String cmpcode, String brand, Long enUU);
+
+	/**
+	 * 通过企业UU号查询物料上传数量
+	 *
+	 * @param enUU 企业UU
+	 * @return
+	 */
+	Long countByEnUU(Long enUU);
+
+}

+ 25 - 0
src/main/java/com/uas/platform/b2b/dao/ProductUsersDao.java

@@ -0,0 +1,25 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.ProductUsers;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+
+/**
+ * Created by hejq on 2017-11-08.
+ */
+@Repository
+public interface ProductUsersDao extends JpaSpecificationExecutor<ProductUsers>, JpaRepository<ProductUsers, Long> {
+
+    /**
+     * 通过企业UU,个人uu和物料id查询我的产品库物料信息
+     *
+     * @param enuu
+     * @param useruu
+     * @param prid
+     * @return
+     */
+    ProductUsers findByEnuuAndUseruuAndPrid(Long enuu, Long useruu, Long prid);
+
+}

+ 13 - 0
src/main/java/com/uas/platform/b2b/dao/PurcOrderInfoItemDao.java

@@ -0,0 +1,13 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.PurcOrderInfoItem;
+
+@Repository
+public interface PurcOrderInfoItemDao
+		extends JpaRepository<PurcOrderInfoItem, Long>, JpaSpecificationExecutor<PurcOrderInfoItem> {
+
+}

+ 55 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseAcceptDao.java

@@ -0,0 +1,55 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseAccept;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface PurchaseAcceptDao extends JpaSpecificationExecutor<PurchaseAccept>, JpaRepository<PurchaseAccept, Long> {
+
+	/**
+	 * 按所属企业及编号查找采购验收单
+	 * 
+	 * @param enUU
+	 * @param code
+	 * @return
+	 */
+	public List<PurchaseAccept> findByEnUUAndCode(Long enUU, String code);
+	
+	/**
+	 * 卖家根据卖家UU号和下载状态获取需要下载的客户采购验收入库单
+	 * @return
+	 */
+	public List<PurchaseAccept> findByVendUUAndSendStatus(Long vendUU, Short sendStatus);
+	
+	/**
+	 * 按卖家UU、反过账状态查找
+	 * @param vendUU
+	 * @param sendStatus
+	 * @param nonPosting
+	 * @return
+	 */
+	public List<PurchaseAccept> findByVendUUAndNonPosting(Long vendUU, Short nonPosting);
+
+	/**
+	 * 根据供应商UU号获取客户采购验退单数量
+	 * @param vendUU
+	 * @return
+	 */
+	@Query("select count(p) from PurchaseAccept p where p.vendUU = :vendUU")
+	public long countByVendUU(@Param("vendUU")Long vendUU);
+
+	/**
+	 * 通过enUU和erpId查询对应的单据
+	 *
+	 * @param enUU 企业UU
+	 * @param sourceId 对应的erpId
+	 * @return
+	 */
+	List<PurchaseAccept> findByEnUUAndErpId(Long enUU, Long sourceId);
+}

+ 26 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseAcceptItemDao.java

@@ -0,0 +1,26 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.PurchaseAcceptItem;
+
+@Repository
+public interface PurchaseAcceptItemDao extends JpaSpecificationExecutor<PurchaseAcceptItem>,
+		JpaRepository<PurchaseAcceptItem, Long> {
+
+	/**
+	 * 通过单号,序号查询验收单详情
+	 * 
+	 * @param enUU
+	 * @param code
+	 * @param number
+	 * @return
+	 */
+	@Query("from PurchaseAcceptItem i where i.accept.enUU = :enUU and i.accept.code = :code and i.number = :number")
+	PurchaseAcceptItem findByEnUUAndCodeAndNumber(@Param("enUU") Long enUU, @Param("code") String code,
+			@Param("number") Short number);
+}

+ 78 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseApBillDao.java

@@ -0,0 +1,78 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseApBill;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.jpa.repository.query.Procedure;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.Date;
+import java.util.List;
+
+@Repository
+public interface PurchaseApBillDao extends JpaSpecificationExecutor<PurchaseApBill>, JpaRepository<PurchaseApBill, Long> {
+
+	/**
+	 * 按所属企业及编号查找客户应付发票
+	 * 
+	 * @param enUU
+	 * @param code
+	 * @return
+	 */
+	public List<PurchaseApBill> findByEnUUAndCode(Long enUU, String code);
+	
+	/**
+	 * 卖家根据卖家UU号和下载状态获取需要下载的客户应付发票
+	 * @return
+	 */
+	public List<PurchaseApBill> findByVendUUAndSendStatus(Long vendUU, Short sendStatus);
+	
+	/**
+	 * 卖家根据卖家UU号和下载状态和反过账状态获取客户反过账的客户应付发票
+	 * @param vendUU
+	 * @param nonPosting
+	 * @return
+	 */
+	public List<PurchaseApBill> findByVendUUAndNonPosting(Long vendUU, Short nonPosting);
+	
+	/**
+	 * 根据截止日期获取(发票日期)
+	 * @param vendUU
+	 * @param endDate
+	 * @return
+	 */
+	@Query("select p.id from PurchaseApBill p where p.vendUU=:vendUU and p.date <= :endDate")
+	public List<Long> findByEndDate(@Param("vendUU") long vendUU, @Param("endDate")Date endDate);
+	
+	/**
+	 * 根据起始日期获取(发票日期)
+	 * @param formDate
+	 * @param vendUU
+	 * @return
+	 */
+	@Query("select p.id from PurchaseApBill p where p.vendUU=:vendUU and p.date >= :fromDate")
+	public List<Long> findByFromDate(@Param("vendUU") long vendUU, @Param("fromDate")Date formDate);
+	
+	@Query("select count(p) from PurchaseApBill p where p.vendUU=:vendUU")
+	public Long countByVendUU(@Param("vendUU") Long vendUU);
+
+	/**
+	 * 根据UU号和出入库单号更新发票主表的相关数据
+	 *
+	 * @param uu
+	 * @param inoutno
+	 */
+	@Procedure(procedureName = "refreshamountandtaxsum")
+    void refreshAmountAndTaxSum(Long uu, String inoutno);
+
+	/**
+	 * 通过企业UU和erpId查询单据是否存在
+	 *
+	 * @param enUU 企业UU
+	 * @param erpId erpId
+	 * @return
+	 */
+    List<PurchaseApBill> findByEnUUAndErpId(Long enUU, Long erpId);
+}

+ 13 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseApBillItemDao.java

@@ -0,0 +1,13 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.PurchaseApBillItem;
+
+@Repository
+public interface PurchaseApBillItemDao extends JpaSpecificationExecutor<PurchaseApBillItem>,
+		JpaRepository<PurchaseApBillItem, Long> {
+
+}

+ 15 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseApBillOutDao.java

@@ -0,0 +1,15 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseApBillOut;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.query.Procedure;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface PurchaseApBillOutDao extends JpaSpecificationExecutor<PurchaseApBillOut>, JpaRepository<PurchaseApBillOut, Long> {
+
+    public List<PurchaseApBillOut> findByEnUuAndCode(long enUU, String bi_code);
+}

+ 12 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseApBillOutDoneDao.java

@@ -0,0 +1,12 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseApBillOutDone;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface PurchaseApBillOutDoneDao extends JpaSpecificationExecutor<PurchaseApBillOutDone>, JpaRepository<PurchaseApBillOutDone, Long> {
+
+
+}

+ 12 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseApBillOutEndDao.java

@@ -0,0 +1,12 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseApBillOutEnd;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface PurchaseApBillOutEndDao extends JpaSpecificationExecutor<PurchaseApBillOutEnd>, JpaRepository<PurchaseApBillOutEnd, Long> {
+
+
+}

+ 20 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseApBillOutInfoDao.java

@@ -0,0 +1,20 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseApBillOutInfo;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 企业开票信息
+ */
+@Repository
+public interface PurchaseApBillOutInfoDao extends JpaSpecificationExecutor<PurchaseApBillOutInfo>, JpaRepository<PurchaseApBillOutInfo, Long> {
+    /**
+     * 按所属企业及编号查找企业开票信息
+     *
+     * @param Uu
+     * @return
+     */
+    public PurchaseApBillOutInfo findByUu(Long Uu);
+}

+ 12 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseApBillOutItemDao.java

@@ -0,0 +1,12 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseApBillOutItem;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface PurchaseApBillOutItemDao
+		extends JpaSpecificationExecutor<PurchaseApBillOutItem>, JpaRepository<PurchaseApBillOutItem, Long> {
+
+}

+ 9 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseApBillOutTodoDao.java

@@ -0,0 +1,9 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseApBillOutTodo;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface PurchaseApBillOutTodoDao extends JpaSpecificationExecutor<PurchaseApBillOutTodo>, JpaRepository<PurchaseApBillOutTodo, Long> {
+
+}

+ 30 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseApCheckDao.java

@@ -0,0 +1,30 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseApCheck;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface PurchaseApCheckDao extends JpaSpecificationExecutor<PurchaseApCheck>, JpaRepository<PurchaseApCheck, Long> {
+
+	/**
+	 * 卖家根据客户UU号和下载状态获取需要下载的应收对账单
+	 * 
+	 * @return
+	 */
+	public List<PurchaseApCheck> findByCustUuAndStatusAndCheckStatus(Long enUu, Short status, String checkStatus);
+
+	/**
+	 * 获得每种单据状态的未读数量
+	 *
+	 * @Param ids 未读单据id
+	 * @return
+	 */
+	@Query("select count(p), p.checkStatus from PurchaseApCheck p where p.id in :ids group by p.checkStatus")
+	List<Object[]> getUnreadCountEveryStatus(@Param("ids") List<Long> ids);
+}

+ 10 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseApCheckDoneDao.java

@@ -0,0 +1,10 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+import com.uas.platform.b2b.model.PurchaseApCheckDone;
+
+public interface PurchaseApCheckDoneDao extends JpaSpecificationExecutor<PurchaseApCheckDone>, JpaRepository<PurchaseApCheckDone, Long> {
+
+}

+ 10 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseApCheckEndDao.java

@@ -0,0 +1,10 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+import com.uas.platform.b2b.model.PurchaseApCheckEnd;
+
+public interface PurchaseApCheckEndDao extends JpaSpecificationExecutor<PurchaseApCheckEnd>, JpaRepository<PurchaseApCheckEnd, Long> {
+
+}

+ 13 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseApCheckItemDao.java

@@ -0,0 +1,13 @@
+package com.uas.platform.b2b.dao;
+
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.PurchaseApCheckItem;
+
+@Repository
+public interface PurchaseApCheckItemDao
+		extends JpaSpecificationExecutor<PurchaseApCheckItem>, JpaRepository<PurchaseApCheckItem, Long> {
+}

+ 15 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseApCheckItemInfoDao.java

@@ -0,0 +1,15 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseApCheckItemInfo;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+
+/**
+ * Created by 黄诚天 on 2017/7/4.
+ */
+@Repository
+public interface PurchaseApCheckItemInfoDao extends JpaSpecificationExecutor<PurchaseApCheckItemInfo>, JpaRepository<PurchaseApCheckItemInfo, Long> {
+
+}

+ 10 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseApCheckTodoDao.java

@@ -0,0 +1,10 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+import com.uas.platform.b2b.model.PurchaseApCheckTodo;
+
+public interface PurchaseApCheckTodoDao extends JpaSpecificationExecutor<PurchaseApCheckTodo>, JpaRepository<PurchaseApCheckTodo, Long> {
+
+}

+ 55 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseBadInDao.java

@@ -0,0 +1,55 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseBadIn;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface PurchaseBadInDao extends JpaSpecificationExecutor<PurchaseBadIn>, JpaRepository<PurchaseBadIn, Long> {
+
+	/**
+	 * 按所属企业及编号查找采购验收单
+	 * 
+	 * @param enUU
+	 * @param code
+	 * @return
+	 */
+	public List<PurchaseBadIn> findByEnUUAndCode(Long enUU, String code);
+	
+	/**
+	 * 卖家根据卖家UU号和下载状态获取需要下载的客户采购验收入库单
+	 * @return
+	 */
+	public List<PurchaseBadIn> findByVendUUAndSendStatus(Long vendUU, Short sendStatus);
+
+	/**
+	 * 按卖家UU、反过账状态查找
+	 * @param vendUU
+	 * @param sendStatus
+	 * @param nonPosting
+	 * @return
+	 */
+	public List<PurchaseBadIn> findByVendUUAndNonPosting(Long vendUU, Short nonPosting);
+	
+	/**
+	 * 根据供应商UU号获取客户出库单数量
+	 * @param vendUU
+	 * @return
+	 */
+	@Query("select count(p) from PurchaseBadIn p where p.vendUU = :vendUU")
+	public long countByVendUU(@Param("vendUU")Long vendUU);
+
+	/**
+	 * 通过企业UU和对应的erpid查询不良品入库单的id
+	 *
+	 * @param enUU 企业UU
+	 * @param erpId erpId
+	 * @return
+	 */
+	List<PurchaseBadIn> findByEnUUAndErpId(Long enUU, Long erpId);
+}

+ 13 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseBadInItemDao.java

@@ -0,0 +1,13 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.PurchaseBadInItem;
+
+@Repository
+public interface PurchaseBadInItemDao extends JpaSpecificationExecutor<PurchaseBadInItem>,
+		JpaRepository<PurchaseBadInItem, Long> {
+
+}

+ 55 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseBadOutDao.java

@@ -0,0 +1,55 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseBadOut;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface PurchaseBadOutDao extends JpaSpecificationExecutor<PurchaseBadOut>, JpaRepository<PurchaseBadOut, Long> {
+
+	/**
+	 * 按所属企业及编号查找不良品出库单
+	 * 
+	 * @param enUU
+	 * @param code
+	 * @return
+	 */
+	public List<PurchaseBadOut> findByEnUUAndCode(Long enUU, String code);
+	
+	/**
+	 * 卖家根据卖家UU号和下载状态获取需要下载的客户不良品出库单
+	 * @return
+	 */
+	public List<PurchaseBadOut> findByVendUUAndSendStatus(Long vendUU, Short sendStatus);
+
+	/**
+	 * 按卖家UU、反过账状态查找
+	 * @param vendUU
+	 * @param sendStatus
+	 * @param nonPosting
+	 * @return
+	 */
+	public List<PurchaseBadOut> findByVendUUAndNonPosting(Long vendUU, Short nonPosting);
+	
+	/**
+	 * 根据供应商UU号获取客户出库单数量
+	 * @param vendUU
+	 * @return
+	 */
+	@Query("select count(p) from PurchaseBadOut p where p.vendUU = :vendUU")
+	public long countByVendUU(@Param("vendUU")Long vendUU);
+
+	/**
+	 * 通过企业UU和对应的erpid查询不良品出库单的id
+	 *
+	 * @param enUU 企业UU
+	 * @param erpId erpId
+	 * @return
+	 */
+	List<PurchaseBadOut> findByEnUUAndErpId(Long enUU, Long erpId);
+}

+ 13 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseBadOutItemDao.java

@@ -0,0 +1,13 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.PurchaseBadOutItem;
+
+@Repository
+public interface PurchaseBadOutItemDao extends JpaSpecificationExecutor<PurchaseBadOutItem>,
+		JpaRepository<PurchaseBadOutItem, Long> {
+
+}

+ 18 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseForecastAllDao.java

@@ -0,0 +1,18 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.PurchaseForecastAll;
+
+@Repository
+public interface PurchaseForecastAllDao  extends JpaSpecificationExecutor<PurchaseForecastAll>,
+JpaRepository<PurchaseForecastAll, Long> {
+
+	public List<PurchaseForecastAll>  findByEnUUAndCode(
+			Long enUU, String pf_code);
+
+}

+ 14 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseForecastAllItemDao.java

@@ -0,0 +1,14 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.PurchaseForecastAllItem;
+@Repository
+public interface PurchaseForecastAllItemDao extends JpaSpecificationExecutor<PurchaseForecastAllItem>, JpaRepository<PurchaseForecastAllItem, Long>{
+
+	public List<PurchaseForecastAllItem> findByVendUUAndSendStatus(Long vendUU, Short sendStatus);
+}

+ 46 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryDao.java

@@ -0,0 +1,46 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
+
+import com.uas.platform.b2b.model.PurchaseInquiry;
+
+@Repository
+@Transactional
+public interface PurchaseInquiryDao extends JpaSpecificationExecutor<PurchaseInquiry>, JpaRepository<PurchaseInquiry, Long> {
+
+	/**
+	 * @param enUU
+	 *            询价方企业ID
+	 * @param code
+	 *            流水号
+	 * @return
+	 */
+	public List<PurchaseInquiry> findByEnUUAndCode(long enUU, String code);
+
+	/**
+	 * @param enUU
+	 *            询价方企业ID
+	 * @param sourceId
+	 *            来源系统的单据ID
+	 * @return
+	 */
+	public List<PurchaseInquiry> findByEnUUAndSourceId(long enUU, long sourceId);
+
+	/**
+	 * 按询价单来源ID更新是否提交状态
+	 * 
+	 */
+	@Modifying(clearAutomatically = true)
+	@Query("update PurchaseInquiry p set p.check = :check where p.enUU = :enUU and p.sourceId IN (:sourceIds)")
+	public void updateByCheck(@Param("check") short check, @Param("enUU") long enUU, @Param("sourceIds") Long[] sourceIds);
+
+
+}

+ 14 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryDetailDao.java

@@ -0,0 +1,14 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseInquiryDetail;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import javax.transaction.Transactional;
+
+@Repository
+@Transactional
+public interface PurchaseInquiryDetailDao extends JpaSpecificationExecutor<PurchaseInquiryDetail>, JpaRepository<PurchaseInquiryDetail, Long> {
+
+}

+ 13 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryInfoDao.java

@@ -0,0 +1,13 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.PurchaseInquiryInfo;
+
+@Repository
+public interface PurchaseInquiryInfoDao
+		extends JpaRepository<PurchaseInquiryInfo, Long>, JpaSpecificationExecutor<PurchaseInquiryInfo> {
+
+}

+ 138 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryItemDao.java

@@ -0,0 +1,138 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseInquiryItem;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.jpa.repository.query.Procedure;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import javax.transaction.Transactional;
+import java.util.List;
+
+@Repository
+@Transactional
+public interface PurchaseInquiryItemDao extends JpaSpecificationExecutor<PurchaseInquiryItem>, JpaRepository<PurchaseInquiryItem, Long> {
+
+	/**
+	 * 按卖家企业ID和明细传到卖家ERP状态查找询价明细
+	 * 
+	 * @param vendUU
+	 * @param sendStatus
+	 * @return
+	 */
+	List<PurchaseInquiryItem> findByVendUUAndSendStatus(long vendUU, short sendStatus);
+
+	/**
+	 * 按卖家企业ID和询价主记录ID查找
+	 * 
+	 * @param vendUU
+	 * @param inquiryId
+	 * @return
+	 */
+	@Query("from PurchaseInquiryItem d where d.vendUU = :vendUU and d.inquiry.id = :inquiryId")
+	List<PurchaseInquiryItem> findByVendUUAndInquiry(@Param("vendUU") long vendUU, @Param("inquiryId") long inquiryId);
+
+	/**
+	 * 按买家企业ID和明细传报价状态查找询价明细
+	 * 
+	 * @param enUU
+	 * @param backStatus
+	 * @return
+	 */
+	@Query("from PurchaseInquiryItem d where d.inquiry.enUU = :enUU and d.backStatus = :backStatus and IFNULL(d.sourceApp, ' ') <> 'B2B'")
+	List<PurchaseInquiryItem> findByEnUUAndBackStatus(@Param("enUU") long enUU, @Param("backStatus") short backStatus);
+
+	/**
+	 * 按买家企业ID、单号和序号查找询价单明细
+	 * 
+	 * @param enUU
+	 * @param code
+	 * @param number
+	 * @return
+	 */
+	@Query("from PurchaseInquiryItem d where d.inquiry.enUU = :enUU and d.inquiry.code = :code and d.number = :number")
+	List<PurchaseInquiryItem> findByEnUUAndCodeAndNumber(@Param("enUU") long enUU, @Param("code") String code, @Param("number") short number);
+
+	/**
+	 * 按询价单明细ID更新采纳结果
+	 * 
+	 */
+	@Modifying(clearAutomatically = true)
+	@Query("update PurchaseInquiryItem p set p.agreed = :agreed,p.decideStatus = :decideStatus where p.id = :id")
+	public void updateDecideStatusByID(@Param("agreed") short agreed, @Param("decideStatus") short decideStatus, @Param("id") Long id);
+
+	/**
+	 * 按卖家企业ID和询价明细的报价信息传到卖家ERP的状态查找询价明细
+	 * 
+	 * @param vendUU
+	 * @param replySendStatus
+	 * @return
+	 */
+	List<PurchaseInquiryItem> findByVendUUAndReplySendStatus(long vendUU, short replySendStatus);
+
+	/**
+	 * 按卖家企业ID和询价明细的报价信息的采纳结果传到卖家ERP的状态查找询价明细
+	 * 
+	 * @param vendUU
+	 * @param decideStatus
+	 * @return
+	 */
+	List<PurchaseInquiryItem> findByVendUUAndDecideStatus(long vendUU, short decideStatus);
+
+	/**
+	 * 根据供应商UU号获取客户询价单数量
+	 * 
+	 * @param vendUU
+	 * @return
+	 */
+	@Query("select count(p) from PurchaseInquiryItem p where p.vendUU = :vendUU")
+	public long countByVendUU(@Param("vendUU") Long vendUU);
+
+	/**
+	 * 查询单据是否存在
+	 * 
+	 * @param enuu
+	 * @param sourceId
+	 * @return
+	 */
+	public PurchaseInquiryItem findByVendUUAndSourceId(Long enuu, Long sourceId);
+
+	/**
+	 * 按卖家企业ID和询价明细的报价信息的作废处理传到卖家ERP的状态查找询价明细
+	 *
+	 * @param uu
+	 * @param value
+	 * @return
+	 */
+    List<PurchaseInquiryItem> findByVendUUAndInvalidStatus(Long uu, short value);
+
+	/**
+	 * 获得每种单据状态的未读数量
+	 *
+	 * @Param ids 未读单据id
+	 * @return
+	 */
+	@Query("select count(p), p.status from PurchaseInquiryItem p where p.id in :ids group by p.status")
+    List<Object[]> getUnreadCountEveryStatus(@Param("ids") List<Long> ids);
+
+    /**
+     * 更新询价报价传输到erp的状态
+     *
+     * @param enuu
+     * @param status
+     */
+	@Procedure(procedureName = "inquiryitem_erpstatus_update")
+    void updateStatus(Long enuu, Short status);
+
+	/**
+	 * 更新首页公共询价单据的阅读状态
+	 *
+	 * @param id
+	 * @param userUU
+	 */
+	@Procedure(procedureName = "inquiryitems_readstatus")
+	void setReadStatus(Long id, Long userUU);
+}

+ 15 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryItemTempDao.java

@@ -0,0 +1,15 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseInquiryItemTemp;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * ERP保存询价单操作
+ *
+ * Created by hejq on 2018-04-12.
+ */
+@Repository
+public interface PurchaseInquiryItemTempDao extends JpaRepository<PurchaseInquiryItemTemp, Long>, JpaSpecificationExecutor<PurchaseInquiryItemTemp> {
+}

+ 64 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryMouldDao.java

@@ -0,0 +1,64 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.PurchaseInquiryMould;
+
+@Repository
+public interface PurchaseInquiryMouldDao
+		extends JpaSpecificationExecutor<PurchaseInquiryMould>, JpaRepository<PurchaseInquiryMould, Long> {
+
+	/**
+	 * @param enUU
+	 *            询价方企业ID
+	 * @param code
+	 *            流水号
+	 * @return
+	 */
+	public List<PurchaseInquiryMould> findByEnuuAndCode(long enuu, String code);
+
+	/**
+	 * @param enUU
+	 *            询价方企业ID
+	 * @param sourceId
+	 *            来源系统的单据ID
+	 * @return
+	 */
+	public List<PurchaseInquiryMould> findByEnuuAndSourceId(long enuu, long sourceId);
+
+	/**
+	 * 根据供应商UU号获取客户模具询价单数量
+	 * 
+	 * @param venduu
+	 * @return
+	 */
+	@Query("select count(p) from PurchaseInquiryMould p where p.venduu = :venduu")
+	public long countByVendUU(@Param("venduu") Long venduu);
+
+	List<PurchaseInquiryMould> findByEnuuAndBackStatus(Long uu, short value);
+
+	/**
+	 * 根据enuu和erpSourceId获取单据
+	 * 
+	 * @param venduu
+	 * @param erpSourceId
+	 * @return
+	 */
+	public PurchaseInquiryMould findByEnuuAndErpSourceId(Long enuu, Long erpSourceId);
+
+	/**
+	 * 获得每种单据状态的未读数量
+	 *
+	 * @Param ids 未读单据id
+	 * @return
+	 */
+	@Query("select count(p), p.status from PurchaseInquiryMould p where p.id in :ids and (p.overdue is null or p.overdue = 0) and p.valid = 1 group by p.status")
+	List<Object[]> getUnreadCountEveryStatus(@Param("ids") List<Long> ids);
+
+}

+ 11 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryMouldDetailDao.java

@@ -0,0 +1,11 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+import com.uas.platform.b2b.model.PurchaseInquiryMouldDetail;
+
+public interface PurchaseInquiryMouldDetailDao
+		extends JpaSpecificationExecutor<PurchaseInquiryMouldDetail>, JpaRepository<PurchaseInquiryMouldDetail, Long> {
+
+}

+ 11 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryMouldInfoDao.java

@@ -0,0 +1,11 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseInquiryMouldInfo;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+@Repository
+public interface PurchaseInquiryMouldInfoDao
+		extends JpaSpecificationExecutor<PurchaseInquiryMouldInfo>, JpaRepository<PurchaseInquiryMouldInfo, Long> {
+}

+ 10 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryMouldItemDao.java

@@ -0,0 +1,10 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseInquiryMouldItem;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+
+public interface PurchaseInquiryMouldItemDao
+		extends JpaSpecificationExecutor<PurchaseInquiryMouldItem>, JpaRepository<PurchaseInquiryMouldItem, Long> {
+
+}

+ 12 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryMouldProdReplyDao.java

@@ -0,0 +1,12 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.PurchaseInquiryMouldProdReply;
+
+@Repository
+public interface PurchaseInquiryMouldProdReplyDao extends JpaSpecificationExecutor<PurchaseInquiryMouldProdReply>, JpaRepository<PurchaseInquiryMouldProdReply, Long> {
+
+}

+ 12 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryMouldReplyDao.java

@@ -0,0 +1,12 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.PurchaseInquiryMouldReply;
+
+@Repository
+public interface PurchaseInquiryMouldReplyDao extends JpaSpecificationExecutor<PurchaseInquiryMouldReply>, JpaRepository<PurchaseInquiryMouldReply, Long> {
+
+}

+ 12 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryReplyDao.java

@@ -0,0 +1,12 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.PurchaseInquiryReply;
+
+@Repository
+public interface PurchaseInquiryReplyDao extends JpaSpecificationExecutor<PurchaseInquiryReply>, JpaRepository<PurchaseInquiryReply, Long> {
+
+}

+ 22 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseInquiryTempDao.java

@@ -0,0 +1,22 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseInquiryTemp;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * ERP保存询价单操作
+ * Created by hejq on 2018-04-12.
+ */
+@Repository
+public interface PurchaseInquiryTempDao extends JpaSpecificationExecutor<PurchaseInquiryTemp>, JpaRepository<PurchaseInquiryTemp, Long> {
+
+    /**
+     * 通过企业UU和单据编号查询是询价单是否已存在
+     * @param code 单据编号
+     * @param enUU 企业UU
+     * @return
+     */
+    PurchaseInquiryTemp findByCodeAndEnUU(String code, Long enUU);
+}

+ 46 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseMRBDao.java

@@ -0,0 +1,46 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseMRB;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface PurchaseMRBDao extends JpaSpecificationExecutor<PurchaseMRB>, JpaRepository<PurchaseMRB, Long> {
+
+	/**
+	 * 按所属企业及编号查找MRB单
+	 * 
+	 * @param enUU
+	 * @param code
+	 * @return
+	 */
+	public List<PurchaseMRB> findPurchaseMRBByEnUUAndCode(Long enUU, String code);
+	
+	/**
+	 * 卖家根据卖家UU号和下载状态获取需要下载的客户MRB单
+	 * @return
+	 */
+	public List<PurchaseMRB> findPurchaseMRBByVendUUAndSendStatus(Long vendUU, Short sendStatus);
+	
+	/**
+	 * 根据供应商UU号获取MRB数量
+	 * @param vendUU
+	 * @return
+	 */
+	@Query("select count(p) from PurchaseMRB p where p.vendUU = :vendUU")
+	public long countByVendUU(@Param("vendUU")Long vendUU);
+
+	/**
+	 * 根据enUU和ERPid查询对应的B2Bid
+	 *
+	 * @param enUU 企业uu
+	 * @param erpId erpId
+	 * @return
+	 */
+    List<PurchaseMRB> findByEnUUAndErpId(Long enUU, Long erpId);
+}

+ 101 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseNoticeDao.java

@@ -0,0 +1,101 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurchaseNotice;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.Date;
+import java.util.List;
+
+@Repository
+@Transactional
+public interface PurchaseNoticeDao extends JpaSpecificationExecutor<PurchaseNotice>, JpaRepository<PurchaseNotice, Long> {
+
+	/**
+	 * 按买家企业ID和送货提醒来源ID查找送货提醒单
+	 * 
+	 * @return
+	 */
+	List<PurchaseNotice> findByEnUUAndSourceId(long enUU, long sourceId);
+
+	/**
+	 * 按供应商企业ID和传输状态查找送货提醒单
+	 * 
+	 * @return
+	 */
+	List<PurchaseNotice> findByVendUUAndSendStatus(long vendUU, Short sendStatus);
+
+	/**
+	 * 按供应商企业ID、是否结案和结案状态查找送货提醒
+	 * 
+	 * @return
+	 */
+	List<PurchaseNotice> findByVendUUAndEndStatus(long vendUU, Short endStatus);
+
+	/**
+	 * 按ID集合查找送货提醒
+	 * 
+	 * @return
+	 */
+	@Query("select n from PurchaseNotice n where n.id IN (:ids) and (n.endQty is null or n.endQty < n.qty)")
+	List<PurchaseNotice> findUnEndByIds(@Param("ids") Long[] ids);
+
+	/**
+	 * 按发货单更新通知单的发货数
+	 * 
+	 */
+	@Modifying(clearAutomatically = true)
+	@Query("update PurchaseNotice n set n.endQty=(select sum(s.qty) from SaleSendItem s where s.notice=n) where n.id= :id")
+	public void updateBySend(@Param("id") long id);
+	
+	/**
+	 * 根据截止日期获取(交货日期)
+	 * @param formDate
+	 * @param endDate
+	 * @return
+	 */
+	@Query("select p.id from PurchaseNotice p where p.vendUU=:vendUU and p.delivery <= :endDate")
+	public List<Long> findByEndDate(@Param("vendUU")Long vendUU, @Param("endDate")Date endDate);
+	
+	/**
+	 * 根据起始日期获取(交货日期)
+	 * @param formDate
+	 * @param endDate
+	 * @return
+	 */
+	@Query("select p.id from PurchaseNotice p where p.vendUU=:vendUU and p.delivery >= :fromDate")
+	public List<Long> findByFromDate(@Param("vendUU")Long vendUU, @Param("fromDate")Date formDate);
+
+	/**
+	 * 根据供应商UU号获取客户发发货提醒数量
+	 * @param vendUU
+	 * @return
+	 */
+	@Query("select count(p) from PurchaseNotice p where p.vendUU = :vendUU")
+	public long countByVendUU(@Param("vendUU")Long vendUU);
+
+	/**
+	 * 获得每种单据状态的未读数量
+	 *
+	 * @Param ids 未读单据id
+	 * @return
+	 */
+	@Query("select count(p), p.status from PurchaseNotice p where p.id in :ids and (p.end is null or p.end = 0) and p.waiting=0 group by p.status")
+	List<Object[]> getUnreadCountEveryStatus(@Param("ids") List<Long> ids);
+
+	/**
+	 * 更新发货提醒发货状态
+	 *
+	 * @param noticeId 发货提醒id
+	 * @param status 状态
+	 */
+	@Transactional
+    @Modifying(clearAutomatically = true)
+	@Query("update PurchaseNotice set status = :status where id = :noticeId")
+	void updateStatus(@Param("noticeId") Long noticeId, @Param("status") short status);
+}

+ 67 - 0
src/main/java/com/uas/platform/b2b/dao/PurchaseOrderAllDao.java

@@ -0,0 +1,67 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.Date;
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.data.jpa.repository.Modifying;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.jpa.repository.query.Procedure;
+import org.springframework.data.repository.query.Param;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.PurchaseOrderAll;
+
+import javax.transaction.Transactional;
+
+@Repository
+public interface PurchaseOrderAllDao extends JpaSpecificationExecutor<PurchaseOrderAll>, JpaRepository<PurchaseOrderAll, Long> {
+
+	/**
+	 * @param vendUU
+	 *            卖方企业ID
+	 * @param code
+	 *            订单号
+	 * @return
+	 */
+	public List<PurchaseOrderAll> findByVendUUAndCode(long vendUU, String code);
+
+	/**
+	 * @param id
+	 *            订单ID
+	 * @return
+	 */
+	public List<PurchaseOrderAll> findById(Long id);
+
+	/**
+	 * 卖家按上传状态查找订单
+	 * 
+	 * @param vendUU
+	 *            卖方企业ID
+	 * @param status
+	 *            状态
+	 * @return
+	 */
+	@Query("from PurchaseOrderAll where vendUU = :vendUU and sendStatus = :sendStatus and status <> 311")
+	public List<PurchaseOrderAll> findByVendUUAndSendStatus(@Param("vendUU") long vendUU, @Param("sendStatus") short sendStatus);
+
+	/**
+	 * 根据供应商UU号获取客户采购订单数量
+	 * @param vendUU
+	 * @return
+	 */
+	@Query("select count(p) from PurchaseOrderAll p where p.vendUU = :vendUU")
+	public long countByVendUU(@Param("vendUU")Long vendUU);
+
+	/**
+	 * 查询订单之前先设置状态,将未读的订单放在最上面
+	 * 
+	 * @param useruu
+	 * @param enuu
+	 * @param orderkind
+	 */
+	@Procedure(procedureName = "orders_set_status_beforeread")
+	public void setDisplayStatus(Long useruu, Long enuu, String orderkind);
+
+}

Some files were not shown because too many files changed in this diff