Просмотр исходного кода

Merge remote-tracking branch 'origin/master' into hotfix-684-wangmh

wangmh 7 лет назад
Родитель
Сommit
62dc25af15
100 измененных файлов с 1422 добавлено и 709 удалено
  1. 11 10
      pom.xml
  2. 20 0
      src/main/java/com/uas/platform/b2b/config/RestTemplateConfig.java
  3. 7 6
      src/main/java/com/uas/platform/b2b/controller/InvitationRecordController.java
  4. 12 15
      src/main/java/com/uas/platform/b2b/controller/MakeOutOrderController.java
  5. 13 14
      src/main/java/com/uas/platform/b2b/controller/MakeReturnController.java
  6. 2 53
      src/main/java/com/uas/platform/b2b/controller/PagingReleaseController.java
  7. 1 5
      src/main/java/com/uas/platform/b2b/controller/ProductUsersController.java
  8. 0 2
      src/main/java/com/uas/platform/b2b/controller/PubInquiryController.java
  9. 4 1
      src/main/java/com/uas/platform/b2b/controller/PubInquiryForPurcController.java
  10. 1 6
      src/main/java/com/uas/platform/b2b/controller/PurcProductController.java
  11. 11 16
      src/main/java/com/uas/platform/b2b/controller/PurchaseARCheckController.java
  12. 2 1
      src/main/java/com/uas/platform/b2b/controller/PurchaseTenderController.java
  13. 12 14
      src/main/java/com/uas/platform/b2b/controller/SaleAcceptController.java
  14. 12 14
      src/main/java/com/uas/platform/b2b/controller/SaleApBillController.java
  15. 14 15
      src/main/java/com/uas/platform/b2b/controller/SaleBadInController.java
  16. 14 15
      src/main/java/com/uas/platform/b2b/controller/SaleBadOutController.java
  17. 13 14
      src/main/java/com/uas/platform/b2b/controller/SaleCustomerForecastController.java
  18. 14 15
      src/main/java/com/uas/platform/b2b/controller/SaleMRBController.java
  19. 4 2
      src/main/java/com/uas/platform/b2b/controller/SaleOrderController.java
  20. 8 5
      src/main/java/com/uas/platform/b2b/controller/SaleQuotationController.java
  21. 13 14
      src/main/java/com/uas/platform/b2b/controller/SaleReturnController.java
  22. 0 15
      src/main/java/com/uas/platform/b2b/controller/VendorPerformanceAssessController.java
  23. 2 1
      src/main/java/com/uas/platform/b2b/core/support/ApplicationContextRegister.java
  24. 21 14
      src/main/java/com/uas/platform/b2b/core/util/DateUtils.java
  25. 9 6
      src/main/java/com/uas/platform/b2b/core/util/PathUtils.java
  26. 9 6
      src/main/java/com/uas/platform/b2b/core/util/ThreadUtils.java
  27. 2 2
      src/main/java/com/uas/platform/b2b/dao/BarPackageDao.java
  28. 0 2
      src/main/java/com/uas/platform/b2b/dao/CommonDao.java
  29. 15 0
      src/main/java/com/uas/platform/b2b/dao/ErrorLogDao.java
  30. 15 0
      src/main/java/com/uas/platform/b2b/dao/ErrorLogDetailDao.java
  31. 16 0
      src/main/java/com/uas/platform/b2b/dao/MakeOrderAcceptItemDao.java
  32. 0 2
      src/main/java/com/uas/platform/b2b/dao/MakeOrderChangeDao.java
  33. 16 0
      src/main/java/com/uas/platform/b2b/dao/MakeOrderReturnItemDao.java
  34. 41 0
      src/main/java/com/uas/platform/b2b/dao/NotExistOrdersDao.java
  35. 16 0
      src/main/java/com/uas/platform/b2b/dao/PurcReturnItemDao.java
  36. 7 2
      src/main/java/com/uas/platform/b2b/dao/PurchaseAcceptItemDao.java
  37. 0 1
      src/main/java/com/uas/platform/b2b/dao/PurchaseApBillOutTodoDao.java
  38. 9 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseNoticeDao.java
  39. 1 1
      src/main/java/com/uas/platform/b2b/dao/PurchaseOrderAllDao.java
  40. 13 1
      src/main/java/com/uas/platform/b2b/dao/PurchaseOrderChangeDao.java
  41. 18 0
      src/main/java/com/uas/platform/b2b/dao/PurchaseOrderDao.java
  42. 0 1
      src/main/java/com/uas/platform/b2b/dao/PurchaseProofingItemDoneDao.java
  43. 0 1
      src/main/java/com/uas/platform/b2b/dao/PurchaseTenderErpDao.java
  44. 0 1
      src/main/java/com/uas/platform/b2b/dao/PurchaseTenderProdDao.java
  45. 1 0
      src/main/java/com/uas/platform/b2b/dao/ResourceDao.java
  46. 25 0
      src/main/java/com/uas/platform/b2b/dao/SaleOrderItemDao.java
  47. 0 1
      src/main/java/com/uas/platform/b2b/dao/SaleTenderDao.java
  48. 0 1
      src/main/java/com/uas/platform/b2b/dao/SaleTenderItemDao.java
  49. 2 1
      src/main/java/com/uas/platform/b2b/dao/UserDao.java
  50. 1 0
      src/main/java/com/uas/platform/b2b/data/support/DSUtils.java
  51. 14 7
      src/main/java/com/uas/platform/b2b/data/support/MultiDataSource.java
  52. 2 2
      src/main/java/com/uas/platform/b2b/erp/controller/DeputyOrderDownController.java
  53. 1 2
      src/main/java/com/uas/platform/b2b/erp/controller/InquiryController.java
  54. 85 0
      src/main/java/com/uas/platform/b2b/erp/controller/NotExistOrderController.java
  55. 1 142
      src/main/java/com/uas/platform/b2b/erp/controller/ProdController.java
  56. 21 4
      src/main/java/com/uas/platform/b2b/erp/controller/PurchaseController.java
  57. 2 2
      src/main/java/com/uas/platform/b2b/erp/controller/PurchaseNotifyController.java
  58. 4 4
      src/main/java/com/uas/platform/b2b/erp/controller/PurchaseProdInOutController.java
  59. 2 2
      src/main/java/com/uas/platform/b2b/erp/controller/PurchaseQuaMRBController.java
  60. 25 1
      src/main/java/com/uas/platform/b2b/erp/controller/SaleDownChangeController.java
  61. 10 4
      src/main/java/com/uas/platform/b2b/erp/controller/VendorRecommendController.java
  62. 60 0
      src/main/java/com/uas/platform/b2b/erp/exception/ExceptionNote.java
  63. 34 0
      src/main/java/com/uas/platform/b2b/erp/exception/NotFoundUtils.java
  64. 0 13
      src/main/java/com/uas/platform/b2b/erp/model/APCheckDetail.java
  65. 6 2
      src/main/java/com/uas/platform/b2b/erp/model/AcceptNotify.java
  66. 5 3
      src/main/java/com/uas/platform/b2b/erp/model/ErpLog.java
  67. 11 8
      src/main/java/com/uas/platform/b2b/erp/model/InquiryDetail.java
  68. 120 26
      src/main/java/com/uas/platform/b2b/erp/model/Make.java
  69. 70 0
      src/main/java/com/uas/platform/b2b/erp/model/OrderDetailPrice.java
  70. 6 0
      src/main/java/com/uas/platform/b2b/erp/model/ProdInOutRefreshPrice.java
  71. 21 5
      src/main/java/com/uas/platform/b2b/erp/model/ProductSample.java
  72. 11 5
      src/main/java/com/uas/platform/b2b/erp/model/Purchase.java
  73. 29 2
      src/main/java/com/uas/platform/b2b/erp/model/PurchaseNotify.java
  74. 0 8
      src/main/java/com/uas/platform/b2b/erp/model/PurchaseProdInOutDetail.java
  75. 2 1
      src/main/java/com/uas/platform/b2b/erp/model/PurchaseReply.java
  76. 3 2
      src/main/java/com/uas/platform/b2b/erp/model/Quotation.java
  77. 6 4
      src/main/java/com/uas/platform/b2b/erp/model/QuotationDetail.java
  78. 4 4
      src/main/java/com/uas/platform/b2b/erp/model/SaleDownChangeDetail.java
  79. 3 2
      src/main/java/com/uas/platform/b2b/erp/model/SaleOut.java
  80. 2 4
      src/main/java/com/uas/platform/b2b/erp/model/SaleProdInOutDownDetail.java
  81. 14 7
      src/main/java/com/uas/platform/b2b/erp/service/InquiryService.java
  82. 10 0
      src/main/java/com/uas/platform/b2b/erp/service/MakeService.java
  83. 2 0
      src/main/java/com/uas/platform/b2b/erp/service/PurchaseNotifyService.java
  84. 1 1
      src/main/java/com/uas/platform/b2b/erp/service/PurchaseProdInOutService.java
  85. 6 1
      src/main/java/com/uas/platform/b2b/erp/service/PurchaseQuaMRBService.java
  86. 11 4
      src/main/java/com/uas/platform/b2b/erp/service/PurchaseService.java
  87. 3 2
      src/main/java/com/uas/platform/b2b/erp/service/impl/APCheckServiceImpl.java
  88. 17 1
      src/main/java/com/uas/platform/b2b/erp/service/impl/AutOrderServiceImpl.java
  89. 2 1
      src/main/java/com/uas/platform/b2b/erp/service/impl/BarLabelServiceImpl.java
  90. 5 3
      src/main/java/com/uas/platform/b2b/erp/service/impl/ErpLogServiceImpl.java
  91. 50 24
      src/main/java/com/uas/platform/b2b/erp/service/impl/InquiryServiceImpl.java
  92. 48 12
      src/main/java/com/uas/platform/b2b/erp/service/impl/MakeProdInOutServiceImpl.java
  93. 52 11
      src/main/java/com/uas/platform/b2b/erp/service/impl/MakeServiceImpl.java
  94. 3 2
      src/main/java/com/uas/platform/b2b/erp/service/impl/OutsourceServiceImpl.java
  95. 35 6
      src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseChangeServiceImpl.java
  96. 3 3
      src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseForecastServiceImpl.java
  97. 23 2
      src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseNotifyServiceImpl.java
  98. 90 51
      src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseProdInOutServiceImpl.java
  99. 9 2
      src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseQuaMRBServiceImpl.java
  100. 51 21
      src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseSampleServiceImpl.java

+ 11 - 10
pom.xml

@@ -9,7 +9,6 @@
         <groupId>com.uas.platform</groupId>
         <artifactId>platform</artifactId>
         <version>0.0.1-SNAPSHOT</version>
-        <relativePath>../platform</relativePath>
     </parent>
     <profiles>
         <profile>
@@ -46,6 +45,14 @@
 
         </profile>
     </profiles>
+
+    <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>
+
     <dependencies>
         <dependency>
             <groupId>javax.servlet</groupId>
@@ -400,8 +407,8 @@
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-compiler-plugin</artifactId>
                 <configuration>
-                    <source>1.7</source>
-                    <target>1.7</target>
+                    <source>${maven.compiler.source}</source>
+                    <target>${maven.compiler.target}</target>
                 </configuration>
             </plugin>
             <plugin>
@@ -487,7 +494,7 @@
                                 <sourceInclude>resources/tpl/**/*.html</sourceInclude>
                                 <sourceInclude>WEB-INF/views/**/*.html</sourceInclude>
                             </sourceIncludes>
-                            http://static.ubtob.com/css/index.css?_v=1450321871828
+                            <!--http://static.ubtob.com/css/index.css?_v=1450321871828-->
                             <versionSuffix>
                                 <suffix>?_v=${timestamp}</suffix>
                                 <exclude>*/require.js,*.min.js,*.min.css</exclude>
@@ -562,10 +569,4 @@
             </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>

+ 20 - 0
src/main/java/com/uas/platform/b2b/config/RestTemplateConfig.java

@@ -0,0 +1,20 @@
+package com.uas.platform.b2b.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.client.RestTemplate;
+
+/**
+ * RestTemplate配置bean
+ * @author suntg
+ * @create 2017/2/15
+ * @version 2017年8月2日16:07:06 suntg 修改文件类名
+ */
+@Configuration
+public class RestTemplateConfig {
+
+    @Bean
+    public RestTemplate restTemplate() {
+        return new RestTemplate();
+    }
+}

+ 7 - 6
src/main/java/com/uas/platform/b2b/controller/InvitationRecordController.java

@@ -4,12 +4,12 @@ import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.model.EnterpriseBaseInfo;
 import com.uas.platform.b2b.model.InvitationRecord;
+import com.uas.platform.b2b.publicapi.service.InviteRecordService;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.InvitationRecordService;
 import com.uas.platform.b2b.support.SysConf;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.UsageBufferedLogger;
-import com.uas.platform.b2b.v2.service.InviteRecordService;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.Constant;
@@ -28,6 +28,12 @@ import org.springframework.web.bind.annotation.RestController;
 import java.util.ArrayList;
 import java.util.List;
 
+/**
+ * 邀请注册记录接口
+ * 
+ * @author hejq
+ * @date 2018-07-16 15:42
+ */
 @RestController
 @RequestMapping("/invitationrecord")
 public class InvitationRecordController {
@@ -88,7 +94,6 @@ public class InvitationRecordController {
 	@RequestMapping(value = "/records", method = RequestMethod.GET)
 	private SPage<InvitationRecord> getRecords(PageParams params, String keyword) {
 		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, null);
-//		pageParams.getFilters().put("in_enuu", SystemSession.getUser().getEnterprise().getUu());
 		pageParams.getFilters().put("in_useruu", SystemSession.getUser().getUserUU());
 		List<Sort> sortList = new ArrayList<>();
 		sortList.add(new Sort("in_date", false, Type.LONG, new Long(1)));
@@ -123,10 +128,6 @@ public class InvitationRecordController {
 		com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, null);
 		pageParams.getFilters().put("in_enuu", SystemSession.getUser().getEnterprise().getUu());
 		pageParams.getFilters().put("in_active", Constant.YES);
-//		不显示自己的
-//		HashMap<String, Object> map = new HashMap<>();
-//		map.put("in_useruu", SystemSession.getUser().getUserUU());
-//		pageParams.setNotEqualFilters(map);
 		List<Sort> sortList = new ArrayList<>();
 		sortList.add(new Sort("in_date", false, Type.LONG, new Long(1)));
 		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);

+ 12 - 15
src/main/java/com/uas/platform/b2b/controller/MakeOutOrderController.java

@@ -1,19 +1,5 @@
 package com.uas.platform.b2b.controller;
 
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Sort.Direction;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.servlet.ModelAndView;
-
 import com.alibaba.dubbo.common.utils.CollectionUtils;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2b.model.MakeOrder;
@@ -25,7 +11,6 @@ import com.uas.platform.b2b.support.JxlsExcelView;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.UsageBufferedLogger;
 import com.uas.platform.core.logging.BufferedLoggerManager;
-import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.search.b2b.model.MultiValue;
@@ -33,6 +18,18 @@ import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.model.Sort.Type;
 import com.uas.search.b2b.util.SearchConstants;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 查看自己委外加工的订单

+ 13 - 14
src/main/java/com/uas/platform/b2b/controller/MakeReturnController.java

@@ -1,19 +1,5 @@
 package com.uas.platform.b2b.controller;
 
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Sort.Direction;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.servlet.ModelAndView;
-
 import com.alibaba.dubbo.common.utils.CollectionUtils;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2b.model.MakeReturn;
@@ -32,6 +18,19 @@ import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.model.Sort.Type;
 import com.uas.search.b2b.util.SearchConstants;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort.Direction;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 卖家获取对应的客户委外验退单

+ 2 - 53
src/main/java/com/uas/platform/b2b/controller/PagingReleaseController.java

@@ -2,10 +2,8 @@ package com.uas.platform.b2b.controller;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
-import com.uas.sso.support.Page;
 import com.uas.platform.b2b.model.PagingReleaseDetail;
 import com.uas.platform.b2b.model.SearchFilter;
-import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.PagingReleaseDetailService;
 import com.uas.platform.b2b.service.PagingReleaseService;
 import com.uas.platform.b2b.support.SystemSession;
@@ -18,15 +16,11 @@ import com.uas.platform.core.model.PageParams;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import com.uas.platform.core.web.bind.RequestState;
 import com.uas.search.b2b.model.SPage;
+import com.uas.sso.support.Page;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
 
@@ -46,53 +40,8 @@ public class PagingReleaseController {
     @Autowired
     private PagingReleaseDetailService pagingReleaseDetailService;
 
-    @Autowired
-    private SearchService searchService;
-
     private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
 
-//    /**
-//     *  分页查找消息(未读)
-//     * @param params
-//     * @return
-//     */
-//    @RequestMapping(params = RequestState.TODO, method = RequestMethod.GET)
-//    @ResponseBody
-//    public SPage<PagingReleaseDetail> getTodoPagingRelease(PageParams params, String searchFilter) {
-//        JSONObject jsonObject = JSONObject.parseObject(searchFilter);
-//        String keyword = jsonObject.getString("keyword");
-////        logger.log("查看消息", "查看收到的消息(未读)");
-//        com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, null);
-//        pageParams.getFilters().put("prd_readstatus", Constant.NO);
-//        pageParams.getFilters().put("prd_emuu", SystemSession.getUser().getUserUU());
-//        pageParams.getFilters().put("prd_venduu", SystemSession.getUser().getEnterprise().getUu());
-//        List<Sort> sortList = new ArrayList<>();
-//        sortList.add(new Sort("prd_id", false, Sort.Type.LONG, new Long(1)));
-//        pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-//        return searchService.searchPagingReleaseDetailIds(keyword, pageParams);
-//    }
-//
-//    /**
-//     *  分页查找消息(已读)
-//     * @param params
-//     * @return
-//     */
-//    @RequestMapping(params = RequestState.DONE, method = RequestMethod.GET)
-//    @ResponseBody
-//    public SPage<PagingReleaseDetail> getDonePagingRelease(PageParams params, String searchFilter) {
-//        JSONObject jsonObject = JSONObject.parseObject(searchFilter);
-//        String keyword = jsonObject.getString("keyword");
-////        logger.log("查看消息", "查看收到的消息(已读)");
-//        com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, null);
-//        pageParams.getFilters().put("prd_readstatus", Constant.YES);
-//        pageParams.getFilters().put("prd_emuu", SystemSession.getUser().getUserUU());
-//        pageParams.getFilters().put("prd_venduu", SystemSession.getUser().getEnterprise().getUu());
-//        List<Sort> sortList = new ArrayList<>();
-//        sortList.add(new Sort("prd_id", false, Sort.Type.LONG, new Long(1)));
-//        pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
-//        return searchService.searchPagingReleaseDetailIds(keyword, pageParams);
-//    }
-
     /**
      *  分页查找消息(未读)
      * @param params

+ 1 - 5
src/main/java/com/uas/platform/b2b/controller/ProductUsersController.java

@@ -21,11 +21,7 @@ import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
 import java.io.IOException;

+ 0 - 2
src/main/java/com/uas/platform/b2b/controller/PubInquiryController.java

@@ -3,7 +3,6 @@ package com.uas.platform.b2b.controller;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2b.model.*;
-import com.uas.platform.b2b.ps.InquiryUtils;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.PubInquiryService;
 import com.uas.platform.b2b.service.UserService;
@@ -22,7 +21,6 @@ import com.uas.search.b2b.model.MultiValue;
 import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.util.SearchConstants;
-import javassist.compiler.ast.Keyword;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;

+ 4 - 1
src/main/java/com/uas/platform/b2b/controller/PubInquiryForPurcController.java

@@ -21,7 +21,10 @@ import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.util.SearchConstants;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.*;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
 import java.util.HashMap;

+ 1 - 6
src/main/java/com/uas/platform/b2b/controller/PurcProductController.java

@@ -25,12 +25,7 @@ import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.xssf.usermodel.XSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import org.springframework.web.servlet.ModelAndView;
 
 import java.io.IOException;

+ 11 - 16
src/main/java/com/uas/platform/b2b/controller/PurchaseARCheckController.java

@@ -1,21 +1,5 @@
 package com.uas.platform.b2b.controller;
 
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
-import org.springframework.data.domain.Sort.Direction;
-import org.springframework.stereotype.Controller;
-import org.springframework.util.StringUtils;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.servlet.ModelAndView;
-
 import com.alibaba.dubbo.common.utils.CollectionUtils;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
@@ -38,6 +22,17 @@ import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.model.Sort.Type;
 import com.uas.search.b2b.util.SearchConstants;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.Sort.Direction;
+import org.springframework.stereotype.Controller;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.servlet.ModelAndView;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 买家获取卖家上传的应付对账单

+ 2 - 1
src/main/java/com/uas/platform/b2b/controller/PurchaseTenderController.java

@@ -696,7 +696,8 @@ public class PurchaseTenderController {
     @ResponseBody
     public Page<PurchaseTender> getLatestOpenTender(PageParams params) {
         PageInfo info = new PageInfo(params);
-        info.sorting("date", org.springframework.data.domain.Sort.Direction.DESC); // 按发布日期倒序
+        // 按发布日期倒序
+        info.sorting("date", org.springframework.data.domain.Sort.Direction.DESC);
         return purchaseTenderService.findOpen(info);
     }
 

+ 12 - 14
src/main/java/com/uas/platform/b2b/controller/SaleAcceptController.java

@@ -1,19 +1,5 @@
 package com.uas.platform.b2b.controller;
 
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Sort.Direction;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.servlet.ModelAndView;
-
 import com.alibaba.dubbo.common.utils.CollectionUtils;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2b.model.PurchaseAccept;
@@ -33,6 +19,18 @@ import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.model.Sort.Type;
 import com.uas.search.b2b.util.SearchConstants;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 卖家获取对应的客户采购验收单

+ 12 - 14
src/main/java/com/uas/platform/b2b/controller/SaleApBillController.java

@@ -1,20 +1,6 @@
 package com.uas.platform.b2b.controller;
 
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.ModelMap;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.servlet.ModelAndView;
-
 import com.alibaba.dubbo.common.utils.CollectionUtils;
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2b.model.PurchaseApBill;
 import com.uas.platform.b2b.model.SearchFilter;
@@ -31,6 +17,18 @@ import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.model.Sort.Type;
 import com.uas.search.b2b.util.SearchConstants;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 卖家获取对应的客户应付票据

+ 14 - 15
src/main/java/com/uas/platform/b2b/controller/SaleBadInController.java

@@ -1,20 +1,5 @@
 package com.uas.platform.b2b.controller;
 
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Sort.Direction;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.ModelMap;
-import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.servlet.ModelAndView;
-
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2b.model.PurchaseBadIn;
@@ -34,6 +19,20 @@ import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.model.Sort.Type;
 import com.uas.search.b2b.util.SearchConstants;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort.Direction;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 卖家获取对应的客户不良品入库单

+ 14 - 15
src/main/java/com/uas/platform/b2b/controller/SaleBadOutController.java

@@ -1,20 +1,5 @@
 package com.uas.platform.b2b.controller;
 
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Sort.Direction;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.ModelMap;
-import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.servlet.ModelAndView;
-
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2b.model.PurchaseBadOut;
@@ -34,6 +19,20 @@ import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.model.Sort.Type;
 import com.uas.search.b2b.util.SearchConstants;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort.Direction;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 卖家获取对应的客户不良品出库单

+ 13 - 14
src/main/java/com/uas/platform/b2b/controller/SaleCustomerForecastController.java

@@ -1,19 +1,5 @@
 package com.uas.platform.b2b.controller;
 
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Sort.Direction;
-import org.springframework.stereotype.Controller;
-import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.servlet.ModelAndView;
-
 import com.uas.platform.b2b.model.PurchaseForecastAll;
 import com.uas.platform.b2b.model.PurchaseForecastAllItem;
 import com.uas.platform.b2b.model.SearchFilter;
@@ -31,6 +17,19 @@ import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.model.Sort.Type;
 import com.uas.search.b2b.util.SearchConstants;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort.Direction;
+import org.springframework.stereotype.Controller;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 卖家获取的客户采购预测单

+ 14 - 15
src/main/java/com/uas/platform/b2b/controller/SaleMRBController.java

@@ -1,20 +1,5 @@
 package com.uas.platform.b2b.controller;
 
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Sort.Direction;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.ModelMap;
-import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.servlet.ModelAndView;
-
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2b.model.PurchaseMRB;
@@ -34,6 +19,20 @@ import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.model.Sort.Type;
 import com.uas.search.b2b.util.SearchConstants;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Sort.Direction;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 卖家获取的客户MRB单

+ 4 - 2
src/main/java/com/uas/platform/b2b/controller/SaleOrderController.java

@@ -266,7 +266,8 @@ public class SaleOrderController {
 		pageParams.getFilters().put("pu_venduu", SystemSession.getUser().getEnterprise().getUu());
 		pageParams.getFilters().put("pu_reply", Constant.YES);
 		ModelMap map = new ModelMap();
-		map.put("pu_end", Constant.YES); // 过滤掉已结案状态的
+		// 过滤掉已结案状态的
+		map.put("pu_end", Constant.YES);
 		pageParams.setNotEqualFilters(map);
 		return searchService.searchPurchaseDoneOrderIds(keyword, pageParams);
 	}
@@ -1125,7 +1126,8 @@ public class SaleOrderController {
 		sortList.add(new Sort("pu_id", false, Type.LONG, new Long(1)));
 		List<Object> list = new ArrayList<>();
 		list.add(Constant.YES);
-		list.add((short) 2); // 建索引时,将不处于已结案状态,但是货物全部交接完毕的单,end值设为了2
+		// 建索引时,将不处于已结案状态,但是货物全部交接完毕的单,end值设为了2
+		list.add((short) 2);
 		ModelMap map = new ModelMap();
 		map.put("pu_end", new MultiValue(list, true));
 		map.put("pu_status", (short) Status.UNAUDIT.value());

+ 8 - 5
src/main/java/com/uas/platform/b2b/controller/SaleQuotationController.java

@@ -117,7 +117,8 @@ public class SaleQuotationController {
 			pageParams.getFilters().put("qu_custuu", new MultiValue(list, true));
 		}
 		HashMap<String, Object> map = new HashMap<>();
-		map.put("qu_overdue", Constant.YES); // 未过报价截至有效期
+        // 未过报价截至有效期
+		map.put("qu_overdue", Constant.YES);
 		pageParams.setNotEqualFilters(map);
 		List<Object> status = new ArrayList<>();
 		status.add((short) Status.SUBMITTED.value());
@@ -155,7 +156,8 @@ public class SaleQuotationController {
 			pageParams.getFilters().put("qu_custuu", new MultiValue(list, true));
 		}
 		HashMap<String, Object> map = new HashMap<>();
-		map.put("qu_overdue", Constant.YES); // 未过报价截至有效期
+        // 未过报价截至有效期
+		map.put("qu_overdue", Constant.YES);
 		pageParams.setNotEqualFilters(map);
 		pageParams.getFilters().put("qu_agreed", Constant.YES);
 		List<Sort> sortList = new ArrayList<>();
@@ -189,7 +191,8 @@ public class SaleQuotationController {
 			pageParams.getFilters().put("qu_custuu", new MultiValue(list, true));
 		}
 		HashMap<String, Object> map = new HashMap<>();
-		map.put("qu_overdue", Constant.YES); // 未过报价截至有效期
+        // 未过报价截至有效期
+		map.put("qu_overdue", Constant.YES);
 		pageParams.setNotEqualFilters(map);
 		pageParams.getFilters().put("qu_agreed", Constant.NO);
 		List<Sort> sortList = new ArrayList<>();
@@ -255,8 +258,8 @@ public class SaleQuotationController {
 			list.addAll(filter.getDistribute());
 			pageParams.getFilters().put("qu_custuu", new MultiValue(list, true));
 		}
+        // 已失效
 		pageParams.getFilters().put("qu_overdue", Constant.YES); // 已失效
-//		pageParams.getFilters().put("qu_status", Status.SUBMITTED.value());
 		List<Sort> sortList = new ArrayList<>();
 		sortList.add(new Sort("qu_id", false, Type.LONG, new Long(1)));
 		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
@@ -397,7 +400,6 @@ public class SaleQuotationController {
 		PageInfo pageInfo = new PageInfo(params);
 		pageInfo.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
 		pageInfo.filter("overdue", Constant.YES);
-//		pageInfo.filter("status", Status.SUBMITTED.value());
 		return saleQuotationService.findAllDetailByPageInfo(pageInfo, null, filter);
 	}
 
@@ -616,6 +618,7 @@ public class SaleQuotationController {
 	@RequestMapping(value = "/deleteById/{id}", method = RequestMethod.DELETE)
 	@ResponseBody
 	public void deleteById(@PathVariable Long id) {
+		logger.log("主动报价单", "删除主动报价", "id: " + id);
 		saleQuotationService.deleteById(id);
 	}
 }

+ 13 - 14
src/main/java/com/uas/platform/b2b/controller/SaleReturnController.java

@@ -1,19 +1,5 @@
 package com.uas.platform.b2b.controller;
 
-import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.ModelMap;
-import org.springframework.util.CollectionUtils;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestMethod;
-import org.springframework.web.bind.annotation.ResponseBody;
-import org.springframework.web.servlet.ModelAndView;
-
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2b.model.Enterprise;
@@ -33,6 +19,19 @@ import com.uas.search.b2b.model.SPage;
 import com.uas.search.b2b.model.Sort;
 import com.uas.search.b2b.model.Sort.Type;
 import com.uas.search.b2b.util.SearchConstants;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.ModelMap;
+import org.springframework.util.CollectionUtils;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.servlet.ModelAndView;
+
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * 卖家获取对应的客户采购验退单

+ 0 - 15
src/main/java/com/uas/platform/b2b/controller/VendorPerformanceAssessController.java

@@ -32,21 +32,6 @@ public class VendorPerformanceAssessController {
     public SPage<VendorPerformanceAssess> getVpas(PageParams params, String keyword) {
         com.uas.search.b2b.model.PageParams pageParams = searchService.convertPageParams(params, null);
         pageParams.getFilters().put("vpa_veuu", SystemSession.getUser().getEnterprise().getUu());
-//		pageParams.getFilters().put("ve_custswitch", Constant.YES);
-//		List<Sort> sortList = new ArrayList<>();
-//		SearchFilter filter = userService.distribute();
-//		if (filter != null && filter.getDistribute() == null) {
-//			return null;
-//		}
-//		if (filter != null && !CollectionUtils.isEmpty(filter.getDistribute())) {
-//			List<Object> list = new ArrayList<>();
-//			for (Object object : filter.getDistribute()) {
-//				list.add(object);
-//			}
-//			pageParams.getFilters().put("ve_myenuu", new MultiValue(list, true));
-//		}
-//		sortList.add(new Sort("ve_id", false, Type.LONG, new Long(1)));
-//		pageParams.getFilters().put(SearchConstants.SORT_KEY, sortList);
         return searchService.searchVendorPerformanceAssesss(keyword, pageParams);
     }
 

+ 2 - 1
src/main/java/com/uas/platform/b2b/core/support/ApplicationContextRegister.java

@@ -11,7 +11,8 @@ public class ApplicationContextRegister implements ApplicationContextAware {
 
 	private static Logger logger = Logger.getLogger(ApplicationContextRegister.class);
 
-	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+	@Override
+    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
 		ContextUtils.setApplicationContext(applicationContext);
 		logger.debug("ApplicationContext registed");
 	}

+ 21 - 14
src/main/java/com/uas/platform/b2b/core/util/DateUtils.java

@@ -79,31 +79,37 @@ public class DateUtils {
 		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_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);
+		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_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);
+		if (compareType >= COMPARE_DAY) {
+            calendar2.clear(Calendar.DAY_OF_MONTH);
+        }
 		return calendar1.compareTo(calendar2);
 	}
 
@@ -178,8 +184,9 @@ public class DateUtils {
 	 * @return
 	 */
 	public static Integer addMonth(Date date, int increase) {
-		if (date == null)
-			date = new Date();
+		if (date == null) {
+            date = new Date();
+        }
 		Calendar calendar = new GregorianCalendar();
 		calendar.setTime(date);
 		calendar.add(Calendar.MONTH, increase);

+ 9 - 6
src/main/java/com/uas/platform/b2b/core/util/PathUtils.java

@@ -24,8 +24,9 @@ public class PathUtils {
 	 * @return
 	 */
 	public static String getClassPath() {
-		if (classPath == null)
-			setClassPath();
+		if (classPath == null) {
+            setClassPath();
+        }
 		return classPath;
 	}
 
@@ -35,8 +36,9 @@ public class PathUtils {
 	 * @return
 	 */
 	public static String getAppPath() {
-		if (appPath == null)
-			setAppPath();
+		if (appPath == null) {
+            setAppPath();
+        }
 		return appPath;
 	}
 
@@ -46,8 +48,9 @@ public class PathUtils {
 	 * @return
 	 */
 	public static String getFilePath() {
-		if (filePath == null)
-			setFilePath();
+		if (filePath == null) {
+            setFilePath();
+        }
 		return filePath;
 	}
 

+ 9 - 6
src/main/java/com/uas/platform/b2b/core/util/ThreadUtils.java

@@ -98,8 +98,9 @@ public class ThreadUtils {
 
 		public Runner<T> tasks(List<T> params) {
 			if (!CollectionUtils.isEmpty(params)) {
-				for (T param : params)
-					task(param);
+				for (T param : params) {
+                    task(param);
+                }
 			}
 			return this;
 		}
@@ -169,8 +170,9 @@ public class ThreadUtils {
 
 		public Caller<V, T> tasks(List<T> params) {
 			if (!CollectionUtils.isEmpty(params)) {
-				for (T param : params)
-					task(param);
+				for (T param : params) {
+                    task(param);
+                }
 			}
 			return this;
 		}
@@ -247,8 +249,9 @@ public class ThreadUtils {
 
 		public Executor tasks(List<Runnable> runnables) {
 			if (!CollectionUtils.isEmpty(runnables)) {
-				for (Runnable runnable : runnables)
-					task(runnable);
+				for (Runnable runnable : runnables) {
+                    task(runnable);
+                }
 			}
 			return this;
 		}

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

@@ -22,8 +22,8 @@ public interface BarPackageDao extends JpaSpecificationExecutor<BarPackage>, Jpa
 	
 	/**
 	 * 通过发送状态和客户uu查询数据  
-	 * @param sendstatus
-	 * @param sendstatus
+	 * @param sendStatus
+	 * @param custUU
 	 * @return
 	 */
 	public List<BarPackage> findBySendStatusAndCustUU(short sendStatus,Long custUU);

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

@@ -135,6 +135,4 @@ public class CommonDao {
 		insertActor.executeBatch(sqlSource);
 	}
 
-
-
 }

+ 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> {
+}

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

@@ -0,0 +1,16 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.MakeOrderAcceptItem;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 委外验收单明细
+ *
+ * @author hejq
+ * @date 2018-07-19 16:59
+ */
+@Repository
+public interface MakeOrderAcceptItemDao extends JpaSpecificationExecutor<MakeOrderAcceptItem>, JpaRepository<MakeOrderAcceptItem, Long> {
+}

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

@@ -20,6 +20,4 @@ public interface MakeOrderChangeDao extends JpaSpecificationExecutor<MakeOrderCh
 	 */
 	public List<MakeOrderChange> findByEnUUAndCode(Long enUU, String code);
 	
-
-
 }

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

@@ -0,0 +1,16 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.MakeOrderReturnItem;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 委外验退单明细
+ *
+ * @author hejq
+ * @date 2018-07-19 17:07
+ */
+@Repository
+public interface MakeOrderReturnItemDao extends JpaRepository<MakeOrderReturnItem, Long>, JpaSpecificationExecutor<MakeOrderReturnItem> {
+}

+ 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);
+}

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

@@ -0,0 +1,16 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.PurcReturnItem;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+/**
+ * 采购验退单明细
+ *
+ * @author hejq
+ * @date 2018-07-19 16:46
+ */
+@Repository
+public interface PurcReturnItemDao extends JpaRepository<PurcReturnItem, Long>, JpaSpecificationExecutor<PurcReturnItem> {
+}

+ 7 - 2
src/main/java/com/uas/platform/b2b/dao/PurchaseAcceptItemDao.java

@@ -1,13 +1,18 @@
 package com.uas.platform.b2b.dao;
 
+import com.uas.platform.b2b.model.PurchaseAcceptItem;
 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;
-
+/**
+ * 采购验收单
+ * 
+ * @author hejq
+ * @date 2018-07-19 15:39
+ */
 @Repository
 public interface PurchaseAcceptItemDao extends JpaSpecificationExecutor<PurchaseAcceptItem>,
 		JpaRepository<PurchaseAcceptItem, Long> {

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

@@ -1,7 +1,6 @@
 package com.uas.platform.b2b.dao;
 
 import com.uas.platform.b2b.model.PurchaseApBillOutTodo;
-import com.uas.platform.b2b.model.PurchaseApCheckTodo;
 import org.springframework.data.jpa.repository.JpaRepository;
 import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
 

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

@@ -162,7 +162,16 @@ public interface PurchaseNoticeDao extends JpaSpecificationExecutor<PurchaseNoti
 	 * @param noticeId 发货提醒id
 	 * @param status 状态
 	 */
+	@Transactional(rollbackFor = Exception.class)
     @Modifying(clearAutomatically = true)
 	@Query("update PurchaseNotice set status = :status where id = :noticeId")
 	void updateStatus(@Param("noticeId") Long noticeId, @Param("status") short status);
+
+	/**
+	 * 通过采购单明细id查询对应的所有的发货提醒
+	 *
+	 * @param orderItemId 采购单明细id
+	 * @return
+	 */
+    List<PurchaseNotice> findByOrderItemId(Long orderItemId);
 }

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

@@ -45,7 +45,7 @@ public interface PurchaseOrderAllDao extends JpaSpecificationExecutor<PurchaseOr
 	 */
 	@Query("from PurchaseOrderAll where vendUU = :vendUU and sendStatus = :sendStatus and status <> 311")
 	public List<PurchaseOrderAll> findByVendUUAndSendStatus(@Param("vendUU") long vendUU, @Param("sendStatus") short sendStatus);
-	
+
 	/**
 	 * 根据截止日期获取
 	 * @param formDate

+ 13 - 1
src/main/java/com/uas/platform/b2b/dao/PurchaseOrderChangeDao.java

@@ -44,9 +44,21 @@ public interface PurchaseOrderChangeDao extends JpaSpecificationExecutor<Purchas
 	 *            上传到卖家ERP的状态
 	 * @return
 	 */
-	@Query("from PurchaseOrderChange r where r.vendUU = :vendUU and r.sendStatus = :sendStatus")
+	@Query("from PurchaseOrderChange r where r.vendUU = :vendUU and r.sendStatus = :sendStatus and r.erpId is not null")
 	public List<PurchaseOrderChange> findByVendUUAndSendStatus(@Param("vendUU") long vendUU, @Param("sendStatus") short sendStatus);
 
+	/**
+	 * 卖家按上传状态查找变更单(买家b2b)
+	 *
+	 * @param vendUU
+	 *            卖方企业ID
+	 * @param sendStatus
+	 *            上传到卖家ERP的状态
+	 * @return
+	 */
+	@Query("from PurchaseOrderChange r where r.vendUU = :vendUU and r.sendStatus = :sendStatus and r.erpId is null")
+	public List<PurchaseOrderChange> findByVendUUAndSendStatusAndErpId(@Param("vendUU") long vendUU, @Param("sendStatus") short sendStatus);
+
 	/**
 	 * 卖家按回复信息上传状态查找变更单
 	 * 

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

@@ -3,12 +3,19 @@ package com.uas.platform.b2b.dao;
 import com.uas.platform.b2b.model.PurchaseOrder;
 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;
 
+/**
+ * 采购订单
+ *
+ * @author US50
+ */
 @Repository
 public interface PurchaseOrderDao extends JpaSpecificationExecutor<PurchaseOrder>, JpaRepository<PurchaseOrder, Long> {
 
@@ -85,4 +92,15 @@ public interface PurchaseOrderDao extends JpaSpecificationExecutor<PurchaseOrder
 	 * @return
 	 */
 	List<PurchaseOrder> findByEnUUAndAndErpId(Long uu, Long id);
+
+	/**
+	 * 通过id更新采购单状态
+	 *
+	 * @param status 状态
+	 * @param id id
+	 */
+	@Modifying
+	@Transactional(rollbackOn = Exception.class)
+	@Query("update PurchaseOrder set status = :status where id = :id")
+	void updatePurchaseStatus(@Param("status") Short status, @Param("id") Long id);
 }

+ 0 - 1
src/main/java/com/uas/platform/b2b/dao/PurchaseProofingItemDoneDao.java

@@ -9,5 +9,4 @@ import com.uas.platform.b2b.model.PurchaseProofingItemDone;
 @Repository
 public interface PurchaseProofingItemDoneDao extends JpaSpecificationExecutor<PurchaseProofingItemDone>, JpaRepository<PurchaseProofingItemDone, Long> {
 
-
 }

+ 0 - 1
src/main/java/com/uas/platform/b2b/dao/PurchaseTenderErpDao.java

@@ -11,5 +11,4 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface PurchaseTenderErpDao extends JpaSpecificationExecutor<PurchaseTenderErp>,JpaRepository<PurchaseTenderErp, Long> {
 
-
 }

+ 0 - 1
src/main/java/com/uas/platform/b2b/dao/PurchaseTenderProdDao.java

@@ -11,5 +11,4 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface PurchaseTenderProdDao extends JpaSpecificationExecutor<PurchaseTenderProd>,JpaRepository<PurchaseTenderProd, Long> {
 
-
 }

+ 1 - 0
src/main/java/com/uas/platform/b2b/dao/ResourceDao.java

@@ -13,6 +13,7 @@ import com.uas.platform.b2b.model.Resource;
 public interface ResourceDao extends JpaRepository<Resource, Long> {
 	
 	@OrderBy("id")
+	@Override
 	public List<Resource> findAll();
 
 }

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

@@ -0,0 +1,25 @@
+package com.uas.platform.b2b.dao;
+
+import com.uas.platform.b2b.model.SaleOrderItem;
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * 只保存明细
+ * Created by hejq on 2018-06-19.
+ */
+@Repository
+public interface SaleOrderItemDao extends JpaSpecificationExecutor<SaleOrderItem>, JpaRepository<SaleOrderItem, Long> {
+
+    /**
+     * 通过主表id和明细序号查询单据是否存在
+     *
+     * @param puId 主表id
+     * @param number 明细序号
+     * @return
+     */
+    List<SaleOrderItem> findByPuIdAndNumber(Long puId, Short number);
+}

+ 0 - 1
src/main/java/com/uas/platform/b2b/dao/SaleTenderDao.java

@@ -15,7 +15,6 @@ import java.util.List;
 @Repository
 public interface SaleTenderDao extends JpaSpecificationExecutor<SaleTender>,JpaRepository<SaleTender, Long> {
 
-
     SaleTender findByEnUUAndVendUUAndCode(Long enUU, Long vendUU, String code);
 
     List<SaleTender> findByEnUUAndCode(Long enUU, String code);

+ 0 - 1
src/main/java/com/uas/platform/b2b/dao/SaleTenderItemDao.java

@@ -11,5 +11,4 @@ import org.springframework.stereotype.Repository;
 @Repository
 public interface SaleTenderItemDao extends JpaSpecificationExecutor<SaleTenderItem>,JpaRepository<SaleTenderItem, Long> {
 
-
 }

+ 2 - 1
src/main/java/com/uas/platform/b2b/dao/UserDao.java

@@ -26,10 +26,11 @@ public interface UserDao extends JpaSpecificationExecutor<User>, JpaRepository<U
 	public List<User> findUserByUserTel(String userTel);
 
 	/**
-	 * 按名字查询当前企业的用户信息
+	 * 按企业ID和个人ID查找个人
 	 * 
 	 * @param userName
 	 * @param enUU
+	 * @param userUU
 	 * @return
 	 */
 	@QueryHints({ @QueryHint(name = "org.hibernate.cacheable", value = "true") })

+ 1 - 0
src/main/java/com/uas/platform/b2b/data/support/DSUtils.java

@@ -72,6 +72,7 @@ public class DSUtils {
 		String currSrc = SpObserver.getSp();
 		ExecutorService executor = Executors.newSingleThreadExecutor();
 		FutureTask<Boolean> future = new FutureTask<Boolean>(new Callable<Boolean>() {
+			@Override
 			public Boolean call() {
 				SpObserver.putSp(ds.getId());
 				jdbcTemplate.execute("select 1 from dual");

+ 14 - 7
src/main/java/com/uas/platform/b2b/data/support/MultiDataSource.java

@@ -24,15 +24,18 @@ public class MultiDataSource extends DruidDataSource implements DataSource, Appl
 	private DruidDataSource dataSource = null;
 	private Properties connectionProperties = null;
 
-	public DruidPooledConnection getConnection() throws SQLException {
+	@Override
+    public DruidPooledConnection getConnection() throws SQLException {
 		return getDataSource().getConnection();
 	}
 
-	public Connection getConnection(String arg0, String arg1) throws SQLException {
+	@Override
+    public Connection getConnection(String arg0, String arg1) throws SQLException {
 		return getDataSource().getConnection(arg0, arg1);
 	}
 
-	public PrintWriter getLogWriter() {
+	@Override
+    public PrintWriter getLogWriter() {
 		return getDataSource().getLogWriter();
 	}
 
@@ -44,19 +47,23 @@ public class MultiDataSource extends DruidDataSource implements DataSource, Appl
 		this.connectionProperties = connectionProperties;
 	}
 
-	public int getLoginTimeout() {
+	@Override
+    public int getLoginTimeout() {
 		return getDataSource().getLoginTimeout();
 	}
 
-	public void setLogWriter(PrintWriter arg0) throws SQLException {
+	@Override
+    public void setLogWriter(PrintWriter arg0) throws SQLException {
 		getDataSource().setLogWriter(arg0);
 	}
 
-	public void setLoginTimeout(int arg0) {
+	@Override
+    public void setLoginTimeout(int arg0) {
 		getDataSource().setLoginTimeout(arg0);
 	}
 
-	public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
+	@Override
+    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
 		this.applicationContext = applicationContext;
 	}
 

+ 2 - 2
src/main/java/com/uas/platform/b2b/erp/controller/DeputyOrderDownController.java

@@ -80,7 +80,7 @@ public class DeputyOrderDownController {
 	@ResponseBody
 	public void downloadStatus(@RequestParam("data") String data) throws UnsupportedEncodingException {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
-		String idStr[] = jsonStr.split(",");
+		String[] idStr = jsonStr.split(",");
 		for (String id : idStr) {
 			if (id != null) {
 				DeputyOrder deOrder = deputyOrderDao.findOne(Long.valueOf(id));
@@ -289,7 +289,7 @@ public class DeputyOrderDownController {
 	@ResponseBody
 	public void updateDeleteLogs(@RequestParam("data") String data) throws UnsupportedEncodingException {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
-		String idStr[] = jsonStr.split(",");
+		String[] idStr = jsonStr.split(",");
 		for (String id : idStr) {
 			if (id != null) {
 				DeOrderDeleteLog log = deOrderDeleteLogDao.findOne(Long.valueOf(id));

+ 1 - 2
src/main/java/com/uas/platform/b2b/erp/controller/InquiryController.java

@@ -53,7 +53,7 @@ public class InquiryController {
      */
     @RequestMapping(method = RequestMethod.POST)
     @ResponseBody
-    public List<Inquiry> saveInquiries(@RequestParam("data") String data) throws UnsupportedEncodingException {
+    public List<Inquiry> saveInquiries(@RequestParam("data") String data) throws Exception {
         String jsonStr = URLDecoder.decode(data, "UTF-8");
         List<Inquiry> inquiries = FlexJsonUtils.fromJsonArray(jsonStr, Inquiry.class);
         purchaseInquiryService.saveList(inquiryService.convertInquiry(inquiries));
@@ -71,7 +71,6 @@ public class InquiryController {
 	@RequestMapping(value = "/v2", method = RequestMethod.POST)
 	@ResponseBody
 	public void saveInquiries(@RequestBody List<Inquiry> inquiries) {
-//        purchaseInquiryService.save(inquiryService.convertInquiry(inquiries));
 		logger.log("询价单", "上传询价单", inquiries.size());
 	}
 

+ 85 - 0
src/main/java/com/uas/platform/b2b/erp/controller/NotExistOrderController.java

@@ -0,0 +1,85 @@
+package com.uas.platform.b2b.erp.controller;
+
+import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
+import com.uas.platform.b2b.model.NotExistOrders;
+import com.uas.platform.b2b.service.NotExistOrderService;
+import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.temporary.model.OrderType;
+import com.uas.platform.core.logging.BufferedLoggerManager;
+import com.uas.platform.core.model.Status;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.net.URLDecoder;
+import java.util.List;
+
+/**
+ * 查询平台不存在的单据信息
+ *
+ * Created by hejq on 2018-06-19.
+ */
+@RequestMapping("/erp/notExistOrders")
+@RestController
+public class NotExistOrderController {
+
+    private final static ErpBufferedLogger logger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
+
+    @Autowired
+    private NotExistOrderService orderService;
+
+    /**
+     * 获取平台不存在的单据信息,采购单明细
+     */
+    @RequestMapping(value = "/saleItem", method = RequestMethod.GET)
+    public List<NotExistOrders> findNotExistSaleItem() {
+        List<NotExistOrders> orders = orderService.findByEnUUAndStatusAndType(SystemSession.getUser().getEnterprise().getUu(),
+                Status.NOT_UPLOAD.value(), OrderType.saleItem.name());
+        logger.log("查询未上传订单", "查询未上传采购单明细", orders.size());
+        return orders;
+    }
+
+    /**
+     * 根据返回id更新明细下载状态
+     *
+     * @throws Exception
+     */
+    @RequestMapping(value = "/back", method = RequestMethod.POST)
+    @ResponseBody
+    public void updateNotExistSaleItemStatus(@RequestParam("data") String data) throws Exception {
+        orderService.updateDownloadStatus(URLDecoder.decode(data, "UTF-8").split(","));
+        logger.log("采购订单", "ERP获取平台未上传单据返回更新下载状态", URLDecoder.decode(data, "UTF-8").split(",").length);
+    }
+
+    /**
+     * 获取平台不存在的单据信息,采购单明细
+     */
+    @RequestMapping(value = "/saleMain", method = RequestMethod.GET)
+    public List<NotExistOrders> findNotExistSaleMain() {
+        List<NotExistOrders> orders = orderService.findByEnUUAndStatusAndType(SystemSession.getUser().getEnterprise().getUu(),
+                Status.NOT_UPLOAD.value(), OrderType.saleItem.name());
+        logger.log("查询未上传订单", "查询未上传采购单", orders.size());
+        return orders;
+    }
+
+    /**
+     * 获取平台不存在的单据信息,委外单明细
+     */
+    @RequestMapping(value = "/makeItem", method = RequestMethod.GET)
+    public List<NotExistOrders> findNotExistMakeItem() {
+        List<NotExistOrders> orders = orderService.findByEnUUAndStatusAndType(SystemSession.getUser().getEnterprise().getUu(),
+                Status.NOT_UPLOAD.value(), OrderType.makeItem.name());
+        logger.log("查询未上传订单", "查询未上传委外单明细", orders.size());
+        return orders;
+    }
+
+    /**
+     * 获取平台不存在的单据信息,采购单明细
+     */
+    @RequestMapping(value = "/makeMain", method = RequestMethod.GET)
+    public List<NotExistOrders> findNotExistMakeMain() {
+        List<NotExistOrders> orders = orderService.findByEnUUAndStatusAndType(SystemSession.getUser().getEnterprise().getUu(),
+                Status.NOT_UPLOAD.value(), OrderType.saleItem.name());
+        logger.log("查询未上传订单", "查询未上传委外单", orders.size());
+        return orders;
+    }
+}

+ 1 - 142
src/main/java/com/uas/platform/b2b/erp/controller/ProdController.java

@@ -1,18 +1,12 @@
 package com.uas.platform.b2b.erp.controller;
 
 import com.uas.platform.b2b.erp.model.Prod;
-import com.uas.platform.b2b.erp.model.ProductSaler;
-import com.uas.platform.b2b.erp.service.ProdService;
 import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
 import com.uas.platform.b2b.model.NotExistProduct;
-import com.uas.platform.b2b.model.Product;
 import com.uas.platform.b2b.service.NotExistProductService;
-import com.uas.platform.b2b.service.ProductService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.core.logging.BufferedLoggerManager;
-import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.Status;
-import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
@@ -21,7 +15,6 @@ import org.springframework.web.bind.annotation.RequestMethod;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
-import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
 import java.util.ArrayList;
 import java.util.List;
@@ -37,147 +30,13 @@ import java.util.List;
 @RequestMapping("/erp/product")
 public class ProdController {
 
-	@Autowired
-	private ProdService prodService;
-
-	@Autowired
-	private ProductService productService;
-
 	@Autowired
     private NotExistProductService notExistProductService;
 
 	private final static ErpBufferedLogger logger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
 
-	/**
-	 * 将ERP的产品资料写到平台
-	 *
-	 * @param data
-	 * @return
-	 * @throws UnsupportedEncodingException
-	 */
-	@RequestMapping(method = RequestMethod.POST)
-	@ResponseBody
-	public void saveProducts(@RequestParam("data") String data) throws Exception {
-		String jsonStr = URLDecoder.decode(data, "UTF-8");
-		List<Prod> prods = FlexJsonUtils.fromJsonArray(jsonStr, Prod.class);
-		productService.save(prodService.convertProduct(prods));
-		logger.log("物料资料", "上传物料资料", prods.size());
-	}
-
-	/**
-	 * 定时任务更新物料信息
-	 *
-	 * @param data
-	 * @return
-	 * @throws UnsupportedEncodingException
-	 */
-	@RequestMapping(value = "/cycleupdate", method = RequestMethod.POST)
-	@ResponseBody
-	public void updateProducts(@RequestParam("data") String data) throws Exception {
-		String jsonStr = URLDecoder.decode(data, "UTF-8");
-		List<Prod> prods = FlexJsonUtils.fromJsonArray(jsonStr, Prod.class);
-		productService.save(prodService.convertProduct(prods));
-		logger.log("物料资料", "定时任务更新物料资料", prods.size());
-	}
-
-	/**
-	 * 将平台更新的ERP的物料数据回传回ERP
-	 *
-	 * @return
-	 */
-	@RequestMapping(value = "/backtouas", method = RequestMethod.GET)
-	@ResponseBody
-	public List<Prod> getProds() {
-		List<Prod> prods = new ArrayList<Prod>();
-		List<Product> products = productService.findBySourceAppAndDownloadstatus("ERP", Status.NOT_UPLOAD.value());
-		if (!CollectionUtils.isEmpty(products)) {
-			for (Product product : products) {
-				Prod prod = new Prod();
-				prod.setPr_uuid(product.getCmpUuId());
-				prod.setPr_id(product.getSourceId());
-				prod.setB2b_id(product.getId());
-				prods.add(prod);
-			}
-		}
-		return prods;
-	}
-
-	/**
-	 * 更新下载成功的状态
-	 *
-	 * @param data
-	 * @throws UnsupportedEncodingException
-	 */
-	@RequestMapping(value = "/refreshDownloadstatus", method = RequestMethod.POST)
-	@ResponseBody
-	public void refreshDownloadstatus(@RequestParam("data") String data) throws Exception {
-		productService.onProductDownSuccess(URLDecoder.decode(data, "UTF-8").split(","));
-	}
-
-	/**
-	 * UAS端禁用物料时调用此接口使B2B也禁用此物料
-	 * 通过物料编码(code)
-	 *
-	 * @param data 禁用的物料单号
-	 */
-	@RequestMapping(value = "/updateB2bEnabled", method = RequestMethod.POST)
-	@ResponseBody
-	public int updateB2bEnabled(@RequestParam("data") String data) throws Exception {
-		String code = URLDecoder.decode(data, "UTF-8");
-		Short b2bDisabled = Constant.YES;
-		return productService.updateB2bEnabled(code, b2bDisabled);
-	}
-
-	/**
-	 * UAS端反禁用物料接口
-	 * 通过物料编码(code)
-	 *
-	 * @param data 反禁用的物料单号
-	 */
-	@RequestMapping(value = "/updateB2bEnabled/audited", method = RequestMethod.POST)
-	@ResponseBody
-	public int updateB2bEnabledAudited(@RequestParam("data") String data) throws Exception {
-		String code = URLDecoder.decode(data, "UTF-8");
-		Short b2bDisabled = Constant.NO;
-		return productService.updateB2bEnabled(code, b2bDisabled);
-	}
-
-	/**
-	 * ERP个人物料同步到平台
-	 *
-	 * @author hejq
-	 * @date 2018-01-12 19:11
-	 * @param data
-	 * @throws UnsupportedEncodingException
-	 */
-	@RequestMapping(value = "/produser", method = RequestMethod.POST)
-	@ResponseBody
-	public void updateProdSaler(@RequestParam("data") String data) throws Exception {
-		String jsonStr = URLDecoder.decode(data, "UTF-8");
-        List<ProductSaler> productSalers = FlexJsonUtils.fromJsonArray(jsonStr, ProductSaler.class);
-        productService.updateProdSaler(productSalers);
-        logger.log("物料资料", "上传个人物料资料", productSalers.size());
-	}
-
-    /**
-     * ERP个人物料删除同步状态到平台
-     *
-     * @author hejq
-     * @date 2018-01-12 19:11
-     * @param data
-     * @throws UnsupportedEncodingException
-     */
-    @RequestMapping(value = "/produser/quit", method = RequestMethod.POST)
-    @ResponseBody
-    public void uploadProductSalerForCancel(@RequestParam("data") String data) throws Exception {
-        String jsonStr = URLDecoder.decode(data, "UTF-8");
-        List<ProductSaler> productSalers = FlexJsonUtils.fromJsonArray(jsonStr, ProductSaler.class);
-        productService.quitProdSaler(productSalers);
-        logger.log("物料资料", "ERP取消个人物料同步到平台", productSalers.size());
-    }
-
     /**
-     * 获取未上传的物料信息
+     * 获取未下载的物料信息
      * @return
      */
     @RequestMapping(value = "/notExistProds", method = RequestMethod.GET)

+ 21 - 4
src/main/java/com/uas/platform/b2b/erp/controller/PurchaseController.java

@@ -1,12 +1,11 @@
 package com.uas.platform.b2b.erp.controller;
 
-import com.uas.platform.b2b.erp.model.MessageLog;
-import com.uas.platform.b2b.erp.model.Purchase;
-import com.uas.platform.b2b.erp.model.PurchaseDetailEnd;
-import com.uas.platform.b2b.erp.model.PurchaseReply;
+import com.uas.platform.b2b.erp.model.*;
 import com.uas.platform.b2b.erp.service.PurchaseService;
 import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
+import com.uas.platform.b2b.openapi.model.SaleItem;
 import com.uas.platform.b2b.service.PurchaseOrderService;
+import com.uas.platform.b2b.service.SaleOrderItemService;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -37,6 +36,9 @@ public class PurchaseController {
 	@Autowired
 	private PurchaseOrderService purchaseOrderService;
 
+	@Autowired
+    private SaleOrderItemService itemService;
+
 	private final static ErpBufferedLogger logger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
 
 	/**
@@ -136,4 +138,19 @@ public class PurchaseController {
     public void onPrintSendSuccess(@RequestParam("data") String data) throws UnsupportedEncodingException {
         purchaseOrderService.onPrintSendSuccess(URLDecoder.decode(data, "UTF-8").split(","));
     }
+
+    /**
+     * 将未上传的采购明细上传到平台
+     *
+     * @param data
+     * @throws UnsupportedEncodingException
+     */
+    @RequestMapping(value = "/item", method = RequestMethod.POST)
+    @ResponseBody
+    public void saveSaleItem(@RequestParam("data") String data) throws UnsupportedEncodingException {
+        String jsonStr = URLDecoder.decode(data, "UTF-8");
+        List<PurchaseDetail> details = FlexJsonUtils.fromJsonArray(jsonStr, PurchaseDetail.class);
+        itemService.save(itemService.covert(details));
+        logger.log("采购单", "上传采购单明细", details.size());
+    }
 }

+ 2 - 2
src/main/java/com/uas/platform/b2b/erp/controller/PurchaseNotifyController.java

@@ -58,9 +58,9 @@ public class PurchaseNotifyController {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
 		List<PurchaseNotify> notifies = FlexJsonUtils.fromJsonArray(jsonStr, PurchaseNotify.class);
 		List<PurchaseNotice> noticeList = purchaseNotifyService.convertPurchaseNotify(notifies);
-		purchaseNoticeService.save(noticeList);
+		noticeList = purchaseNoticeService.save(noticeList);
 		logger.log("送货提醒", "上传送货提醒", notifies.size());
-		return purchaseNotifyService.getB2bId(notifies);
+		return purchaseNotifyService.getB2bIdByNotices(noticeList);
 	}
 
 	/**

+ 4 - 4
src/main/java/com/uas/platform/b2b/erp/controller/PurchaseProdInOutController.java

@@ -94,7 +94,7 @@ public class PurchaseProdInOutController {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
 		List<ProdInOutRefreshPrice> prodInOuts = FlexJsonUtils.fromJsonArray(jsonStr, ProdInOutRefreshPrice.class);
 		// 更新采购验收单明细的价格
-		purchaseAcceptService.save(purchaseProdInOutService.convertPirceForProdIn(prodInOuts));
+		purchaseAcceptService.batchSave(purchaseProdInOutService.convertPirceForProdIn(prodInOuts));
 		// 更新关联的应付发票的价格
 		purchaseApBillService.refreshPrice(prodInOuts);
 		logger.log("批量更新采购验收单单价", "上传批量更新采购验收单单价", prodInOuts.size());
@@ -113,7 +113,7 @@ public class PurchaseProdInOutController {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
 		List<ProdInOutRefreshPrice> prodInOuts = FlexJsonUtils.fromJsonArray(jsonStr, ProdInOutRefreshPrice.class);
 		// 更新采购验退单的价格
-		returnService.save(returnService.convertPirceForProdIn(prodInOuts));
+		returnService.batchSave(returnService.convertPirceForProdIn(prodInOuts));
 		// 更新关联的应付发票的价格
 		purchaseApBillService.refreshPrice(prodInOuts);
 		logger.log("批量更新采购验退单单价", "上传批量更新采购验退单单价", prodInOuts.size());
@@ -131,7 +131,7 @@ public class PurchaseProdInOutController {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
 		List<ProdInOutRefreshPrice> prodInOuts = FlexJsonUtils.fromJsonArray(jsonStr, ProdInOutRefreshPrice.class);
 		// 更新委外验收单的价格
-		makeAcceptService.save(makeAcceptService.convertPirceForProdIn(prodInOuts));
+		makeAcceptService.batchSave(makeAcceptService.convertPirceForProdIn(prodInOuts));
 		// 更新关联的应付发票的价格
 		purchaseApBillService.refreshPrice(prodInOuts);
 		logger.log("批量更新委外验收单单价", "上传批量更新委外验收单单价", prodInOuts.size());
@@ -149,7 +149,7 @@ public class PurchaseProdInOutController {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
 		List<ProdInOutRefreshPrice> prodInOuts = FlexJsonUtils.fromJsonArray(jsonStr, ProdInOutRefreshPrice.class);
 		// 更新委外验退单的价格
-		makeReturnService.save(makeReturnService.convertPirceForProdIn(prodInOuts));
+		makeReturnService.batchSave(makeReturnService.convertPirceForProdIn(prodInOuts));
 		// 更新关联的应付发票的价格
 		purchaseApBillService.refreshPrice(prodInOuts);
 		logger.log("批量更新委外验退单单价", "上传批量更新委外验退单单价", prodInOuts.size());

+ 2 - 2
src/main/java/com/uas/platform/b2b/erp/controller/PurchaseQuaMRBController.java

@@ -37,7 +37,7 @@ public class PurchaseQuaMRBController {
 	private final static ErpBufferedLogger logger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
 
 	/**
-	 * 将ERP的采购变更单写到平台
+	 * 将ERP的MRB单据上传到平台
 	 * 
 	 * @param data
 	 * @return
@@ -49,7 +49,7 @@ public class PurchaseQuaMRBController {
 		String jsonStr = URLDecoder.decode(data, "UTF-8");
 		List<PurchaseQuaMRB> quaMRBs = FlexJsonUtils.fromJsonArray(jsonStr, PurchaseQuaMRB.class);
 		purchaseMRBService.save(purchaseQuaMRBService.convertMRBs(quaMRBs));
-		logger.log("采购变更单", "上传采购验退单", quaMRBs.size());
+		logger.log("MRB单", "上传MRB单", quaMRBs.size());
 		return purchaseQuaMRBService.getB2bId(quaMRBs);
 	}
 

+ 25 - 1
src/main/java/com/uas/platform/b2b/erp/controller/SaleDownChangeController.java

@@ -38,7 +38,7 @@ public class SaleDownChangeController {
 	private final static ErpBufferedLogger logger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
 
 	/**
-	 * 卖家ERP从平台获取未回复的采购变更单
+	 * 卖家ERP从平台获取待上传的采购变更单
 	 * 
 	 * @return
 	 */
@@ -78,6 +78,18 @@ public class SaleDownChangeController {
 		logger.log("客户采购变更单", "上传客户采购变更单的回复信息", replies.size());
 	}
 
+	/**
+	 *将卖家ERP的变更单回复信息写到平台,并按信息修改采购单(买家为b2b用户)
+	 */
+	@RequestMapping(value = "/reply/b2b", method = RequestMethod.POST)
+	@ResponseBody
+	public void  saveChangeRepliesB2b(@RequestParam("data") String data) throws UnsupportedEncodingException {
+		String jsonStr = URLDecoder.decode(data, "UTF-8");
+		List<SaleDownChangeReply> replies = FlexJsonUtils.fromJsonArray(jsonStr, SaleDownChangeReply.class);
+		purchaseOrderChangeService.saveb2b(replies);
+		logger.log("客户采购变更单", "下载b2b客户采购变更单的回复信息", replies.size());
+	}
+
 	/**
 	 * 卖家ERP从平台获取在平台回复的记录
 	 * 
@@ -103,4 +115,16 @@ public class SaleDownChangeController {
 		purchaseOrderChangeService.onSaleDownChangeReplySuccess(URLDecoder.decode(data, "UTF-8").split(","));
 	}
 
+	/**
+	 * 卖家ERP从平台获取待上传的采购变更单(买方b2b)
+	 *
+	 * @return
+	 */
+	@RequestMapping(value = "/b2b",method = RequestMethod.GET)
+	@ResponseBody
+	public List<SaleDownChange> getOrderChangesB2b() {
+		List<SaleDownChange> changes = saleDownChangeService.convertPurchaseOrderChange(purchaseOrderChangeService.findNotUploadOrderChangeB2b());
+		logger.log("客户采购变更单", "下载客户采购变更单", changes.size());
+		return changes;
+	}
 }

+ 10 - 4
src/main/java/com/uas/platform/b2b/erp/controller/VendorRecommendController.java

@@ -15,7 +15,7 @@ import java.util.List;
 
 /**
  * 供应商推荐
- * @author  dongbw
+ * Created by dongbw
  * 18/01/18 14:00.
  */
 @RestController
@@ -38,7 +38,9 @@ public class VendorRecommendController {
      */
     @RequestMapping(value = "/list", method = RequestMethod.GET)
     public Page<VendorRecommend> getVendorRecommend (Long enUU, String productMatchCondition, String enterpriseMatchCondition, int page, int size) {
-        return vendorService.getVendorRecommend(enUU, productMatchCondition, enterpriseMatchCondition, page, size);
+        Page<VendorRecommend> vendorRecommendPage = vendorService.getVendorRecommend(enUU, productMatchCondition, enterpriseMatchCondition, page, size);
+//        logger.log("供应商推荐","获取当前企业推荐供应商:" + enUU, vendorRecommendPage.getNumberOfElements());
+        return vendorRecommendPage;
     }
 
     /**
@@ -50,7 +52,9 @@ public class VendorRecommendController {
      */
     @RequestMapping(value = "/product/associate", method = RequestMethod.GET)
     public List<Product> getProductAssociate (String field, String condition) {
-        return vendorService.getProductAssociate(field, condition);
+        List<Product> products = vendorService.getProductAssociate(field, condition);
+//        logger.log("供应商推荐","根据条件获取物料型号和品牌值对", products.size());
+        return products;
     }
 
     /**
@@ -65,6 +69,8 @@ public class VendorRecommendController {
      */
     @RequestMapping(value = "/detail", method = RequestMethod.GET)
     public Page<Product> getVendorRecommendDetail(int page, int size, Long enUU, Long vendUU, String productMatchCondition, String whereCondition) {
-        return vendorService.getProductsByVendorRecommend(page, size, enUU, vendUU, productMatchCondition, whereCondition);
+        Page<Product> productPage = vendorService.getProductsByVendorRecommend(page, size, enUU, vendUU, productMatchCondition, whereCondition);
+//        logger.log("供应商推荐","获取当前企业推荐供应商:" + enUU, productPage.getNumberOfElements());
+        return productPage;
     }
 }

+ 60 - 0
src/main/java/com/uas/platform/b2b/erp/exception/ExceptionNote.java

@@ -0,0 +1,60 @@
+package com.uas.platform.b2b.erp.exception;
+
+/**
+ * 异常分类信息
+ *
+ * @author hejq
+ * @date 2018-07-03
+ */
+public enum ExceptionNote {
+
+    /**
+     * 委外单未找到
+     */
+    MAKE_NOTFOUND("委外单"),
+
+    /**
+     * 采购单主表未找到
+     */
+    SALE_NOTFOUND("采购单主表"),
+
+    /**
+     * 采购单明细未找到
+     */
+    SALEITEM_NOTFOUND("采购单明细"),
+
+    /**
+     * 采购单物料未找到
+     */
+    SALE_PRODUCT_NOTFOUND("采购单物料"),
+
+    /**
+     * 委外单物料未找到
+     */
+    MAKE_PRODUCT_NOTFOUND("委外单物料"),
+
+    /**
+     * 询价单物料未找到
+     */
+    INQUIRY_PRODUCT_NOTFOUND("询价单物料"),
+
+    /**
+     * 打样申请单物料未找到
+     */
+    PROOF_PRODUCT_NOTFOUND("打样申请单物料"),
+
+    /**
+     * 采购变更单变更物料未找到
+     */
+    PURC_CHANGE_PRODUCT_NOTFOUND("采购变更单变更物料");
+
+    private final String phrase;
+
+    ExceptionNote(String phrase) {
+        this.phrase = phrase;
+    }
+
+    public String getPhrase() {
+        return this.phrase;
+    }
+}

+ 34 - 0
src/main/java/com/uas/platform/b2b/erp/exception/NotFoundUtils.java

@@ -0,0 +1,34 @@
+package com.uas.platform.b2b.erp.exception;
+
+
+import com.uas.platform.core.exception.NotFoundException;
+
+
+/**
+ * 单据未找到异常信息
+ *
+ * @author hejq
+ * @date 2018-07-02
+ */
+public class NotFoundUtils {
+
+    /**
+     * 物料未找到
+     *
+     * @param paramString 异常信息
+     * @param sign 标志
+     */
+    public static void ProductNotFound(String paramString, String sign) {
+        throw new NotFoundException(String.format("%s未找到", new Object[]{paramString}), new Throwable(sign));
+    }
+
+    /**
+     * 单据未找到
+     *
+     * @param paramString 异常信息
+     * @param sign 标志
+     */
+    public static void OrderNotFound(String paramString, String sign) {
+        throw new NotFoundException(String.format("%s未找到", new Object[]{paramString}), new Throwable(sign));
+    }
+}

+ 0 - 13
src/main/java/com/uas/platform/b2b/erp/model/APCheckDetail.java

@@ -4,19 +4,6 @@ import com.uas.platform.b2b.model.PurchaseApCheckItem;
 
 public class APCheckDetail {
 	
-//	private Integer apd_number; // 明细行号
-//	private Long apd_prid;// 客户物料ID #
-//	private String apd_ordercode; // 客户出入库单号
-//	private String apd_orderclass; // 客户出入库类型 #
-//	private Long apd_orderdetno; // 客户出入库序号 #
-//	private Double apd_price; // 单价
-//	private Double apd_checkqty; // 对账数量
-//	private Double apd_amount; // 本次对账金额
-//	private Double apd_custcheckqty; // 客户确认数量 #
-//	private String apd_remark; // 备注
-//	private Long apd_id;// id 
-//	private Long apd_apid; // 关联Id 
-//	private Integer apd_status; // 对账状态 #
     private Short ad_detno; // 明细行号
 	private Long ad_prid;// 客户物料ID #
 	private String ad_inoutno; // 客户出入库单号

+ 6 - 2
src/main/java/com/uas/platform/b2b/erp/model/AcceptNotify.java

@@ -10,6 +10,9 @@ import java.util.*;
 
 /**
  * 买家ERP的收料通知单
+ *
+ * @author hejq
+ * @date 2018-06-28 17:18
  */
 public class AcceptNotify {
 
@@ -165,8 +168,9 @@ public class AcceptNotify {
 		send.setCode(this.an_sendcode == null ? String.valueOf(System.currentTimeMillis()) : this.an_sendcode);
 		Set<SaleSendItem> items = new HashSet<SaleSendItem>();
 		if (!CollectionUtils.isEmpty(details)) {
-			for (AcceptNotifyDetail detail : details)
-				items.add(detail.convert());
+			for (AcceptNotifyDetail detail : details) {
+                items.add(detail.convert());
+            }
 		}
 		send.setSendItems(items);
 		return send;

+ 5 - 3
src/main/java/com/uas/platform/b2b/erp/model/ErpLog.java

@@ -180,15 +180,17 @@ public class ErpLog extends BufferedLogable implements Serializable {
 		this.enUU = SystemSession.getUser().getEnterprise().getUu();
 		this.title = title;
 		this.message = message;
-		this.time = new Date().getTime();
+		this.time = System.currentTimeMillis();
 		this.total = total;
 		this.userUU = SystemSession.getUser().getUserUU();
 		this.ip = SystemSession.getUser().getIp();
 	}
 
-	public void bufferedLog(String bufferedMessage) {
+	@Override
+    public void bufferedLog(String bufferedMessage) {
+		Integer arraySize = 7;
 		String[] strArray = bufferedMessage.split(separator);
-		if (strArray.length == 7) {
+		if (strArray.length == arraySize) {
 			this.time = Long.parseLong(strArray[0]);
 			this.ip = strArray[1];
 			this.enUU = Long.parseLong(strArray[2]);

+ 11 - 8
src/main/java/com/uas/platform/b2b/erp/model/InquiryDetail.java

@@ -17,7 +17,12 @@ import java.util.*;
  */
 public class InquiryDetail {
 
-	private Long b2b_id_id;
+    /**
+     * 自动询价
+     */
+    private static String AUTO_INQUIRY = "自动询价";
+
+    private Long b2b_id_id;
 	private short id_detno;
 	private String id_prodcode;
 	private String id_currency;
@@ -293,16 +298,14 @@ public class InquiryDetail {
 		inquiryItem.setUserUU(this.ve_buyeruu);
 		inquiryItem.setVendUU(this.ve_uu);
 		inquiryItem.setVendUserUU(this.ve_contactuu);
-		Product product = new Product();
-		product.setCode(this.id_prodcode);
-		product.setEnUU(SystemSession.getUser().getEnterprise().getUu());
-		inquiryItem.setProduct(product);
+		inquiryItem.setProductCode(this.id_prodcode);
 		inquiryItem.setSourceId(this.id_id);
 		inquiryItem.setStatus((short) Status.NOT_REPLY.value());
 		inquiryItem.setSendStatus((short) Status.NOT_UPLOAD.value());
 		inquiryItem.setFromDate(this.id_myfromdate);
 		inquiryItem.setToDate(this.id_mytodate);
-		if (!CollectionUtils.isEmpty(this.dets)) {// 都不会为空
+		// 都不会为空
+		if (!CollectionUtils.isEmpty(this.dets)) {
 			Set<PurchaseInquiryReply> replies = new HashSet<PurchaseInquiryReply>();
 			for (InquiryDetailDet det : this.dets) {
 				replies.add(det.convert());
@@ -349,7 +352,7 @@ public class InquiryDetail {
 				files.add(new RemoteFile(attach));
 			}
 		}
-		if ("自动询价".equals(item.getInquiry().getRemark())) {
+		if (AUTO_INQUIRY.equals(item.getInquiry().getRemark())) {
             this.id_quto = 1;
         }
 	}
@@ -416,7 +419,7 @@ public class InquiryDetail {
                 files.add(new RemoteFile(attach));
             }
         }
-        if ("自动询价".equals(item.getInquiry().getRemark())) {
+        if (AUTO_INQUIRY.equals(item.getInquiry().getRemark())) {
             this.id_quto = 1;
         }
 	}

+ 120 - 26
src/main/java/com/uas/platform/b2b/erp/model/Make.java

@@ -13,34 +13,128 @@ import com.uas.platform.core.model.Status;
  * ERP系统的委外加工单
  * 
  * @author suntg
- * 
  */
 public class Make {
 
-	private Long ma_id;// id
-	private String ma_code;// 委外编号
-	private Date ma_date;// 单据日期
-	private String ma_tasktype;// 单据类型
-	private Date ma_requiredate;// 需求日期
-	private Long ve_uu;// 供应商UU号
-	private String ma_prodcode;// 物料编号
-	private Double ma_qty;// 需求数量
-	private Double ma_makeqty;// 已生产数
-	private String ma_kind;// 工单类型
-	private Double ma_price;// 加工单价
-	private Double ma_total;// 加工金额
-	private String ma_currency;// 币别
-	private Float ma_rate;// 汇率
-	private Float ma_taxrate;// 税率
-	private String ma_shipaddresscode;// 收货地址
-	private String ma_payments;// 付款方式
-	private String ma_recorder;// 录入人
-	private Date ma_planbegindate;// 计划开工日期
-	private Date ma_planenddate;// 计划完工日期
-	private String ma_auditman;// 审核人
-	private String ma_remark;// 备注
-	private String ma_factory;// 送货工厂
-	private List<MakeMaterial> materials;// 用料明细
+	/**
+	 * id
+	 */
+	private Long ma_id;
+
+	/**
+	 * 委外编号
+	 */
+	private String ma_code;
+
+	/**
+	 * 单据日期
+	 */
+	private Date ma_date;
+
+	/**
+	 * 单据类型
+	 */
+	private String ma_tasktype;
+
+	/**
+	 * 需求日期
+	 */
+	private Date ma_requiredate;
+
+	/**
+	 * 供应商UU号
+	 */
+	private Long ve_uu;
+
+	/**
+	 * 物料编号
+	 */
+	private String ma_prodcode;
+
+	/**
+	 * 需求数量
+	 */
+	private Double ma_qty;
+
+	/**
+	 * 已生产数
+	 */
+	private Double ma_makeqty;
+
+	/**
+	 * 工单类型
+	 */
+	private String ma_kind;
+
+	/**
+	 * 加工单价
+	 */
+	private Double ma_price;
+
+	/**
+	 * 加工金额
+	 */
+	private Double ma_total;
+
+	/**
+	 * 币别
+	 */
+	private String ma_currency;
+
+	/**
+	 * 汇率
+	 */
+	private Float ma_rate;
+
+	/**
+	 * 税率
+	 */
+	private Float ma_taxrate;
+
+	/**
+	 * 收货地址
+	 */
+	private String ma_shipaddresscode;
+
+	/**
+	 * 付款方式
+	 */
+	private String ma_payments;
+
+	/**
+	 * 录入人
+	 */
+	private String ma_recorder;
+
+	/**
+	 * 计划开工日期
+	 */
+	private Date ma_planbegindate;
+
+	/**
+	 * 计划完工日期
+	 */
+	private Date ma_planenddate;
+
+	/**
+	 * 审核人
+	 */
+	private String ma_auditman;
+
+	/**
+	 * 备注
+	 */
+	private String ma_remark;
+
+	/**
+	 * 送货工厂
+	 */
+	private String ma_factory;
+
+	/**
+	 * 用料明细
+	 */
+	private List<MakeMaterial> materials;
 
 	public String getMa_factory() {
 		return ma_factory;
@@ -242,7 +336,7 @@ public class Make {
 		make.setComplete(ma_planenddate);
 		make.setCurrency(ma_currency);
 		make.setDate(ma_date);
-		make.setDelivery(ma_date);
+		make.setDelivery(ma_requiredate);
 		make.setEnd(Constant.NO);
 		make.setEnUU(SystemSession.getUser().getEnterprise().getUu());
 		make.setEnterprise(new EnterpriseInfo(SystemSession.getUser().getEnterprise()));

+ 70 - 0
src/main/java/com/uas/platform/b2b/erp/model/OrderDetailPrice.java

@@ -0,0 +1,70 @@
+package com.uas.platform.b2b.erp.model;
+
+import java.math.BigDecimal;
+
+/**
+ * 订单价格更新
+ *
+ * Created by hejq on 2018-06-28.
+ */
+public class OrderDetailPrice {
+
+    /**
+     * 主键id
+     */
+    private Long id;
+
+    /**
+     * 价格
+     */
+    private Double price;
+
+    /**
+     * 税率
+     */
+    private BigDecimal taxrate;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Double getPrice() {
+        return price;
+    }
+
+    public void setPrice(Double price) {
+        this.price = price;
+    }
+
+    public BigDecimal getTaxrate() {
+        return taxrate;
+    }
+
+    public void setTaxrate(BigDecimal taxrate) {
+        this.taxrate = taxrate;
+    }
+
+    /**
+     * 封装采购价格信息
+     *
+     * @param id 采购明细id
+     * @param price 采购价格
+     * @param taxrate 税率
+     */
+    public OrderDetailPrice(Long id, Double price, Double taxrate) {
+        this.id = id;
+        this.price = price;
+        this.taxrate = new java.math.BigDecimal(taxrate);
+    }
+
+    /**
+     * 无参构造
+     */
+    public OrderDetailPrice() {
+    }
+
+}

+ 6 - 0
src/main/java/com/uas/platform/b2b/erp/model/ProdInOutRefreshPrice.java

@@ -1,5 +1,11 @@
 package com.uas.platform.b2b.erp.model;
 
+/**
+ * ERP批量更新价格信息
+ * 
+ * @author hejq
+ * @date 2018-07-19 16:56
+ */
 public class ProdInOutRefreshPrice {
 
 	/**

+ 21 - 5
src/main/java/com/uas/platform/b2b/erp/model/ProductSample.java

@@ -10,7 +10,7 @@ import java.util.List;
 import java.util.Set;
 
 /**
- * 买家ERP系统的采购询价
+ * 买家ERP系统的打样申请
  * 
  * @author yingp
  * 
@@ -23,15 +23,31 @@ public class ProductSample {
 	private Date ps_indate;
 	private Long ps_appmanuu;
 	private String ps_prodcode;
-	private String ps_isfree;// 是否收费
+
+	/**
+	 * 是否收费
+	 */
+	private String ps_isfree;
 	private Date ps_delivery;
 	private String ps_envrequire;
 	private String ps_scope;
 	private String ps_remark;
-	private String ps_attach;// 附件
-	private List<Attach> attaches;// 附件
+
+	/**
+	 * 附件
+	 */
+	private String ps_attach;
+
+	/**
+	 * 附件
+	 */
+	private List<Attach> attaches;
 	private List<ProductSampleDetail> details;
-	private Long ps_b2bid;// B2Bid
+
+	/**
+	 * b2bID
+	 */
+	private Long ps_b2bid;
 
 	public Long getPs_id() {
 		return ps_id;

+ 11 - 5
src/main/java/com/uas/platform/b2b/erp/model/Purchase.java

@@ -355,7 +355,8 @@ public class Purchase {
 		user.setUserName(this.em_name);
 		user.setUserEmail(this.em_email);
 		order.setUser(user);
-		if (this.em_uu != null) {// ERP单据中采购员存在UU号
+		// ERP单据中采购员存在UU号
+		if (this.em_uu != null) {
 			order.setUserUU(this.em_uu);
 		}
 		order.setPayments(this.pu_payments);
@@ -365,13 +366,18 @@ public class Purchase {
 		order.setStatus((short) Status.NOT_REPLY.value());
 		order.setSendStatus((short) Status.NOT_UPLOAD.value());
 		order.setType(this.pu_kind);
-		order.setVendUU(this.ve_uu);// 设为单据中供应商UU
-		order.setVendUserUU(this.ve_contactuu);// 设为ERP中单据供应商联系人UU
+		// 设为单据中供应商UU
+		order.setVendUU(this.ve_uu);
+		// 设为ERP中单据供应商联系人UU
+		order.setVendUserUU(this.ve_contactuu);
 		order.setAuditor(this.pu_auditman);
-		order.setReceiveName(this.pu_receivename);// 应付供应商
+		// 应付供应商
+		order.setReceiveName(this.pu_receivename);
 		order.setReceiveCode(this.pu_receivecode);
-		order.setDisplay(Constant.YES);// 设为未查看
+		// 设为未查看
+		order.setDisplay(Constant.YES);
 		order.setErpId(this.pu_id);
+		order.setSource("UAS");
 		if (!CollectionUtils.isEmpty(this.purchaseDetails)) {
 			Set<PurcOrderInfoItem> items = new HashSet<PurcOrderInfoItem>();
 			for (PurchaseDetail detail : this.purchaseDetails) {

+ 29 - 2
src/main/java/com/uas/platform/b2b/erp/model/PurchaseNotify.java

@@ -16,17 +16,44 @@ import java.util.Date;
  */
 public class PurchaseNotify {
 
+	/**
+	 * 原id,erp id
+	 */
 	private long pn_id;
+	/**
+	 * 供应商UU号
+	 */
 	private long ve_uu;
+	/**
+	 * 录入日期
+	 */
 	private Date pn_indate;
+	/**
+	 * 需求数量
+	 */
 	private Double pn_qty;
+	/**
+	 * 要求发货日期
+	 */
 	private Date pn_delivery;
+	/**
+	 * 订单编号
+	 */
 	private String pn_ordercode;
+	/**
+	 * 订单明细序号
+	 */
 	private Short pn_orderdetno;
+	/**
+	 * 备注
+	 */
 	private String pn_remark;
+	/**
+	 * 已发货数量
+	 */
 	private Double pn_endqty;
-	private Double pr_zxbzs;// 物料最小包装数
-	private Long pn_b2bid; //b2bid
+	private Double pr_zxbzs; // 物料最小包装数
+	private Long pn_b2bid; // b2bid
 
 	public long getPn_id() {
 		return pn_id;

+ 0 - 8
src/main/java/com/uas/platform/b2b/erp/model/PurchaseProdInOutDetail.java

@@ -162,14 +162,6 @@ public class PurchaseProdInOutDetail {
 		returnItem.setWhname(this.pd_whname);
 		returnItem.setOrderCode(this.pd_ordercode);
         returnItem.setOrderDetno(this.pd_orderdetno);
-		if (StringUtils.hasText(this.pd_ordercode)) {
-			PurchaseOrder order = new PurchaseOrder();
-			order.setCode(this.pd_ordercode);
-			PurchaseOrderItem orderItem = new PurchaseOrderItem();
-			orderItem.setNumber(this.pd_orderdetno);
-			orderItem.setOrder(order);
-			returnItem.setOrderItem(orderItem);
-		}
 		return returnItem;
 	}
 

+ 2 - 1
src/main/java/com/uas/platform/b2b/erp/model/PurchaseReply.java

@@ -129,7 +129,8 @@ public class PurchaseReply implements Serializable{
 		setPr_pucode(orderReply.getOrderItem().getOrder().getCode());
 		setPr_pddetno(orderReply.getOrderItem().getNumber());
 		setB2b_pr_id(orderReply.getId());
-		setPr_recorder(orderReply.getRecorder());//recorder录入人
+		//recorder录入人
+		setPr_recorder(orderReply.getRecorder());
 		setPr_type(orderReply.getType());
 		setPr_id(orderReply.getErpId());
 	}

+ 3 - 2
src/main/java/com/uas/platform/b2b/erp/model/Quotation.java

@@ -177,8 +177,9 @@ public class Quotation {
 		quotation.setEnvironment(this.qu_environment);
 		Set<SaleQuotationItem> quotationItems = new HashSet<SaleQuotationItem>();
 		if (!CollectionUtils.isEmpty(this.details)) {
-			for (QuotationDetail detail : this.details)
-				quotationItems.add(detail.convert());
+			for (QuotationDetail detail : this.details) {
+                quotationItems.add(detail.convert());
+            }
 		}
 		quotation.setQuotationItems(quotationItems);
 		quotation.setErpId(this.qu_id);

+ 6 - 4
src/main/java/com/uas/platform/b2b/erp/model/QuotationDetail.java

@@ -148,8 +148,9 @@ public class QuotationDetail {
 		item.setCustProductCode(this.qd_custprodcode);
 		Set<SaleQuotationPrice> prices = new HashSet<SaleQuotationPrice>();
 		if (!CollectionUtils.isEmpty(this.dets)) {
-			for (QuotationDetailDet det : this.dets)
-				prices.add(det.convert());
+			for (QuotationDetailDet det : this.dets) {
+                prices.add(det.convert());
+            }
 		}
 		item.setPrices(prices);
 		return item;
@@ -167,8 +168,9 @@ public class QuotationDetail {
 		this.qd_zxdl = item.getMinOrderQty();
 		List<QuotationDetailDet> detailDets = new ArrayList<QuotationDetailDet>();
 		if(! CollectionUtils.isEmpty(item.getPrices())){
-			for(SaleQuotationPrice price : item.getPrices())
-				detailDets.add(new QuotationDetailDet(price));
+			for(SaleQuotationPrice price : item.getPrices()) {
+                detailDets.add(new QuotationDetailDet(price));
+            }
 		}
 		this.dets = detailDets;
 	}

+ 4 - 4
src/main/java/com/uas/platform/b2b/erp/model/SaleDownChangeDetail.java

@@ -118,10 +118,10 @@ public class SaleDownChangeDetail {
 
 	public SaleDownChangeDetail(PurchaseOrderChangeItem changeItem) {
 		this.scd_detno = changeItem.getNumber();
-		this.scd_newcustprodcode = changeItem.getNewProduct().getCode();
-		this.scd_newcustproddetail = changeItem.getNewProduct().getTitle();
-		this.scd_newcustprodspec = changeItem.getNewProduct().getSpec();
-		this.scd_newcustprodunit = changeItem.getNewProduct().getUnit();
+		this.scd_newcustprodcode = changeItem.getNewProduct() != null ?changeItem.getNewProduct().getCode() : null;
+		this.scd_newcustproddetail = changeItem.getNewProduct() != null ?changeItem.getNewProduct().getTitle() : null;
+		this.scd_newcustprodspec = changeItem.getNewProduct() != null ?changeItem.getNewProduct().getSpec() : null;
+		this.scd_newcustprodunit = changeItem.getNewProduct() != null ?changeItem.getNewProduct().getUnit() : null;
 		this.scd_newdelivery = changeItem.getNewDelivery();
 		this.scd_newprice = changeItem.getNewPrice();
 		this.scd_newqty = changeItem.getNewQty();

+ 3 - 2
src/main/java/com/uas/platform/b2b/erp/model/SaleOut.java

@@ -156,8 +156,9 @@ public class SaleOut {
 			for (SaleOutDetail detail : this.details) {
 				SaleSendItem item = detail.convert();
 				// 如果存在关联的送货提醒,则需要下达到买家
-				if (item.getNoticeId() != null)
-					send.setSendStatus((short) Status.NOT_UPLOAD.value());
+				if (item.getNoticeId() != null) {
+                    send.setSendStatus((short) Status.NOT_UPLOAD.value());
+                }
 				items.add(item);
 			}
 		}

+ 2 - 4
src/main/java/com/uas/platform/b2b/erp/model/SaleProdInOutDownDetail.java

@@ -123,10 +123,8 @@ public class SaleProdInOutDownDetail {
 		this.pd_batchcode = returnItem.getBatchCode();
 		this.pd_detno = returnItem.getNumber();
 		this.pd_outqty = returnItem.getQty();
-		if (returnItem.getOrderItem() != null) {
-			this.pd_ordercode = returnItem.getOrderItem().getOrder().getCode();
-			this.pd_orderdetno = returnItem.getOrderItem().getNumber();
-		}
+		this.pd_ordercode = returnItem.getOrderCode();
+		this.pd_orderdetno = returnItem.getOrderDetno();
 		this.pd_orderprice = returnItem.getOrderPrice();
 		this.pd_remark = returnItem.getRemark();
 		this.pd_taxrate = returnItem.getTaxrate();

+ 14 - 7
src/main/java/com/uas/platform/b2b/erp/service/InquiryService.java

@@ -10,15 +10,22 @@ import com.uas.platform.b2b.model.SaleQuotationItem;
 
 import java.util.List;
 
+/**
+ * 询价单保存操作
+ *
+ * @author hejq
+ * @date 2018-07-17 16:49
+ */
 public interface InquiryService {
 
-	/**
-	 * 将ERP系统的采购询价,转为平台的询价单
-	 * 
-	 * @param inquiries
-	 * @return
-	 */
-	List<PurchaseInquiryItemTemp> convertInquiry(List<Inquiry> inquiries);
+    /**
+     * 将ERP系统的采购询价,转为平台的询价单
+     *
+     * @param inquiries ERP询价信息
+     * @return
+     * @throws Exception
+     */
+	List<PurchaseInquiryItemTemp> convertInquiry(List<Inquiry> inquiries) throws Exception;
 
 	/**
 	 * 将平台的报价信息,转为买家ERP的报价信息

+ 10 - 0
src/main/java/com/uas/platform/b2b/erp/service/MakeService.java

@@ -5,6 +5,7 @@ import java.util.List;
 import com.uas.platform.b2b.erp.model.Make;
 import com.uas.platform.b2b.erp.model.MakeEnd;
 import com.uas.platform.b2b.erp.model.MakeReply;
+import com.uas.platform.b2b.erp.model.OrderDetailPrice;
 import com.uas.platform.b2b.model.MakeOrder;
 import com.uas.platform.b2b.model.MakeOrderReply;
 
@@ -33,4 +34,13 @@ public interface MakeService {
 	 */
 	List<MakeOrder> convertMakeEnd(List<MakeEnd> ends);
 
+	/**
+	 * 更新委外单价格
+	 *
+	 * @param detailPriceList 出入库单据
+	 * @param type 类型
+	 * @author hejq
+	 * @date 2018-06-28 16:57
+	 */
+    void refreshPrice(List<OrderDetailPrice> detailPriceList, String type);
 }

+ 2 - 0
src/main/java/com/uas/platform/b2b/erp/service/PurchaseNotifyService.java

@@ -78,4 +78,6 @@ public interface PurchaseNotifyService {
 	 * @return
 	 */
 	List<PurchaseNotify> getB2bId(List<PurchaseNotify> notifyList);
+
+	List<PurchaseNotify> getB2bIdByNotices(List<PurchaseNotice> notices);
 }

+ 1 - 1
src/main/java/com/uas/platform/b2b/erp/service/PurchaseProdInOutService.java

@@ -74,7 +74,7 @@ public interface PurchaseProdInOutService {
 	 * @param prodInOuts
 	 * @return
 	 */
-	List<PurchaseAcceptItem> convertPirceForProdIn(List<ProdInOutRefreshPrice> prodInOuts);
+	List<PurcAcceptItem> convertPirceForProdIn(List<ProdInOutRefreshPrice> prodInOuts);
 
 	/**
 	 * 获取采购验收单对应的B2Bid

+ 6 - 1
src/main/java/com/uas/platform/b2b/erp/service/PurchaseQuaMRBService.java

@@ -5,12 +5,17 @@ import com.uas.platform.b2b.model.PurchaseMRB;
 
 import java.util.List;
 
+/**
+ * MRB单
+ *
+ * @author hejq
+ */
 public interface PurchaseQuaMRBService {
 
 	/**
 	 * 将ERP系统的MRB单,转为平台的MRB单
 	 * 
-	 * @param changes
+	 * @param quaMRBs MRB单
 	 * @return
 	 */
 	List<PurchaseMRB> convertMRBs(List<PurchaseQuaMRB> quaMRBs);

+ 11 - 4
src/main/java/com/uas/platform/b2b/erp/service/PurchaseService.java

@@ -2,10 +2,7 @@ package com.uas.platform.b2b.erp.service;
 
 import java.util.List;
 
-import com.uas.platform.b2b.erp.model.MessageLog;
-import com.uas.platform.b2b.erp.model.Purchase;
-import com.uas.platform.b2b.erp.model.PurchaseDetailEnd;
-import com.uas.platform.b2b.erp.model.PurchaseReply;
+import com.uas.platform.b2b.erp.model.*;
 import com.uas.platform.b2b.model.PrintLog;
 import com.uas.platform.b2b.model.PurcOrderInfoItem;
 import com.uas.platform.b2b.model.PurchaseOrderItem;
@@ -60,4 +57,14 @@ public interface PurchaseService {
 	 * @return
 	 */
     List<Purchase> getB2bId(List<Purchase> purchaseList);
+
+    /**
+	 * 更新采购单价格
+	 *
+	 * @param detailPriceList 出入库单据
+     * @param type 类型
+     * @author hejq
+     * @date 2018-06-28 15:37
+	 */
+    void refreshPrice(List<OrderDetailPrice> detailPriceList, String type);
 }

+ 3 - 2
src/main/java/com/uas/platform/b2b/erp/service/impl/APCheckServiceImpl.java

@@ -22,8 +22,9 @@ public class APCheckServiceImpl implements APCheckService {
 	@Override
 	public List<APCheck> convertApCheck(List<PurchaseApCheck> apCheck) {
 		List<APCheck> APChecks = new ArrayList<APCheck>();
-		for (PurchaseApCheck order : apCheck)
-			APChecks.add(new APCheck(order));
+		for (PurchaseApCheck order : apCheck) {
+            APChecks.add(new APCheck(order));
+        }
 		return APChecks;
 	}
 

+ 17 - 1
src/main/java/com/uas/platform/b2b/erp/service/impl/AutOrderServiceImpl.java

@@ -77,6 +77,22 @@ public class AutOrderServiceImpl implements AutOrderService {
      */
     private final String USER_TYPE = "user";
 
+    /**
+     * 中文年
+     */
+    private final String YEAR_CH_CHARACTER = "年";
+
+    /**
+     * 中文月
+     */
+    private final String MONTH_CH_CHARACTER = "月";
+
+    /**
+     * 中文日
+     */
+    private final String DAY_CH_CHARACTER = "日";
+
+
     /**
      * 保存订单信息
      *
@@ -230,7 +246,7 @@ public class AutOrderServiceImpl implements AutOrderService {
             } else if (delivery.matches(TIME_PATTERN_2)) {
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyymmdd");
                 return sdf.parse(delivery);
-            } else if (delivery.contains("年") || delivery.contains("月") || delivery.contains("日")) {
+            } else if (delivery.contains(YEAR_CH_CHARACTER) || delivery.contains(MONTH_CH_CHARACTER) || delivery.contains(DAY_CH_CHARACTER)) {
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy年mm月dd");
                 return sdf.parse(delivery);
             } else if (delivery.matches(TIME_PATTERN_3)) {

+ 2 - 1
src/main/java/com/uas/platform/b2b/erp/service/impl/BarLabelServiceImpl.java

@@ -18,7 +18,8 @@ public class BarLabelServiceImpl implements BarLabelService {
 	@Autowired
 	BarLabelDao barLabelDao;
 
-	public List<BarLabel> convertBarLabel(List<Label> labels) {
+	@Override
+    public List<BarLabel> convertBarLabel(List<Label> labels) {
 		List<BarLabel> barLabels = new ArrayList<BarLabel>();
 		for (Label label : labels) {
 			BarLabel barLabel = label.convent();

+ 5 - 3
src/main/java/com/uas/platform/b2b/erp/service/impl/ErpLogServiceImpl.java

@@ -52,11 +52,13 @@ public class ErpLogServiceImpl implements ErpLogService {
 			if(filter.getFromDate() != null){
 				pageInfo.expression(PredicateUtils.gte("time", new Long(filter.getFromDate()), false));
 			}
-			if(filter.getEndDate() != null)
-				pageInfo.expression(PredicateUtils.lte("time", new Long(filter.getEndDate()), false));
+			if(filter.getEndDate() != null) {
+                pageInfo.expression(PredicateUtils.lte("time", new Long(filter.getEndDate()), false));
+            }
 		}
 		Page<ErpLog> erpLog = erpLogDao.findAll(new Specification<ErpLog>() {
-			public Predicate toPredicate(Root<ErpLog> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
+			@Override
+            public Predicate toPredicate(Root<ErpLog> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
 				return query.where(pageInfo.getPredicates(root, query, builder)).getRestriction();
 			}
 		},pageInfo);

+ 50 - 24
src/main/java/com/uas/platform/b2b/erp/service/impl/InquiryServiceImpl.java

@@ -1,7 +1,9 @@
 package com.uas.platform.b2b.erp.service.impl;
 
 import com.uas.platform.b2b.core.util.ContextUtils;
+import com.uas.platform.b2b.core.util.StringUtil;
 import com.uas.platform.b2b.dao.*;
+import com.uas.platform.b2b.erp.exception.ExceptionNote;
 import com.uas.platform.b2b.erp.model.Inquiry;
 import com.uas.platform.b2b.erp.model.InquiryDecide;
 import com.uas.platform.b2b.erp.model.InquiryDetail;
@@ -11,12 +13,15 @@ import com.uas.platform.b2b.erp.service.VendorService;
 import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
 import com.uas.platform.b2b.event.PurchaseInquiryItemSaveReleaseEvent;
 import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.ps.ProductUtils;
+import com.uas.platform.b2b.service.NotExistProductService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.b2b.support.UsageBufferedLogger;
-import com.uas.platform.core.exception.NotFoundException;
+import com.uas.platform.b2b.temporary.model.OrderType;
 import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.Status;
+import org.apache.axis.utils.StringUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -25,6 +30,11 @@ import org.springframework.stereotype.Service;
 
 import java.util.*;
 
+/**
+ * 采购询价
+ *
+ * @author hejq
+ */
 @Service
 public class InquiryServiceImpl implements InquiryService {
 
@@ -56,24 +66,27 @@ public class InquiryServiceImpl implements InquiryService {
 	private VendorService vendorService;
 
 	@Autowired
-    private NotExistProductDao notExistProductDao;
-
-	@Autowired
-    private PurchaseInquiryTempDao tempDao;
+    private NotExistProductService notExistProductService;
 
     private final static ErpBufferedLogger logger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
 
 	private final static UsageBufferedLogger usageLogger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
 
 	@Override
-	public List<PurchaseInquiryItemTemp> convertInquiry(List<Inquiry> inquiries) {
+	public List<PurchaseInquiryItemTemp> convertInquiry(List<Inquiry> inquiries) throws Exception {
 		List<PurchaseInquiryItemTemp> tempList = new ArrayList<PurchaseInquiryItemTemp>();
-		final String appId = "uas";// 应用来源
+        // 应用来源
+		final String appId = "uas";
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
+
+		// 获取物料编号集合
+		Set<String> productCodes = getProductCodes(inquiries);
+		Map<String, ProductInfo> products = ProductUtils.findByEnUUAndCodes(enUU, productCodes);
 		for (Inquiry inquiry : inquiries) {
 			// 先查看是否已存在
 			List<PurchaseInquiry> existInquiries = purchaseInquiryDao.findByEnUUAndCode(enUU, inquiry.getIn_code());
-			if (existInquiries.size() == 0) {// 不存在才继续,存在不作操作
+            // 不存在才继续,存在不作操作
+			if (existInquiries.size() == 0) {
 				PurchaseInquiry purchaseInquiry = inquiry.convert();
 				// 如果记录人UU在b2b找不到,设置为null
 				if (null != purchaseInquiry.getRecorderUU()) {
@@ -83,8 +96,11 @@ public class InquiryServiceImpl implements InquiryService {
 					}
 				}
 				if (!CollectionUtils.isEmpty(purchaseInquiry.getInquiryItems())) {
+                    List<NotExistProduct> productList = new ArrayList<>();
+                    String sign = "";
 					for (PurchaseInquiryItem item : purchaseInquiry.getInquiryItems()) {
-						item.setErpDate(new Date());// 存储时间
+						// 存储时间
+						item.setErpDate(new Date(System.currentTimeMillis()));
 						Vendor vendor = null;
 						// 不存在先设置
 						if (item.getUserUU() == null || item.getUserUU() == 0) {
@@ -106,22 +122,15 @@ public class InquiryServiceImpl implements InquiryService {
 							}
 						}
 						if (vendor != null) {
-							// 取平台的产品ID
-							Product product = item.getProduct();
-							List<Product> products = productDao.findByEnUUAndCode(product.getEnUU(), product.getCode());
-							if (products.size() > 0) {
-								item.setProduct(products.get(0));
-								item.setProductId(products.get(0).getId());
+							// 获取物料服务的物料信息
+							ProductInfo product = products.get(item.getProductCode());
+							if (product != null) {
+								item.setProduct(product);
 							} else {
-								List<NotExistProduct> productList = notExistProductDao.findByEnuuAndCode(enUU, product.getCode());
-								if (org.springframework.util.CollectionUtils.isEmpty(productList)) {
-									notExistProductDao.save(new NotExistProduct(product.getCode(), enUU, "inquiry", inquiry.getIn_code()));
-								} else {
-									NotExistProduct prod = productList.get(0);
-									prod.setStatus(Status.NOT_UPLOAD.value());
-									notExistProductDao.save(prod);
+								if (StringUtils.isEmpty(sign)) {
+									sign = StringUtil.uuid();
 								}
-								throw new NotFoundException("企业UU【" + enUU + "】,物料编号【" + product.getCode() + "】,来源【" + inquiry.getIn_code() + "】");
+                                productList.add(new NotExistProduct(item.getProductCode(), enUU, OrderType.inquiry.name(), inquiry.getIn_code(), item.getNumber(), sign));
 							}
 							item.setInquiry(purchaseInquiry);
 							PurchaseInquiryTemp temp = new PurchaseInquiryTemp();
@@ -132,7 +141,9 @@ public class InquiryServiceImpl implements InquiryService {
 							tempList.add(itemTemp);
 						}
 					}
-
+					if (!CollectionUtils.isEmpty(productList)) {
+					    notExistProductService.batchSave(productList, ExceptionNote.INQUIRY_PRODUCT_NOTFOUND.getPhrase(), sign);
+                    }
 				}
 			}
 		}
@@ -303,4 +314,19 @@ public class InquiryServiceImpl implements InquiryService {
 		}
 		return inquiryList;
 	}
+
+	/**
+	 * 获取询价单关联的物料编号集合
+	 * @param inquiries
+	 * @return
+	 */
+	private Set<String> getProductCodes(List<Inquiry> inquiries) {
+		Set<String> productCodes = new HashSet<String>();
+		for (Inquiry inquiry : inquiries) {
+			for (InquiryDetail inquiryDetail : inquiry.getDetails()) {
+				productCodes.add(inquiryDetail.getId_prodcode());
+			}
+		}
+		return productCodes;
+	}
 }

+ 48 - 12
src/main/java/com/uas/platform/b2b/erp/service/impl/MakeProdInOutServiceImpl.java

@@ -1,14 +1,18 @@
 package com.uas.platform.b2b.erp.service.impl;
 
+import com.uas.platform.b2b.core.util.StringUtil;
 import com.uas.platform.b2b.dao.EnterpriseDao;
 import com.uas.platform.b2b.dao.MakeAcceptDao;
 import com.uas.platform.b2b.dao.MakeOrderDao;
 import com.uas.platform.b2b.dao.MakeReturnDao;
+import com.uas.platform.b2b.erp.exception.ExceptionNote;
 import com.uas.platform.b2b.erp.model.MakeProdInOut;
 import com.uas.platform.b2b.erp.service.MakeProdInOutService;
 import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.service.NotExistOrderService;
 import com.uas.platform.b2b.support.SystemSession;
-import com.uas.platform.core.exception.NotFoundException;
+import com.uas.platform.core.model.Constant;
+import org.apache.axis.utils.StringUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -18,6 +22,12 @@ import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
 
+/**
+ * 委外验收单
+ *
+ * @author hejq
+ * @date 2018-07-03 10:39
+ */
 @Service
 public class MakeProdInOutServiceImpl implements MakeProdInOutService {
 	@Autowired
@@ -32,6 +42,9 @@ public class MakeProdInOutServiceImpl implements MakeProdInOutService {
 	@Autowired
 	private MakeReturnDao makeReturnDao;
 
+	@Autowired
+	private NotExistOrderService orderService;
+
 	/**
 	 * 将ERP委外验收单,转为平台的客户委外验收单
 	 * 
@@ -48,20 +61,31 @@ public class MakeProdInOutServiceImpl implements MakeProdInOutService {
 			Enterprise ventor = enterprisedao.findEnterpriseByUu(accept.getVendUU());
 			// 判断委外验收单和供应商UU是否存在
 			if (accept2.size() == 0 && ventor != null) {
+				List<NotExistOrders> ordersList = new ArrayList<>();
+				String sign = "";
 				for (Iterator<MakeAcceptItem> it = accept.getAcceptItems().iterator(); it.hasNext();) {
 					MakeAcceptItem item = it.next();
 					List<MakeOrder> makeOrders = makeOrderDao.findByEnUUAndCode(enUU, item.getOrder().getCode());
-					if (makeOrders.size() > 0) {// 验收对应的委外加工单存在
-						item.setOrder(makeOrders.get(0));// 对应的加工单set进去
+					// 验收对应的委外加工单存在
+					if (makeOrders.size() > 0) {
+						// 对应的加工单set进去
+						item.setOrder(makeOrders.get(0));
 						item.setOrderId(makeOrders.get(0).getId());
-						item.setAccept(accept);// 设置主记录
+						// 设置主记录
+						item.setAccept(accept);
 						item.setErpDate(new Date());
 						acceptItems.add(item);
 					} else {
-						it.remove();
-                        throw new NotFoundException(item.getOrder().getCode() + "对应的委外单不存在");
+						if (StringUtils.isEmpty(sign)) {
+							sign = StringUtil.uuid();
+						}
+						ordersList.add(new NotExistOrders(enUU, item.getOrder().getCode(),
+                                com.uas.platform.b2b.temporary.model.OrderType.makeMain.name(), Constant.NO, sign));
 					}
 				}
+				if (!CollectionUtils.isEmpty(ordersList)) {
+                    orderService.batchSave(ordersList, ExceptionNote.MAKE_NOTFOUND.getPhrase(), sign);
+                }
 			}
 		}
 		return acceptItems;
@@ -92,19 +116,31 @@ public class MakeProdInOutServiceImpl implements MakeProdInOutService {
 			Enterprise vendor = enterprisedao.findEnterpriseByUu(returnn.getVendUU());
 			// 采购验收单不存在,供应商UU号存在对应供应商
 			if (returns2.size() == 0 && vendor != null) {
-				for (Iterator<MakeReturnItem> it = returnn.getReturnItems().iterator(); it.hasNext();) {// 设置明细对应的采购单明细
+                // 设置明细对应的采购单明细
+                List<NotExistOrders> ordersList = new ArrayList<>();
+                String sign = "";
+				for (Iterator<MakeReturnItem> it = returnn.getReturnItems().iterator(); it.hasNext();) {
 					MakeReturnItem returnItem = it.next();
 					List<MakeOrder> makeOrders = makeOrderDao.findByEnUUAndCode(enUU, returnItem.getOrder().getCode());
-					if (makeOrders.size() > 0) {// 对应的采购单存在
-						returnItem.setOrder(makeOrders.get(0));// 对应的采购单明细set进去
+                    // 对应的采购单存在
+					if (makeOrders.size() > 0) {
+                        // 对应的采购单明细set进去
+						returnItem.setOrder(makeOrders.get(0));
 						returnItem.setOrderId(makeOrders.get(0).getId());
-						returnItem.setReturn(returnn);// 设置主记录
+                        // 设置主记录
+						returnItem.setReturn(returnn);
 						returnItem.setErpDate(new Date());
 						returnItems.add(returnItem);
 					} else {
-						it.remove();
-						throw new NotFoundException(returnItem.getOrder().getCode() + "对应的委外单不存在");
+					    if (StringUtils.isEmpty(sign)) {
+					        sign = StringUtil.uuid();
+                        }
+                        ordersList.add(new NotExistOrders(enUU, returnItem.getOrder().getCode(),
+                                com.uas.platform.b2b.temporary.model.OrderType.makeMain.name(), Constant.NO, sign));
 					}
+					if (!CollectionUtils.isEmpty(ordersList)) {
+					    orderService.batchSave(ordersList, ExceptionNote.MAKE_NOTFOUND.getPhrase(), sign);
+                    }
 				}
 			}
 		}

+ 52 - 11
src/main/java/com/uas/platform/b2b/erp/service/impl/MakeServiceImpl.java

@@ -1,23 +1,28 @@
 package com.uas.platform.b2b.erp.service.impl;
 
 import com.uas.platform.b2b.core.util.ContextUtils;
-import com.uas.platform.b2b.dao.EnterpriseDao;
-import com.uas.platform.b2b.dao.MakeOrderDao;
-import com.uas.platform.b2b.dao.ProductDao;
-import com.uas.platform.b2b.dao.VendorDao;
+import com.uas.platform.b2b.core.util.StringUtil;
+import com.uas.platform.b2b.dao.*;
+import com.uas.platform.b2b.erp.exception.ExceptionNote;
 import com.uas.platform.b2b.erp.model.Make;
 import com.uas.platform.b2b.erp.model.MakeEnd;
 import com.uas.platform.b2b.erp.model.MakeReply;
+import com.uas.platform.b2b.erp.model.OrderDetailPrice;
 import com.uas.platform.b2b.erp.service.MakeService;
 import com.uas.platform.b2b.erp.service.VendorService;
 import com.uas.platform.b2b.event.MakeOrderEndReleaseEvent;
 import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.service.NotExistProductService;
 import com.uas.platform.b2b.support.SystemSession;
-import com.uas.platform.core.exception.NotFoundException;
+import com.uas.platform.b2b.support.UsageBufferedLogger;
+import com.uas.platform.b2b.temporary.model.OrderType;
+import com.uas.platform.core.logging.BufferedLoggerManager;
+import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.Status;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 
 import java.util.ArrayList;
 import java.util.Date;
@@ -41,16 +46,27 @@ public class MakeServiceImpl implements MakeService {
 	@Autowired
 	private VendorService vendorService;
 
+	@Autowired
+    private CommonDao commonDao;
+
+	@Autowired
+	private NotExistProductService notExistProductService;
+
+    private final static UsageBufferedLogger logger = BufferedLoggerManager.getLogger(UsageBufferedLogger.class);
+
 	@Override
 	public List<MakeOrder> convertMakes(List<Make> makes) {
 		List<MakeOrder> makeOrders = new ArrayList<MakeOrder>();
-        final String appId = "uas";// 应用来源
+		// 应用来源
+        final String appId = "uas";
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
 		for (Make make : makes) {
 			List<MakeOrder> orders = makeOrderDao.findByEnUUAndCode(enUU, make.getMa_code());
 			Enterprise vendor = enterpriseDao.findEnterpriseByUu(make.getVe_uu());
 			List<Product> products = productDao.findByEnUUAndCode(enUU, make.getMa_prodcode());
-			if (!CollectionUtils.isEmpty(products)) {
+            List<NotExistProduct> notExistProducts = new ArrayList<>();
+            String sign = "";
+            if (!CollectionUtils.isEmpty(products)) {
 				if (orders.size() == 0 && vendor != null) {
 					MakeOrder makeOrder = make.convert();
 					Product product = products.get(0);
@@ -61,7 +77,8 @@ public class MakeServiceImpl implements MakeService {
 					if (CollectionUtils.isEmpty(vendors)) {
 						vend = addVendor(make);
 						if (null != vend) {
-							vendorService.addPartnerShipRecord(vend, appId); // 添加合作伙伴
+							// 添加合作伙伴
+							vendorService.addPartnerShipRecord(vend, appId);
 						}
 					} else {
 						vend = vendors.get(0);
@@ -72,8 +89,14 @@ public class MakeServiceImpl implements MakeService {
 					makeOrders.add(makeOrder);
 				}
 			} else {
-				throw new NotFoundException(enUU + ",[" + make.getMa_prodcode() + "]对应的物料不存在,关联委外单[" + make.getMa_code() + "]");
+				if (StringUtils.isEmpty(sign)) {
+					sign = StringUtil.uuid();
+				}
+				notExistProducts.add(new NotExistProduct(make.getMa_prodcode(), enUU, OrderType.make.name(), make.getMa_code(), Constant.NO, sign));
 			}
+			if (!CollectionUtils.isEmpty(notExistProducts)) {
+                notExistProductService.batchSave(notExistProducts, ExceptionNote.MAKE_PRODUCT_NOTFOUND.getPhrase(), sign);
+            }
 		}
 		return makeOrders;
 	}
@@ -89,8 +112,9 @@ public class MakeServiceImpl implements MakeService {
 			throw new IllegalArgumentException("委外订单增加供应商错误,供应商UU号参数错误");
 		} else {
 			Enterprise vend = enterpriseDao.findOne(vendUU);
-			if (vend == null)
-				throw new IllegalArgumentException("委外订单增加供应商错误,供应商UU号参数错误");
+			if (vend == null) {
+                throw new IllegalArgumentException("委外订单增加供应商错误,供应商UU号参数错误");
+            }
 			Vendor vendor = new Vendor();
 			vendor.setMyEnUU(SystemSession.getUser().getEnterprise().getUu());
 			vendor.setMyEnterprise(SystemSession.getUser().getEnterprise());
@@ -131,4 +155,21 @@ public class MakeServiceImpl implements MakeService {
 		return makeOrders;
 	}
 
+	/**
+	 * 更新委外单价格
+	 *
+	 * @param detailPriceList 出入库单据
+	 * @param type            类型
+	 * @author hejq
+	 * @date 2018-06-28 16:57
+	 */
+	@Override
+	public void refreshPrice(List<OrderDetailPrice> detailPriceList, String type) {
+        logger.log("更新委外单价格", "ERP单据:" + type + ",大小:" + detailPriceList.size());
+        for (OrderDetailPrice detailPrice : detailPriceList) {
+            String sql = "update make$orders set ma_price = " + detailPrice.getPrice() + ", ma_taxrate = " + detailPrice.getTaxrate()
+                    + " where ma_id = " + detailPrice.getId();
+            commonDao.getJdbcTemplate().update(sql);
+        }
+	}
 }

+ 3 - 2
src/main/java/com/uas/platform/b2b/erp/service/impl/OutsourceServiceImpl.java

@@ -24,8 +24,9 @@ public class OutsourceServiceImpl implements OutsourceService {
 	@Override
 	public List<SaleDown> convertMakeOrder(List<MakeOrder> orders) {
 		List<SaleDown> sales = new ArrayList<SaleDown>();
-		for (MakeOrder order : orders)
-			sales.add(new SaleDown(order));
+		for (MakeOrder order : orders) {
+            sales.add(new SaleDown(order));
+        }
 		return sales;
 	}
 

+ 35 - 6
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseChangeServiceImpl.java

@@ -1,11 +1,18 @@
 package com.uas.platform.b2b.erp.service.impl;
 
+import com.uas.platform.b2b.core.util.StringUtil;
 import com.uas.platform.b2b.dao.*;
+import com.uas.platform.b2b.erp.exception.ExceptionNote;
 import com.uas.platform.b2b.erp.model.PurchaseChange;
 import com.uas.platform.b2b.erp.model.PurchaseChangeReply;
 import com.uas.platform.b2b.erp.service.PurchaseChangeService;
 import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.service.NotExistProductService;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.b2b.temporary.model.*;
+import com.uas.platform.b2b.temporary.model.OrderType;
+import com.uas.platform.core.model.Constant;
+import org.apache.axis.utils.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -14,6 +21,12 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
+/**
+ * 采购变更新增变更物料信息判断
+ *
+ * @author hejq
+ * @date 2018-07-05 17:43
+ */
 @Service
 public class PurchaseChangeServiceImpl implements PurchaseChangeService {
 
@@ -32,6 +45,9 @@ public class PurchaseChangeServiceImpl implements PurchaseChangeService {
 	@Autowired
 	private PurchaseOrderChangeItemDao purchaseOrderChangeItemDao;
 
+	@Autowired
+    private NotExistProductService productService;
+
 	@Override
 	public List<PurchaseOrderChangeItem> convertPurchaseChange(List<PurchaseChange> changes) {
 		List<PurchaseOrderChangeItem> changeItems = new ArrayList<PurchaseOrderChangeItem>();
@@ -43,15 +59,19 @@ public class PurchaseChangeServiceImpl implements PurchaseChangeService {
 					change.getPc_code());
 			// 原采购单需存在,变更单不存在
 			if (orders.size() > 0 && orderChanges.size() == 0) {
-				convertOrderInfo(orderChange, orders.get(0));// 赋值原单据信息字段
+				// 赋值原单据信息字段
+				convertOrderInfo(orderChange, orders.get(0));
 				if (!CollectionUtils.isEmpty(orderChange.getOrderChangeItems())) {
+				    List<NotExistProduct> productList = new ArrayList<>();
+				    String uuid = "";
 					for (PurchaseOrderChangeItem item : orderChange.getOrderChangeItems()) {
 						item.setErpDate(new Date());
 						// 取订单明细ID
 						List<PurchaseOrderItem> orderItems = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(enUU,
 								orderChange.getOrderCode(), item.getOrderItemNumber());
 						if (orderItems.size() > 0) {
-							convertOrderItemInfo(item, orderItems.get(0));// 赋值原单据信息字段
+							// 赋值原单据信息字段
+							convertOrderItemInfo(item, orderItems.get(0));
 						}
 						// 取平台的产品ID
 						Product newProduct = item.getNewProduct();
@@ -60,10 +80,18 @@ public class PurchaseChangeServiceImpl implements PurchaseChangeService {
 						if (products.size() > 0) {
 							item.setNewProduct(products.get(0));
 							item.setNewProductId(products.get(0).getId());
-						}
+						} else {
+						    if (StringUtils.isEmpty(uuid)) {
+						        uuid = StringUtil.uuid();
+                            }
+                            productList.add(new NotExistProduct(newProduct.getCode(), enUU, OrderType.purcorderChange.name(),
+                                    change.getPc_code(), Constant.NO, uuid));
+                        }
 						item.setOrderChange(orderChange);
 					}
-
+					if (!CollectionUtils.isEmpty(productList)) {
+                        productService.batchSave(productList, ExceptionNote.PURC_CHANGE_PRODUCT_NOTFOUND.getPhrase(), uuid);
+                    }
 					changeItems.addAll(orderChange.getOrderChangeItems());
 				}
 			}
@@ -74,8 +102,9 @@ public class PurchaseChangeServiceImpl implements PurchaseChangeService {
 	@Override
 	public List<PurchaseChangeReply> convertPurchaseOrderChangeReply(List<PurchaseOrderChange> changes) {
 		List<PurchaseChangeReply> replies = new ArrayList<PurchaseChangeReply>();
-		for (PurchaseOrderChange change : changes)
-			replies.add(new PurchaseChangeReply(change));
+		for (PurchaseOrderChange change : changes) {
+            replies.add(new PurchaseChangeReply(change));
+        }
 		return replies;
 	}
 

+ 3 - 3
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseForecastServiceImpl.java

@@ -176,9 +176,9 @@ public class PurchaseForecastServiceImpl implements PurchaseForecastService {
 			vendor.setCustswitch(Constant.YES);
 			vendor.setVendswitch(Constant.YES);
 			if (forecastItem.getOrder().getUserUU() != null
-					&& userDao.findOne(forecastItem.getOrder().getUserUU()) != null)
-				vendor.setMyUserUU(forecastItem.getOrder().getUserUU());
-			else {
+					&& userDao.findOne(forecastItem.getOrder().getUserUU()) != null) {
+                vendor.setMyUserUU(forecastItem.getOrder().getUserUU());
+            } else {
 				vendor.setMyUserUU(SystemSession.getUser().getUserUU());
 			}
 			vendor.setVendorEnterprise(enterprise);

+ 23 - 2
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseNotifyServiceImpl.java

@@ -182,8 +182,9 @@ public class PurchaseNotifyServiceImpl implements PurchaseNotifyService {
 	@Override
 	public List<AcceptNotify> convertSaleSend(List<SaleSend> sends) {
 		List<AcceptNotify> accepts = new ArrayList<AcceptNotify>();
-		for (SaleSend send : sends)
-			accepts.add(new AcceptNotify(send));
+		for (SaleSend send : sends) {
+            accepts.add(new AcceptNotify(send));
+        }
 		return accepts;
 	}
 
@@ -279,4 +280,24 @@ public class PurchaseNotifyServiceImpl implements PurchaseNotifyService {
         }
 		return notifyList;
 	}
+
+	/**
+	 * 通过已经保存的notice获取notify的b2bId
+	 * @param notices
+	 * @return
+	 */
+	@Override
+	public List<PurchaseNotify> getB2bIdByNotices(List<PurchaseNotice> notices) {
+		List<PurchaseNotify> purchaseNotifies = new ArrayList<PurchaseNotify>();
+		if (CollectionUtils.isNotEmpty(notices)) {
+			for (PurchaseNotice notice : notices) {
+				PurchaseNotify purchaseNotify = new PurchaseNotify();
+				purchaseNotify.setPn_b2bid(notice.getId());
+				purchaseNotify.setPn_id(notice.getSourceId());
+				purchaseNotify.setVe_uu(notice.getVendUU());
+				purchaseNotifies.add(purchaseNotify);
+			}
+		}
+		return purchaseNotifies;
+	}
 }

+ 90 - 51
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseProdInOutServiceImpl.java

@@ -1,13 +1,19 @@
 package com.uas.platform.b2b.erp.service.impl;
 
+import com.uas.platform.b2b.core.util.StringUtil;
 import com.uas.platform.b2b.dao.*;
+import com.uas.platform.b2b.erp.exception.ExceptionNote;
+import com.uas.platform.b2b.erp.model.OrderDetailPrice;
 import com.uas.platform.b2b.erp.model.ProdInOutRefreshPrice;
 import com.uas.platform.b2b.erp.model.PurchaseProdInOut;
 import com.uas.platform.b2b.erp.service.PurchaseProdInOutService;
+import com.uas.platform.b2b.erp.service.PurchaseService;
 import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.ps.ProductUtils;
+import com.uas.platform.b2b.service.NotExistOrderService;
 import com.uas.platform.b2b.support.SystemSession;
-import com.uas.platform.core.exception.NotFoundException;
+import org.apache.axis.utils.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -42,6 +48,12 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 	@Autowired
 	private ProductDao productDao;
 
+	@Autowired
+	private NotExistOrderService orderService;
+
+	@Autowired
+    private PurchaseService purchaseService;
+
 	@Override
 	public List<PurchaseAcceptItem> convertProdInOuts(List<PurchaseProdInOut> prodInOuts) throws Exception {
 		List<PurchaseAcceptItem> acceptItems = new ArrayList<PurchaseAcceptItem>();
@@ -52,34 +64,44 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 			Enterprise vendor = enterpriseDao.findEnterpriseByUu(accept.getVendUU());
 			// 采购验收单不存在,供应商UU号存在对应供应商
 			if (accepts2.size() == 0 && vendor != null) {
-				for (Iterator<PurchaseAcceptItem> it = accept.getAcceptItems().iterator(); it.hasNext();) {// 设置明细对应的采购单明细
+				// 设置明细对应的采购单明细
+                List<NotExistOrders> ordersList = new ArrayList<>();
+                String sign = "";
+				for (Iterator<PurchaseAcceptItem> it = accept.getAcceptItems().iterator(); it.hasNext();) {
 					PurchaseAcceptItem item = it.next();
 					if (item.getOrderItem() != null) {
 						List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao
 								.findByEnUUAndOrderCodeAndNumber(enUU, item.getOrderItem().getOrder().getCode(),
 										item.getOrderItem().getNumber());
-						if (purchaseOrderItems.size() > 0) {// 对应的采购单存在
-							item.setOrderItem(purchaseOrderItems.get(0));// 对应的采购单明细set进去
+						// 对应的采购单存在
+						if (purchaseOrderItems.size() > 0) {
+							// 对应的采购单明细set进去
+							item.setOrderItem(purchaseOrderItems.get(0));
 							item.setOrderItemId(purchaseOrderItems.get(0).getId());
-							item.setAccept(accept);// 设置主记录
+							// 设置主记录
+							item.setAccept(accept);
 							item.setErpDate(new Date());
 							item.setProdcode(purchaseOrderItems.get(0).getProduct().getCode());
 							item.setProdId(purchaseOrderItems.get(0).getProductId());
 							acceptItems.add(item);
 						} else {
-							throw new NotFoundException(enUU + ",采购验收单对应的采购单[" + item.getOrderItem().getOrder().getCode() + "]第[" + item.getOrderItem().getNumber() + "]行明细不存在");
+							if (StringUtils.isEmpty(sign)) {
+							    sign = StringUtil.uuid();
+                            }
+                            ordersList.add(new NotExistOrders(enUU, item.getOrderItem().getOrder().getCode(),
+                                    com.uas.platform.b2b.temporary.model.OrderType.saleItem.name(), item.getOrderItem().getNumber(), sign));
 						}
 					} else {
 						List<Product> prod = productDao.findByEnUUAndCode(enUU, item.getProdcode());
 						if (prod.size() > 0) {
 							item.setProduct(prod.get(0));
 							item.setProdId(prod.get(0).getId());
-						} else {// 物料不存在先进行存储
+						} else {
+						    // 物料不存在先进行存储
 							Product product = new Product();
 							product.setCode(item.getProdcode());
 							product.setEnUU(enUU);
 							Long proId = ProductUtils.updateOne(product);
-//							item.setProduct(product);
 							item.setProdId(proId);
 						}
 						item.setAccept(accept);
@@ -87,6 +109,9 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 						acceptItems.add(item);
 					}
 				}
+				if (!CollectionUtils.isEmpty(ordersList)) {
+				    orderService.batchSave(ordersList, ExceptionNote.SALEITEM_NOTFOUND.getPhrase(), sign);
+                }
 			} else if (accepts2.size() > 0 && vendor != null) {
 				Set<PurchaseAcceptItem> haditems = accepts2.get(0).getAcceptItems();
 				List<String> haditemsBatchCode = new ArrayList<String>();
@@ -94,8 +119,8 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 					PurchaseAcceptItem hadItem = itHaditems.next();
 					haditemsBatchCode.add(hadItem.getBatchCode());
 				}
-
-				for (Iterator<PurchaseAcceptItem> it = accept.getAcceptItems().iterator(); it.hasNext();) {// 设置明细对应的采购单明细
+				// 设置明细对应的采购单明细
+				for (Iterator<PurchaseAcceptItem> it = accept.getAcceptItems().iterator(); it.hasNext();) {
 					PurchaseAcceptItem item = it.next();
 					if (haditemsBatchCode.contains(item.getBatchCode())) {
 						//已上传的明细不要
@@ -105,13 +130,13 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 							List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao
 									.findByEnUUAndOrderCodeAndNumber(enUU, item.getOrderItem().getOrder().getCode(),
 											item.getOrderItem().getNumber());
-
-							if (purchaseOrderItems.size() > 0) {// 对应的采购单存在
-								item.setOrderItem(purchaseOrderItems.get(0));// 对应的采购单明细set进去
+							// 对应的采购单存在
+							if (purchaseOrderItems.size() > 0) {
+								// 对应的采购单明细set进去
+								item.setOrderItem(purchaseOrderItems.get(0));
 								item.setOrderItemId(purchaseOrderItems.get(0).getId());
-
-								item.setAccept(accepts2.get(0));// 设置主记录
-
+								// 设置主记录
+								item.setAccept(accepts2.get(0));
 								item.setErpDate(new Date());
 								item.setProdcode(purchaseOrderItems.get(0).getProduct().getCode());
 								item.setProdId(purchaseOrderItems.get(0).getProductId());
@@ -124,7 +149,8 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 							if (prod.size() > 0) {
 								item.setProduct(prod.get(0));
 								item.setProdId(prod.get(0).getId());
-							} else {// 物料不存在先进行存储
+							} else {
+								// 物料不存在先进行存储
 								Product product = new Product();
 								product.setCode(item.getProdcode());
 								product.setEnUU(enUU);
@@ -132,8 +158,6 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 								item.setProduct(product);
 								item.setProdId(proId);
 							}
-
-
 							item.setAccept(accepts2.get(0));
 							item.setErpDate(new Date());
 							acceptItems.add(item);
@@ -155,36 +179,32 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 			Enterprise vendor = enterpriseDao.findEnterpriseByUu(returnn.getVendUU());
 			// 采购验收单不存在,供应商UU号存在对应供应商
 			if (returns2.size() == 0 && vendor != null) {
-				for (PurchaseReturnItem returnItem : returnn.getReturnItems()) {// 设置明细对应的采购单明细
-					if (returnItem.getOrderItem() != null) {
+				// 设置明细对应的采购单明细
+				for (PurchaseReturnItem returnItem : returnn.getReturnItems()) {
+					if (null != returnItem.getOrderDetno() && null != returnItem.getOrderCode()) {
 						List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao
-								.findByEnUUAndOrderCodeAndNumber(enUU, returnItem.getOrderItem().getOrder().getCode(),
-										returnItem.getOrderItem().getNumber());
-						if (purchaseOrderItems.size() > 0) {// 对应的采购单存在
-							returnItem.setOrderItem(purchaseOrderItems.get(0));// 对应的采购单明细set进去
+								.findByEnUUAndOrderCodeAndNumber(enUU, returnItem.getOrderCode(), returnItem.getOrderDetno());
+						// 对应的采购单存在
+						if (purchaseOrderItems.size() > 0) {
 							returnItem.setOrderItemId(purchaseOrderItems.get(0).getId());
-							returnItem.setProduct(purchaseOrderItems.get(0).getProduct());
 							returnItem.setProdId(purchaseOrderItems.get(0).getProductId());
 							returnItem.setProdCode(purchaseOrderItems.get(0).getProduct().getCode());
-						} else {
-							// 如果采购单号不存在,设置为空值
-							returnItem.getOrderItem().getOrder().setCode(null);
 						}
 					} else {
 						List<Product> prod = productDao.findByEnUUAndCode(enUU, returnItem.getProdCode());
 						if (prod.size() > 0) {
-							returnItem.setProduct(prod.get(0));
 							returnItem.setProdId(prod.get(0).getId());
-						} else {// 物料不存在先进行存储
+						} else {
+							// 物料不存在先进行存储
 							Product product = new Product();
 							product.setCode(returnItem.getProdCode());
 							product.setEnUU(enUU);
 							Long proId = ProductUtils.updateOne(product);
-//							returnItem.setProduct(product);
 							returnItem.setProdId(proId);
 						}
 					}
-					returnItem.setPurchaseReturn(returnn);// 设置主记录
+					// 设置主记录
+					returnItem.setPurchaseReturn(returnn);
 					returnItem.setErpDate(new Date());
 					returnItems.add(returnItem);
 				}
@@ -201,17 +221,21 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 			PurchaseBadIn badIn = prodInOut.conventToBadIn();
 			List<PurchaseBadIn> badIns = purchaseBadInDao.findByEnUUAndCode(enUU, badIn.getCode());
 			Enterprise vendor = enterpriseDao.findEnterpriseByUu(badIn.getVendUU());
-			// 采购验收单不存在,供应商UU号存在对应供应商
+			// 不良品入库单不存在,供应商UU号存在对应供应商
 			if (badIns.size() == 0 && vendor != null) {
-				for (Iterator<PurchaseBadInItem> it = badIn.getBadInItems().iterator(); it.hasNext();) {// 设置明细对应的采购单明细
+                // 设置明细对应的采购单明细
+				for (Iterator<PurchaseBadInItem> it = badIn.getBadInItems().iterator(); it.hasNext();) {
 					PurchaseBadInItem badInItem = it.next();
 					List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(
 							enUU, badInItem.getOrderItem().getOrder().getCode(), badInItem.getOrderItem().getNumber());
-					if (purchaseOrderItems.size() > 0) {// 对应的采购单存在
-						badInItem.setOrderItem(purchaseOrderItems.get(0));// 对应的采购单明细set进去
+                    // 对应的采购单存在
+					if (purchaseOrderItems.size() > 0) {
+                        // 对应的采购单明细set进去
+						badInItem.setOrderItem(purchaseOrderItems.get(0));
 						badInItem.setOrderItemId(purchaseOrderItems.get(0).getId());
-						badInItem.setBadIn(badIn);// 设置主记录
-						badInItem.setErpDate(new Date());
+                        // 设置主记录
+						badInItem.setBadIn(badIn);
+						badInItem.setErpDate(new Date(System.currentTimeMillis()));
 						badInItems.add(badInItem);
 					} else {
 						it.remove();
@@ -233,16 +257,20 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 			// 不良品出库单不存在,供应商UU号存在对应供应商
 			if (badOuts.size() == 0 && vendor != null) {
 				if (badOut.getBadOutItems() != null) {
-					for (Iterator<PurchaseBadOutItem> it = badOut.getBadOutItems().iterator(); it.hasNext();) {// 设置明细对应的采购单明细
+                    // 设置明细对应的采购单明细
+					for (Iterator<PurchaseBadOutItem> it = badOut.getBadOutItems().iterator(); it.hasNext();) {
 						PurchaseBadOutItem badOutItem = it.next();
 						List<PurchaseOrderItem> purchaseOrderItems = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(
 								enUU, badOutItem.getOrderItem().getOrder().getCode(),
 								badOutItem.getOrderItem().getNumber());
-						if (purchaseOrderItems.size() > 0) {// 对应的采购单存在
-							badOutItem.setOrderItem(purchaseOrderItems.get(0));// 对应的采购单明细set进去
+                        // 对应的采购单存在
+						if (purchaseOrderItems.size() > 0) {
+                            // 对应的采购单明细set进去
+							badOutItem.setOrderItem(purchaseOrderItems.get(0));
 							badOutItem.setOrderItemId(purchaseOrderItems.get(0).getId());
-							badOutItem.setBadOut(badOut);// 设置主记录
-							badOutItem.setErpDate(new Date());
+                            // 设置主记录
+							badOutItem.setBadOut(badOut);
+							badOutItem.setErpDate(new Date(System.currentTimeMillis()));
 							badOutItems.add(badOutItem);
 						} else {
 							it.remove();
@@ -318,19 +346,30 @@ public class PurchaseProdInOutServiceImpl implements PurchaseProdInOutService {
 	}
 
 	@Override
-	public List<PurchaseAcceptItem> convertPirceForProdIn(List<ProdInOutRefreshPrice> prodInOuts) {
-		List<PurchaseAcceptItem> acceptItems = new ArrayList<PurchaseAcceptItem>();
-		if(!CollectionUtils.isEmpty(prodInOuts)) {
-			for(ProdInOutRefreshPrice prod : prodInOuts) {
+	public List<PurcAcceptItem> convertPirceForProdIn(List<ProdInOutRefreshPrice> prodInOuts) {
+		List<PurcAcceptItem> acceptItems = new ArrayList<>();
+		List<OrderDetailPrice> detailPriceList = new ArrayList<>();
+		if (!CollectionUtils.isEmpty(prodInOuts)) {
+			for (ProdInOutRefreshPrice prod : prodInOuts) {
 				PurchaseAcceptItem acceptItem = purchaseAcceptItemDao.findByEnUUAndCodeAndNumber(
 						SystemSession.getUser().getEnterprise().getUu(), prod.getPbu_inoutno(), prod.getPbu_pdno());
 				if (null != acceptItem) {
-					acceptItem.setOrderPrice(prod.getPbu_orderprice());
-					acceptItem.setTaxrate(prod.getPbu_taxrate());
-					acceptItems.add(acceptItem);
+                    PurcAcceptItem item = new PurcAcceptItem();
+                    BeanUtils.copyProperties(acceptItem, item, PurcAcceptItem.class);
+                    item.setOrderPrice(prod.getPbu_orderprice());
+                    item.setTaxrate(prod.getPbu_taxrate());
+                    item.setAcceptId(acceptItem.getAccept().getId());
+					acceptItems.add(item);
+					if (null != acceptItem.getOrderItemId()) {
+                        detailPriceList.add(new OrderDetailPrice(acceptItem.getOrderItemId(), acceptItem.getOrderPrice(), acceptItem.getTaxrate()));
+					}
 				}
 			}
 		}
+		// 更新对应的采购单信息
+		if (!CollectionUtils.isEmpty(detailPriceList)) {
+            purchaseService.refreshPrice(detailPriceList, OrderType.saleaccept.name());
+        }
 		return acceptItems;
 	}
 

+ 9 - 2
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseQuaMRBServiceImpl.java

@@ -19,6 +19,11 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
+/**
+ * MRB单
+ *
+ * @author US50
+ */
 @Service
 public class PurchaseQuaMRBServiceImpl implements PurchaseQuaMRBService {
 
@@ -45,13 +50,15 @@ public class PurchaseQuaMRBServiceImpl implements PurchaseQuaMRBService {
 			// 采购验收单不存在,供应商UU号存在对应供应商
 			if (purchaseMRBs.size() == 0 && vendor != null) {
 				List<PurchaseBadIn> badIns = purchaseBadInDao.findByEnUUAndCode(enUU, mrb.getBadIn().getCode());
-				if (badIns.size() > 0) {// 存在对应的不良品入库单
+                // 存在对应的不良品入库单
+				if (badIns.size() > 0) {
 					mrb.setBadIn(badIns.get(0));
 					mrb.setBadInId(badIns.get(0).getId());
 				}
 				List<PurchaseOrderItem> orderItems = purchaseOrderItemDao.findByEnUUAndOrderCodeAndNumber(enUU,
 						mrb.getOrderItem().getOrder().getCode(), mrb.getOrderItem().getNumber());
-				if (orderItems.size() > 0) {// 存在对应的采购单明细
+                // 存在对应的采购单明细
+				if (orderItems.size() > 0) {
 					mrb.setOrderItem(orderItems.get(0));
 					mrb.setOrderItemId(orderItems.get(0).getId());
 					mrb.setErpDate(new Date());

+ 51 - 21
src/main/java/com/uas/platform/b2b/erp/service/impl/PurchaseSampleServiceImpl.java

@@ -1,14 +1,18 @@
 package com.uas.platform.b2b.erp.service.impl;
 
+import com.uas.platform.b2b.core.util.StringUtil;
 import com.uas.platform.b2b.dao.*;
+import com.uas.platform.b2b.erp.exception.ExceptionNote;
 import com.uas.platform.b2b.erp.model.ProductSample;
 import com.uas.platform.b2b.erp.model.ProductSampleApproval;
 import com.uas.platform.b2b.erp.service.PurchaseSampleService;
 import com.uas.platform.b2b.erp.service.VendorService;
 import com.uas.platform.b2b.model.*;
+import com.uas.platform.b2b.service.NotExistProductService;
 import com.uas.platform.b2b.support.SystemSession;
-import com.uas.platform.core.exception.NotFoundException;
+import com.uas.platform.b2b.temporary.model.OrderType;
 import com.uas.platform.core.model.Constant;
+import org.apache.axis.utils.StringUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -17,6 +21,11 @@ import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
+/**
+ * 打样申请单
+ *
+ * @author hejq
+ */
 @Service
 public class PurchaseSampleServiceImpl implements PurchaseSampleService {
 
@@ -41,53 +50,68 @@ public class PurchaseSampleServiceImpl implements PurchaseSampleService {
 	@Autowired
 	private VendorService vendorService;
 
+	@Autowired
+    private NotExistProductService notExistProductService;
+
 	@Override
 	public List<PurchaseProofingItem> convertProofing(List<ProductSample> samples) {
 		List<PurchaseProofingItem> proofingItems = new ArrayList<PurchaseProofingItem>();
-		final String appId = "uas";// 应用来源
+		// 应用来源
+		final String appId = "uas";
 		long enUU = SystemSession.getUser().getEnterprise().getUu();
 		for (ProductSample sample : samples) {
 			List<PurchaseProofing> proofingList = purchaseProofingDao.findByEnUUAndCode(enUU, sample.getPs_code());
 			List<Product> products = productDao.findByEnUUAndCode(enUU, sample.getPs_prodcode());
+			List<NotExistProduct> productList = new ArrayList<>();
+			String sign = "";
 			if (!CollectionUtils.isEmpty(products)) {
-				if (proofingList.size() == 0) {// 平台中不存在的单据&&物料已经上传到平台
+				// 平台中不存在的单据&&物料已经上传到平台
+				if (proofingList.size() == 0) {
 					PurchaseProofing proofing = sample.convert();
 					if (!CollectionUtils.isEmpty(proofing.getProofingItems())) {
 						Long userUU = proofing.getUserUU();
 						if (userUU != null) {
 							List<User> users = userDao.findByEnUUAndUserUU(enUU, userUU);
-							if (users.size() > 0)
-								userUU = users.get(0).getUserUU();
-							else
-								userUU = SystemSession.getUser().getUserUU();
-						} else
-							userUU = SystemSession.getUser().getUserUU();
+							if (users.size() > 0) {
+                                userUU = users.get(0).getUserUU();
+                            } else {
+                                userUU = SystemSession.getUser().getUserUU();
+                            }
+						} else {
+                            userUU = SystemSession.getUser().getUserUU();
+                        }
 						// 单据中能获取到申请人的uu号,并且有效则为申请人,否则为企业管理员
 						proofing.setUserUU(userUU);
 						proofing.setUser(null);
 						proofing.setProduct(products.get(0));
 						proofing.setProductId(products.get(0).getId());
-						for (PurchaseProofingItem proofingItem : proofing.getProofingItems()) {// 对明细遍历
+                        // 对明细遍历
+						for (PurchaseProofingItem proofingItem : proofing.getProofingItems()) {
 							proofingItem.setProofing(proofing);
 							List<Vendor> vendors = vendorDao.findByMyEnUUAndVendUU(enUU, proofingItem.getVendUU());
 							Vendor vendor = null;
-							if (vendors.size() == 0) {// 供应商列表中不存在供应商关系
-								vendor = addVendor(proofingItem);// 增加供应商关系
+                            // 供应商列表中不存在供应商关系
+							if (vendors.size() == 0) {
+                                // 增加供应商关系
+								vendor = addVendor(proofingItem);
 								if (null != vendor) {
 									vendorService.addPartnerShipRecord(vendor, appId);
 								}
 							} else {
 								vendor = vendors.get(0);
 							}
-							if (vendor != null) {// 供应商uu号不为非法的值
+                            // 供应商uu号不为非法的值
+							if (vendor != null) {
 								// 如果明细中客户联系人UU号为空或者UU号不存在对应的用户,则设为供应商资料中的供应商联系人(可能为空)
 								if (proofingItem.getVendUserUU() != null) {
 									List<User> vendUsers = userDao.findByEnUUAndUserUU(vendor.getVendEnUU(),
 											proofingItem.getVendUserUU());
-									if (vendUsers.size() == 0)
-										proofingItem.setVendUserUU(vendor.getVendUserUU());
-								} else
-									proofingItem.setVendUserUU(vendor.getVendUserUU());
+									if (vendUsers.size() == 0) {
+                                        proofingItem.setVendUserUU(vendor.getVendUserUU());
+                                    }
+								} else {
+                                    proofingItem.setVendUserUU(vendor.getVendUserUU());
+                                }
 								proofingItem.setErpDate(new Date(System.currentTimeMillis()));
 								proofingItem.setDate(new Date(System.currentTimeMillis()));
 								proofingItems.add(proofingItem);
@@ -96,9 +120,14 @@ public class PurchaseSampleServiceImpl implements PurchaseSampleService {
 					}
 				}
 			} else {
-				throw new NotFoundException(sample.getPs_prodcode() + ",物料不存在,企业UU:" + SystemSession.getUser().getEnterprise().getUu());
+			    if (StringUtils.isEmpty(sign)) {
+			        sign = StringUtil.uuid();
+                }
+                productList.add(new NotExistProduct(sample.getPs_prodcode(), enUU, OrderType.proof.name(), sample.getPs_code(), Constant.NO, sign));
 			}
-
+			if (!CollectionUtils.isEmpty(productList)) {
+                notExistProductService.batchSave(productList, ExceptionNote.PROOF_PRODUCT_NOTFOUND.getPhrase(), sign);
+            }
 		}
 		return proofingItems;
 	}
@@ -137,8 +166,9 @@ public class PurchaseSampleServiceImpl implements PurchaseSampleService {
 			if (sampleApproval.getPa_venduu() != null) {
 				List<Vendor> vendors = vendorDao.findByMyEnUUAndVendUU(SystemSession.getUser().getEnterprise().getUu(),
 						sampleApproval.getPa_venduu());
-				if (vendors.size() > 0)
-					proofingApprovals.add(sampleApproval.convert());
+				if (vendors.size() > 0) {
+                    proofingApprovals.add(sampleApproval.convert());
+                }
 			}
 		}
 		return proofingApprovals;

Некоторые файлы не были показаны из-за большого количества измененных файлов