Browse Source

Merge branch 'dev' of ssh://10.10.100.21/source/saas-platform into dev

hy 7 years ago
parent
commit
1a6997c09f
83 changed files with 3326 additions and 151 deletions
  1. 12 0
      applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/ProdStorageDTO.java
  2. 5 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/controller/ProductController.java
  3. 13 8
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/ProductServiceImpl.java
  4. 4 4
      applications/document/document-server/src/main/resources/mapper/ProductMapper.xml
  5. 34 0
      applications/money/money-dto/src/main/java/com/usoftchina/saas/money/dto/ApcheckFormDTO.java
  6. 289 0
      applications/money/money-dto/src/main/java/com/usoftchina/saas/money/po/Apcheck.java
  7. 100 0
      applications/money/money-dto/src/main/java/com/usoftchina/saas/money/po/ApcheckDetail.java
  8. 7 1
      applications/money/money-server/src/main/resources/application.yml
  9. 2 1
      applications/operation/operation-auth-server/src/main/java/com/usoftchina/saas/operation/auth/config/AuthConfig.java
  10. 13 0
      applications/operation/operation-auth-server/src/main/resources/config/application-dev.yml
  11. 9 0
      applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/InquiryAddDTO.java
  12. 5 5
      applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/QuotationRspDTO.java
  13. 1 2
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/PurchaseApplication.java
  14. 1 1
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/controller/PurchaseController.java
  15. 1 1
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/PurchaseService.java
  16. 18 8
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseServiceImpl.java
  17. 56 0
      applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/InquiryReplayDTO.java
  18. 46 0
      applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/QuotationRspDTO.java
  19. 3 3
      applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/RemindReqDTO.java
  20. 13 0
      applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/RemindRspDTO.java
  21. 202 0
      applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/SaleDownDTO.java
  22. 212 0
      applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/SaleDownDetailDTO.java
  23. 30 0
      applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/SaleDownFormDTO.java
  24. 1 2
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/SaleApplication.java
  25. 3 3
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/controller/SaleController.java
  26. 274 0
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/po/SaleDown.java
  27. 222 0
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/po/SaleDownDetail.java
  28. 2 2
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/SaleService.java
  29. 41 5
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleServiceImpl.java
  30. 2 2
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/api/InquiryApi.java
  31. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/api/PublicProductApi.java
  32. 2 2
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/api/SearchApi.java
  33. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/api/SearchUUApi.java
  34. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/Attach.java
  35. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/Enterprise.java
  36. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/IPage.java
  37. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/InquiryEnRemind.java
  38. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/InquiryRemind.java
  39. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/Product.java
  40. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/ProductMatchResult.java
  41. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/PublicInquiry.java
  42. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/PublicInquiryItem.java
  43. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/PublicInquiryReply.java
  44. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/PurcInquiry.java
  45. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/PurcInquiryInfo.java
  46. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/PurcInquiryItem.java
  47. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/PurcInquiryItemInfo.java
  48. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/PurchaseInquiryReply.java
  49. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/User.java
  50. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/search/FuturesEntity.java
  51. 1 3
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/search/GoodsEntity.java
  52. 1 3
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/search/ProductEntity.java
  53. 1 3
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/search/QtyPrice.java
  54. 1 2
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/search/SearchComponentResp.java
  55. 1 1
      applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/search/StockEntity.java
  56. 23 23
      applications/transfers/mall-api/src/test/java/com/usoftchina/saas/inquiry/test/InquiryApiTest.java
  57. 2 2
      applications/transfers/mall-api/src/test/java/com/usoftchina/saas/inquiry/test/InquiryTest.java
  58. 2 2
      applications/transfers/mall-api/src/test/java/com/usoftchina/saas/inquiry/test/PublicProductApiTest.java
  59. 3 3
      applications/transfers/mall-api/src/test/java/com/usoftchina/saas/inquiry/test/SearchApiTest.java
  60. 2 2
      applications/transfers/mall-api/src/test/java/com/usoftchina/saas/inquiry/test/SearchUUApiTest.java
  61. 45 0
      applications/transfers/transfers-auth/src/main/java/com/usoftchina/saas/transfers/auth/context/TransfersContextHodler.java
  62. 4 1
      applications/transfers/transfers-auth/src/main/java/com/usoftchina/saas/transfers/auth/interceptor/OpenApiAuthInterceptor.java
  63. 8 1
      applications/transfers/transfers-server/pom.xml
  64. 41 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/controller/ApCheckController.java
  65. 68 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/controller/SaleDownController.java
  66. 17 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/mapper/ApcheckMapper.java
  67. 28 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/mapper/SaledownMapper.java
  68. 274 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/po/SaleDown.java
  69. 222 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/po/SaleDownDetail.java
  70. 9 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/ApCheckService.java
  71. 14 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/SaleDownService.java
  72. 60 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/impl/ApCheckServiceImpl.java
  73. 89 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/impl/SaleDownServiceImpl.java
  74. 1 1
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/task/SendProductTask.java
  75. 288 0
      applications/transfers/transfers-server/src/main/resources/mapper/ApcheckMapper.xml
  76. 429 0
      applications/transfers/transfers-server/src/main/resources/mapper/SaledownMapper.xml
  77. 6 0
      base-servers/gateway-server/src/main/resources/application.yml
  78. 11 11
      frontend/operation-web/app/view/auth/ReLoginController.js
  79. 1 1
      frontend/saas-web/app/model/report/RecDetail.js
  80. 3 3
      frontend/saas-web/app/view/money/payBalance/FormPanel.js
  81. 18 19
      frontend/saas-web/app/view/money/payBalance/FormPanelController.js
  82. 1 1
      frontend/saas-web/app/view/sale/business/QuoteWin.js
  83. 10 0
      pom.xml

+ 12 - 0
applications/document/document-dto/src/main/java/com.usoftchina.saas.document.dto/ProdStorageDTO.java

@@ -17,6 +17,10 @@ public class ProdStorageDTO implements Serializable {
     private String prodBrand;
     private String prodUnit;
     private String prodLeadtime;
+    /**
+     * 上传状态
+     */
+    private String b2bStatus;
     /**
      * 绑定状态
      */
@@ -86,6 +90,14 @@ public class ProdStorageDTO implements Serializable {
         this.prodLeadtime = prodLeadtime;
     }
 
+    public String getB2bStatus() {
+        return b2bStatus;
+    }
+
+    public void setB2bStatus(String b2bStatus) {
+        this.b2bStatus = b2bStatus;
+    }
+
     public Short getStatus() {
         return status;
     }

+ 5 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/controller/ProductController.java

@@ -167,6 +167,11 @@ public class ProductController {
         return Result.success(productService.getProdStorage(page, listReqDTO));
     }
 
+    /**
+     * 上传个人物料库
+     * @param productSalerDTO
+     * @return
+     */
     @PostMapping("/prodStorage/saler")
     public Result createProdSaler(@RequestBody ProductSalerDTO productSalerDTO){
         productService.createProdSaler(productSalerDTO);

+ 13 - 8
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/ProductServiceImpl.java

@@ -25,8 +25,11 @@ import com.usoftchina.saas.document.entities.*;
 import com.usoftchina.saas.document.mapper.*;
 import com.usoftchina.saas.document.service.*;
 import com.usoftchina.saas.exception.BizException;
+import com.usoftchina.saas.inquiry.api.PublicProductApi;
 import com.usoftchina.saas.page.PageRequest;
+import com.usoftchina.saas.transfers.api.SendMessageApi;
 import com.usoftchina.saas.utils.CollectionUtils;
+import com.usoftchina.saas.utils.JsonUtils;
 import com.usoftchina.saas.utils.ObjectUtils;
 import com.usoftchina.saas.utils.RegexpUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -57,10 +60,10 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
     private ProductunitService productunitService;
     @Autowired
     private ProducttypeService producttypeService;
-    /*@Autowired
-    private SendMessageApi sendMessageApi;*/
-    /*@Autowired
-    private PublicProductApi publicProductApi;*/
+    @Autowired
+    private SendMessageApi sendMessageApi;
+    @Autowired
+    private PublicProductApi publicProductApi;
     @Autowired
     private CompanyApi companyApi;
     @Autowired
@@ -796,18 +799,20 @@ public class ProductServiceImpl extends CommonBaseServiceImpl<ProductMapper, Pro
      */
     @Override
     public void createProdSaler(ProductSalerDTO productSalerDTO){
-        /*Long enUU = companyApi.getCompanyById(BaseContextHolder.getCompanyId()).getData().getUu();
+        Long enUU = companyApi.getCompanyById(BaseContextHolder.getCompanyId()).getData().getUu();
         Long userUU = accountApi.getAccountById(BaseContextHolder.getUserId()).getData().getUu();
         ProductSalerUploadDTO productSalerUploadDTO = new ProductSalerUploadDTO(productSalerDTO.getProdId(), productSalerDTO.getProdCode(), enUU, userUU);
+        List<ProductSalerDTO> productSalerDTOList = new ArrayList<ProductSalerDTO>();
+        productSalerDTOList.add(productSalerDTO);
         if (productSalerDTO.getOperate() == 0){
             //解绑
-            publicProductApi.uploadProductSalerForCancel(JsonUtils.toJsonString(productSalerDTO));
+            publicProductApi.uploadProductSalerForCancel(JsonUtils.toJsonString(productSalerDTOList));
             productSalerMapper.unbind(productSalerDTO.getProdId(), BaseContextHolder.getUserId(), BaseContextHolder.getCompanyId());
         }else if (productSalerDTO.getOperate() == 1){
             //绑定
-            publicProductApi.updateProdSaler(JsonUtils.toJsonString(productSalerDTO));
+            publicProductApi.updateProdSaler(JsonUtils.toJsonString(productSalerDTOList));
             productSalerMapper.bind(productSalerDTO.getProdId(), BaseContextHolder.getUserId(), BaseContextHolder.getCompanyId());
-        }*/
+        }
     }
 
     private List<ProductReserveCostDTO> geReserveCost(ListReqDTO listReqDTO) {

+ 4 - 4
applications/document/document-server/src/main/resources/mapper/ProductMapper.xml

@@ -972,8 +972,8 @@
     </update>
     <select id="getProdStorage" resultType="com.usoftchina.saas.document.dto.ProdStorageDTO">
       SELECT * FROM (
-      SELECT pr_id prodId, pr_detail prodName, pr_code prodCode, pr_spec prodSpec, pr_unid prodUnit, pr_brand prodBrand,
-      pr_orispeccode prodSpeccode,pr_leadtime prodLeadtime, 1 status
+      SELECT pr_id prodId, pr_detail prodName, pr_code prodCode, pr_spec prodSpec, pr_unit prodUnit, pr_brand prodBrand,
+      pr_orispeccode prodSpeccode,pr_leadtime prodLeadtime, 1 status, b2bStatus
       FROM product
       <where>
           <if test="userId != null">
@@ -984,8 +984,8 @@
           </if>
         </where>
         union all
-        SELECT pr_id prodId, pr_detail prodName, pr_code prodCode, pr_spec prodSpec, pr_unid prodUnit, pr_brand prodBrand,
-        pr_orispeccode prodSpeccode,pr_leadtime prodLeadtime, 0 status
+        SELECT pr_id prodId, pr_detail prodName, pr_code prodCode, pr_spec prodSpec, pr_unit prodUnit, pr_brand prodBrand,
+        pr_orispeccode prodSpeccode,pr_leadtime prodLeadtime, 0 status, b2bStatus
         FROM product
         <where>
           <if test="userId != null">

+ 34 - 0
applications/money/money-dto/src/main/java/com/usoftchina/saas/money/dto/ApcheckFormDTO.java

@@ -0,0 +1,34 @@
+package com.usoftchina.saas.money.dto;
+
+import com.usoftchina.saas.money.po.Apcheck;
+import com.usoftchina.saas.money.po.ApcheckDetail;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author: guq
+ * @create: 2019-01-12 15:52
+ **/
+public class ApcheckFormDTO implements Serializable {
+
+    private Apcheck main;
+
+    private List<ApcheckDetail> items;
+
+    public Apcheck getMain() {
+        return main;
+    }
+
+    public void setMain(Apcheck main) {
+        this.main = main;
+    }
+
+    public List<ApcheckDetail> getItems() {
+        return items;
+    }
+
+    public void setItems(List<ApcheckDetail> items) {
+        this.items = items;
+    }
+}

+ 289 - 0
applications/money/money-dto/src/main/java/com/usoftchina/saas/money/po/Apcheck.java

@@ -0,0 +1,289 @@
+package com.usoftchina.saas.money.po;
+
+import com.usoftchina.saas.base.entity.CommonBaseEntity;
+
+import java.util.Date;
+
+/**
+ * @author: guq
+ * @create: 2019-01-12 15:46
+ **/
+public class Apcheck extends CommonBaseEntity{
+
+    private Integer ac_b2bid;
+
+    private String ac_code;
+
+    private Date ac_date;
+
+    private Date ac_apdate;
+
+    private Date ac_fromdate;
+
+    private Date ac_todate;
+
+    private String ac_venduu;
+
+    private Integer ac_vendid;
+
+    private String ac_vendcode;
+
+    private String ac_vendname;
+
+    private String ac_currency;
+
+    private Double ac_rate;
+
+    private Double ac_checkamount;
+
+    private String ac_confirmstatus;
+
+    private String ac_confirmstatuscode;
+
+    private Date ac_confirmdate;
+
+    private String ac_remark;
+
+    private String ac_sendstatus;
+
+    private Double ac_thisamount;
+
+    private Double ac_thisuncheck;
+
+    private Double ac_thispay;
+
+    private Double ac_thissend;
+
+    private Double ac_thischeck;
+
+    private Double ac_payamont;
+
+    private Long companyId;
+
+    public Integer getAc_b2bid() {
+        return ac_b2bid;
+    }
+
+    public void setAc_b2bid(Integer ac_b2bid) {
+        this.ac_b2bid = ac_b2bid;
+    }
+
+    public String getAc_code() {
+        return ac_code;
+    }
+
+    public void setAc_code(String ac_code) {
+        this.ac_code = ac_code == null ? null : ac_code.trim();
+    }
+
+    public Date getAc_date() {
+        return ac_date;
+    }
+
+    public void setAc_date(Date ac_date) {
+        this.ac_date = ac_date;
+    }
+
+    public Date getAc_apdate() {
+        return ac_apdate;
+    }
+
+    public void setAc_apdate(Date ac_apdate) {
+        this.ac_apdate = ac_apdate;
+    }
+
+    public Date getAc_fromdate() {
+        return ac_fromdate;
+    }
+
+    public void setAc_fromdate(Date ac_fromdate) {
+        this.ac_fromdate = ac_fromdate;
+    }
+
+    public Date getAc_todate() {
+        return ac_todate;
+    }
+
+    public void setAc_todate(Date ac_todate) {
+        this.ac_todate = ac_todate;
+    }
+
+    public String getAc_venduu() {
+        return ac_venduu;
+    }
+
+    public void setAc_venduu(String ac_venduu) {
+        this.ac_venduu = ac_venduu == null ? null : ac_venduu.trim();
+    }
+
+    public Integer getAc_vendid() {
+        return ac_vendid;
+    }
+
+    public void setAc_vendid(Integer ac_vendid) {
+        this.ac_vendid = ac_vendid;
+    }
+
+    public String getAc_vendcode() {
+        return ac_vendcode;
+    }
+
+    public void setAc_vendcode(String ac_vendcode) {
+        this.ac_vendcode = ac_vendcode == null ? null : ac_vendcode.trim();
+    }
+
+    public String getAc_vendname() {
+        return ac_vendname;
+    }
+
+    public void setAc_vendname(String ac_vendname) {
+        this.ac_vendname = ac_vendname == null ? null : ac_vendname.trim();
+    }
+
+    public String getAc_currency() {
+        return ac_currency;
+    }
+
+    public void setAc_currency(String ac_currency) {
+        this.ac_currency = ac_currency == null ? null : ac_currency.trim();
+    }
+
+    public Double getAc_rate() {
+        return ac_rate;
+    }
+
+    public void setAc_rate(Double ac_rate) {
+        this.ac_rate = ac_rate;
+    }
+
+    public Double getAc_checkamount() {
+        return ac_checkamount;
+    }
+
+    public void setAc_checkamount(Double ac_checkamount) {
+        this.ac_checkamount = ac_checkamount;
+    }
+
+    public String getAc_confirmstatus() {
+        return ac_confirmstatus;
+    }
+
+    public void setAc_confirmstatus(String ac_confirmstatus) {
+        this.ac_confirmstatus = ac_confirmstatus == null ? null : ac_confirmstatus.trim();
+    }
+
+    public String getAc_confirmstatuscode() {
+        return ac_confirmstatuscode;
+    }
+
+    public void setAc_confirmstatuscode(String ac_confirmstatuscode) {
+        this.ac_confirmstatuscode = ac_confirmstatuscode == null ? null : ac_confirmstatuscode.trim();
+    }
+
+    public Date getAc_confirmdate() {
+        return ac_confirmdate;
+    }
+
+    public void setAc_confirmdate(Date ac_confirmdate) {
+        this.ac_confirmdate = ac_confirmdate;
+    }
+
+    public String getAc_remark() {
+        return ac_remark;
+    }
+
+    public void setAc_remark(String ac_remark) {
+        this.ac_remark = ac_remark == null ? null : ac_remark.trim();
+    }
+
+    public String getAc_sendstatus() {
+        return ac_sendstatus;
+    }
+
+    public void setAc_sendstatus(String ac_sendstatus) {
+        this.ac_sendstatus = ac_sendstatus == null ? null : ac_sendstatus.trim();
+    }
+
+    public Double getAc_thisamount() {
+        return ac_thisamount;
+    }
+
+    public void setAc_thisamount(Double ac_thisamount) {
+        this.ac_thisamount = ac_thisamount;
+    }
+
+    public Double getAc_thisuncheck() {
+        return ac_thisuncheck;
+    }
+
+    public void setAc_thisuncheck(Double ac_thisuncheck) {
+        this.ac_thisuncheck = ac_thisuncheck;
+    }
+
+    public Double getAc_thispay() {
+        return ac_thispay;
+    }
+
+    public void setAc_thispay(Double ac_thispay) {
+        this.ac_thispay = ac_thispay;
+    }
+
+    public Double getAc_thissend() {
+        return ac_thissend;
+    }
+
+    public void setAc_thissend(Double ac_thissend) {
+        this.ac_thissend = ac_thissend;
+    }
+
+    public Double getAc_thischeck() {
+        return ac_thischeck;
+    }
+
+    public void setAc_thischeck(Double ac_thischeck) {
+        this.ac_thischeck = ac_thischeck;
+    }
+
+    public Double getAc_payamont() {
+        return ac_payamont;
+    }
+
+    public void setAc_payamont(Double ac_payamont) {
+        this.ac_payamont = ac_payamont;
+    }
+
+    public String getCreatorName() {
+        return creatorName;
+    }
+
+    public void setCreatorName(String creatorName) {
+        this.creatorName = creatorName == null ? null : creatorName.trim();
+    }
+
+    public Long getCompanyId() {
+        return companyId;
+    }
+
+    public void setCompanyId(Long companyId) {
+        this.companyId = companyId;
+    }
+
+
+    public String getUpdaterName() {
+        return updaterName;
+    }
+
+    public void setUpdaterName(String updaterName) {
+        this.updaterName = updaterName == null ? null : updaterName.trim();
+    }
+
+
+    public Date getCreateTime() {
+        return createTime;
+    }
+
+    public void setCreateTime(Date createTime) {
+        this.createTime = createTime;
+    }
+
+}

+ 100 - 0
applications/money/money-dto/src/main/java/com/usoftchina/saas/money/po/ApcheckDetail.java

@@ -0,0 +1,100 @@
+package com.usoftchina.saas.money.po;
+
+import com.usoftchina.saas.base.entity.CommonBaseEntity;
+
+/**
+ * @author: guq
+ * @create: 2019-01-12 15:49
+ **/
+public class ApcheckDetail extends CommonBaseEntity{
+
+    private Long ad_acid;
+
+    private Integer ad_detno;
+
+    private String ad_inoutno;
+
+    private Integer ad_pdno;
+
+    private String ad_prodcode;
+
+    private String ad_pucode;
+
+    private Double ad_price;
+
+    private Double ad_taxrate;
+
+    private Double ad_b2bqty;
+
+    public Long getAd_acid() {
+        return ad_acid;
+    }
+
+    public void setAd_acid(Long ad_acid) {
+        this.ad_acid = ad_acid;
+    }
+
+    public Integer getAd_detno() {
+        return ad_detno;
+    }
+
+    public void setAd_detno(Integer ad_detno) {
+        this.ad_detno = ad_detno;
+    }
+
+    public String getAd_inoutno() {
+        return ad_inoutno;
+    }
+
+    public void setAd_inoutno(String ad_inoutno) {
+        this.ad_inoutno = ad_inoutno == null ? null : ad_inoutno.trim();
+    }
+
+    public Integer getAd_pdno() {
+        return ad_pdno;
+    }
+
+    public void setAd_pdno(Integer ad_pdno) {
+        this.ad_pdno = ad_pdno;
+    }
+
+    public String getAd_prodcode() {
+        return ad_prodcode;
+    }
+
+    public void setAd_prodcode(String ad_prodcode) {
+        this.ad_prodcode = ad_prodcode == null ? null : ad_prodcode.trim();
+    }
+
+    public String getAd_pucode() {
+        return ad_pucode;
+    }
+
+    public void setAd_pucode(String ad_pucode) {
+        this.ad_pucode = ad_pucode == null ? null : ad_pucode.trim();
+    }
+
+    public Double getAd_price() {
+        return ad_price;
+    }
+
+    public void setAd_price(Double ad_price) {
+        this.ad_price = ad_price;
+    }
+
+    public Double getAd_taxrate() {
+        return ad_taxrate;
+    }
+
+    public void setAd_taxrate(Double ad_taxrate) {
+        this.ad_taxrate = ad_taxrate;
+    }
+
+    public Double getAd_b2bqty() {
+        return ad_b2bqty;
+    }
+
+    public void setAd_b2bqty(Double ad_b2bqty) {
+        this.ad_b2bqty = ad_b2bqty;
+    }
+}

+ 7 - 1
applications/money/money-server/src/main/resources/application.yml

@@ -76,4 +76,10 @@ auth:
   public-key: auth/pub.key
 ribbon:
   ReadTimeout: 6000
-  ConnectTimeout: 6000
+  ConnectTimeout: 6000
+b2b:
+  baseUrl:
+    inquiry: https://test-inquiry.uuzcc.cn
+    Component: https://test-mall.uuzcc.cn
+    product: http://test-product.uuzcc.cn
+    uu: https://test-b2b.uuzcc.cn

+ 2 - 1
applications/operation/operation-auth-server/src/main/java/com/usoftchina/saas/operation/auth/config/AuthConfig.java

@@ -13,7 +13,8 @@ public class AuthConfig {
     private String privateKey;
     private String authHeader = "Authorization";
     private List<Long> companies;
-    private int expire = 18000;
+    //一周时间
+    private int expire = 604800;
     private int maxErrors = 5;
 
     public String getPrivateKey() {

+ 13 - 0
applications/operation/operation-auth-server/src/main/resources/config/application-dev.yml

@@ -0,0 +1,13 @@
+eureka:
+  instance:
+    leaseRenewalIntervalInSeconds: 10
+    health-check-url-path: /actuator/health
+    status-page-url-path: /actuator/info
+    prefer-ip-address: true
+    metadata-map:
+      user.name: ${spring.security.user.name}
+      user.password: ${spring.security.user.password}
+  client:
+    registryFetchIntervalSeconds: 5
+    serviceUrl:
+      defaultZone: http://${spring.security.user.name}:${spring.security.user.password}@127.0.0.1:8500/eureka/

+ 9 - 0
applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/InquiryAddDTO.java

@@ -14,6 +14,7 @@ public class InquiryAddDTO implements Serializable {
     private String prodSpec;
     private String prodOrispeccode;
     private String prodBrand;
+    private String prodUnit;
     private Long leadTime;
 
     public String getProdCode() {
@@ -56,6 +57,14 @@ public class InquiryAddDTO implements Serializable {
         this.prodBrand = prodBrand;
     }
 
+    public String getProdUnit() {
+        return prodUnit;
+    }
+
+    public void setProdUnit(String prodUnit) {
+        this.prodUnit = prodUnit;
+    }
+
     public Long getLeadTime() {
         return leadTime;
     }

+ 5 - 5
applications/purchase/purchase-dto/src/main/java/com/usoftchina/saas/purchase/dto/QuotationRspDTO.java

@@ -14,7 +14,7 @@ public class QuotationRspDTO implements Serializable {
     private String tel;
     private String replaceOrispeccode;
     private Long leadTime;
-    private Double texRate;
+    private Double taxRate;
     /**
      * 是否采纳 1 为已采纳 0为已拒绝  空 未处理
      */
@@ -66,12 +66,12 @@ public class QuotationRspDTO implements Serializable {
         this.leadTime = leadTime;
     }
 
-    public Double getTexRate() {
-        return texRate;
+    public Double getTaxRate() {
+        return taxRate;
     }
 
-    public void setTexRate(Double texRate) {
-        this.texRate = texRate;
+    public void setTaxRate(Double taxRate) {
+        this.taxRate = taxRate;
     }
 
     public Short getAgreed() {

+ 1 - 2
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/PurchaseApplication.java

@@ -17,8 +17,7 @@ import org.springframework.transaction.annotation.EnableTransactionManagement;
 @SpringBootApplication
 @EnableEurekaClient
 @EnableTransactionManagement
-@EnableFeignClients({"com.usoftchina.saas",
-                     "com.usoftchina.inquiry"})
+@EnableFeignClients("com.usoftchina.saas")
 @EnableAuthClient
 @MapperScan("com.usoftchina.saas.purchase.mapper")
 @EnableDynamicDataSource

+ 1 - 1
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/controller/PurchaseController.java

@@ -2,7 +2,7 @@ package com.usoftchina.saas.purchase.controller;
 
 
 import com.github.pagehelper.PageInfo;
-import com.usoftchina.inquiry.po.inquiry.IPage;
+import com.usoftchina.saas.inquiry.po.inquiry.IPage;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;

+ 1 - 1
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/PurchaseService.java

@@ -1,7 +1,7 @@
 package com.usoftchina.saas.purchase.service;
 
 import com.github.pagehelper.PageInfo;
-import com.usoftchina.inquiry.po.inquiry.IPage;
+import com.usoftchina.saas.inquiry.po.inquiry.IPage;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.base.service.CommonBaseService;
 import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;

+ 18 - 8
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseServiceImpl.java

@@ -2,11 +2,11 @@ package com.usoftchina.saas.purchase.service.impl;
 
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
-import com.usoftchina.inquiry.api.InquiryApi;
-import com.usoftchina.inquiry.api.SearchApi;
-import com.usoftchina.inquiry.po.inquiry.*;
-import com.usoftchina.inquiry.po.search.ProductEntity;
-import com.usoftchina.inquiry.po.search.SearchComponentResp;
+import com.usoftchina.saas.inquiry.api.InquiryApi;
+import com.usoftchina.saas.inquiry.api.SearchApi;
+import com.usoftchina.saas.inquiry.po.inquiry.*;
+import com.usoftchina.saas.inquiry.po.search.ProductEntity;
+import com.usoftchina.saas.inquiry.po.search.SearchComponentResp;
 import com.usoftchina.saas.account.api.AccountApi;
 import com.usoftchina.saas.account.api.CompanyApi;
 import com.usoftchina.saas.account.dto.AccountDTO;
@@ -759,6 +759,16 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
             purcInquiryItem.setProdTitle(inquiryAddDTO.getProdName());
             purcInquiryItem.setSpec(inquiryAddDTO.getProdSpec());
             purcInquiryItem.setInbrand(inquiryAddDTO.getProdBrand());
+            //询价明细  物料信息
+            Product product = new Product();
+            product.setBrand(inquiryAddDTO.getProdBrand());
+            product.setTitle(inquiryAddDTO.getProdName());
+            product.setCmpCode(inquiryAddDTO.getProdOrispeccode());
+            product.setSpec(inquiryAddDTO.getProdSpec());
+            product.setLeadtime(new BigDecimal(inquiryAddDTO.getLeadTime()).doubleValue());
+            product.setCode(inquiryAddDTO.getProdCode());
+            product.setUnit(inquiryAddDTO.getProdUnit());
+            purcInquiryItem.setProduct(product);
 
             Set<PurcInquiryItem> purcInquiryItemSet = new HashSet<PurcInquiryItem>();
             purcInquiryItemSet.add(purcInquiryItem);
@@ -825,12 +835,12 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
                     QuotationRspDTO quotationRspDTO = new QuotationRspDTO();
                     quotationRspDTO.setId(publicInquiryItem.getId());
                     quotationRspDTO.setVendName(publicInquiryItem.getVendName());
-                    quotationRspDTO.setTexRate(new BigDecimal(publicInquiryItem.getTaxrate()).doubleValue());
+                    quotationRspDTO.setTaxRate(new BigDecimal(publicInquiryItem.getTaxrate()).doubleValue());
                     quotationRspDTO.setLeadTime(publicInquiryItem.getLeadtime());
-                    quotationRspDTO.setTel(publicInquiryItem.getUserTel());
+                    quotationRspDTO.setTel(publicInquiryItem.getUser().getUserTel());
                     quotationRspDTO.setAgreed(publicInquiryItem.getAgreed());
                     quotationRspDTO.setRefusereason(publicInquiryItem.getRefusereason());
-                    quotationRspDTO.setReplaceOrispeccode(publicInquiryItem.getCmpCode());
+                    quotationRspDTO.setReplaceOrispeccode(publicInquiryItem.getReplaceCmpCode());
                     //分段报价信息
                     List<PublicInquiryReply> publicInquiryReplyList = publicInquiryItem.getReplies();
                     List<InquiryReplayDTO> inquiryReplayDTOList = new ArrayList<InquiryReplayDTO>();

+ 56 - 0
applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/InquiryReplayDTO.java

@@ -0,0 +1,56 @@
+package com.usoftchina.saas.sale.dto;
+
+import java.io.Serializable;
+
+/**
+ * @Description
+ * @Author chenwei
+ * @Date 2019/01/08
+ */
+public class InquiryReplayDTO implements Serializable {
+    /**
+     * id
+     */
+    private Long id;
+    /**
+     * (买家或卖家定义的)分段数量
+     */
+    private Double lapQty;
+    /**
+     * (卖家报的)单价
+     */
+    private Double price;
+
+    public Long getId() {
+        return id;
+    }
+
+    public void setId(Long id) {
+        this.id = id;
+    }
+
+    public Double getLapQty() {
+        return lapQty;
+    }
+
+    public void setLapQty(Double lapQty) {
+        this.lapQty = lapQty;
+    }
+
+    public Double getPrice() {
+        return price;
+    }
+
+    public void setPrice(Double price) {
+        this.price = price;
+    }
+
+    public InquiryReplayDTO(Long id, Double lapQty, Double price) {
+        this.id = id;
+        this.lapQty = lapQty;
+        this.price = price;
+    }
+
+    public InquiryReplayDTO() {
+    }
+}

+ 46 - 0
applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/QuotationRspDTO.java

@@ -0,0 +1,46 @@
+package com.usoftchina.saas.sale.dto;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @Author chenwei
+ * @Date 2019/01/08
+ */
+public class QuotationRspDTO implements Serializable {
+
+    /**
+     * 是否采纳 1 为已采纳 0为已拒绝  空 未处理
+     */
+    private Short agreed;
+    /**
+     * 拒绝采纳理由
+     */
+    private String refusereason;
+
+    private List<InquiryReplayDTO> replies;
+
+    public Short getAgreed() {
+        return agreed;
+    }
+
+    public void setAgreed(Short agreed) {
+        this.agreed = agreed;
+    }
+
+    public String getRefusereason() {
+        return refusereason;
+    }
+
+    public void setRefusereason(String refusereason) {
+        this.refusereason = refusereason;
+    }
+
+    public List<InquiryReplayDTO> getReplies() {
+        return replies;
+    }
+
+    public void setReplies(List<InquiryReplayDTO> replies) {
+        this.replies = replies;
+    }
+}

+ 3 - 3
applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/RemindReqDTO.java

@@ -19,7 +19,7 @@ public class RemindReqDTO implements Serializable {
     /**
      * 可报价为1  不可报价为0
      */
-    private int enableOffer;
+    private Integer enableOffer;
     /**
      * 搜索关键字
      */
@@ -53,11 +53,11 @@ public class RemindReqDTO implements Serializable {
         this.pageSize = pageSize;
     }
 
-    public int getEnableOffer() {
+    public Integer getEnableOffer() {
         return enableOffer;
     }
 
-    public void setEnableOffer(int enableOffer) {
+    public void setEnableOffer(Integer enableOffer) {
         this.enableOffer = enableOffer;
     }
 

+ 13 - 0
applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/RemindRspDTO.java

@@ -83,6 +83,11 @@ public class RemindRspDTO implements Serializable {
      */
     private Long inquiryId;
 
+    /**
+     * 报价信息
+     */
+    private QuotationRspDTO qutations;
+
     public String getCustName() {
         return custName;
     }
@@ -226,4 +231,12 @@ public class RemindRspDTO implements Serializable {
     public void setInquiryId(Long inquiryId) {
         this.inquiryId = inquiryId;
     }
+
+    public QuotationRspDTO getQutations() {
+        return qutations;
+    }
+
+    public void setQutations(QuotationRspDTO qutations) {
+        this.qutations = qutations;
+    }
 }

+ 202 - 0
applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/SaleDownDTO.java

@@ -0,0 +1,202 @@
+package com.usoftchina.saas.sale.dto;
+
+import com.usoftchina.saas.base.dto.CommonBaseDTO;
+
+import java.util.Date;
+
+/**
+ * @author: guq
+ * @create: 2019-01-11 15:28
+ **/
+public class SaleDownDTO extends CommonBaseDTO {
+
+    private String sa_code;
+
+    private String sa_customeruu;
+
+    private Integer sa_custid;
+
+    private String sa_custcode;
+
+    private String sa_custname;
+
+    private Date sa_date;
+
+    private String sa_toplace;
+
+    private String sa_currency;
+
+    private Double sa_rate;
+
+    private Integer sa_selleruu;
+
+    private Integer sa_sellerid;
+
+    private String sa_seller;
+
+    private String sa_sellercode;
+
+    private String sa_custcontact;
+
+    private Integer sa_custcontactuu;
+
+    private String sa_custmobile;
+
+    private String sa_pocode;
+
+    private Integer b2b_pu_id;
+
+    private String sa_remark;
+
+    public String getSa_code() {
+        return sa_code;
+    }
+
+    public void setSa_code(String sa_code) {
+        this.sa_code = sa_code;
+    }
+
+    public String getSa_customeruu() {
+        return sa_customeruu;
+    }
+
+    public void setSa_customeruu(String sa_customeruu) {
+        this.sa_customeruu = sa_customeruu;
+    }
+
+    public Integer getSa_custid() {
+        return sa_custid;
+    }
+
+    public void setSa_custid(Integer sa_custid) {
+        this.sa_custid = sa_custid;
+    }
+
+    public String getSa_custcode() {
+        return sa_custcode;
+    }
+
+    public void setSa_custcode(String sa_custcode) {
+        this.sa_custcode = sa_custcode;
+    }
+
+    public String getSa_custname() {
+        return sa_custname;
+    }
+
+    public void setSa_custname(String sa_custname) {
+        this.sa_custname = sa_custname;
+    }
+
+    public Date getSa_date() {
+        return sa_date;
+    }
+
+    public void setSa_date(Date sa_date) {
+        this.sa_date = sa_date;
+    }
+
+    public String getSa_toplace() {
+        return sa_toplace;
+    }
+
+    public void setSa_toplace(String sa_toplace) {
+        this.sa_toplace = sa_toplace;
+    }
+
+    public String getSa_currency() {
+        return sa_currency;
+    }
+
+    public void setSa_currency(String sa_currency) {
+        this.sa_currency = sa_currency;
+    }
+
+    public Double getSa_rate() {
+        return sa_rate;
+    }
+
+    public void setSa_rate(Double sa_rate) {
+        this.sa_rate = sa_rate;
+    }
+
+    public Integer getSa_selleruu() {
+        return sa_selleruu;
+    }
+
+    public void setSa_selleruu(Integer sa_selleruu) {
+        this.sa_selleruu = sa_selleruu;
+    }
+
+    public Integer getSa_sellerid() {
+        return sa_sellerid;
+    }
+
+    public void setSa_sellerid(Integer sa_sellerid) {
+        this.sa_sellerid = sa_sellerid;
+    }
+
+    public String getSa_seller() {
+        return sa_seller;
+    }
+
+    public void setSa_seller(String sa_seller) {
+        this.sa_seller = sa_seller;
+    }
+
+    public String getSa_sellercode() {
+        return sa_sellercode;
+    }
+
+    public void setSa_sellercode(String sa_sellercode) {
+        this.sa_sellercode = sa_sellercode;
+    }
+
+    public String getSa_custcontact() {
+        return sa_custcontact;
+    }
+
+    public void setSa_custcontact(String sa_custcontact) {
+        this.sa_custcontact = sa_custcontact;
+    }
+
+    public Integer getSa_custcontactuu() {
+        return sa_custcontactuu;
+    }
+
+    public void setSa_custcontactuu(Integer sa_custcontactuu) {
+        this.sa_custcontactuu = sa_custcontactuu;
+    }
+
+    public String getSa_custmobile() {
+        return sa_custmobile;
+    }
+
+    public void setSa_custmobile(String sa_custmobile) {
+        this.sa_custmobile = sa_custmobile;
+    }
+
+    public String getSa_pocode() {
+        return sa_pocode;
+    }
+
+    public void setSa_pocode(String sa_pocode) {
+        this.sa_pocode = sa_pocode;
+    }
+
+    public Integer getB2b_pu_id() {
+        return b2b_pu_id;
+    }
+
+    public void setB2b_pu_id(Integer b2b_pu_id) {
+        this.b2b_pu_id = b2b_pu_id;
+    }
+
+    public String getSa_remark() {
+        return sa_remark;
+    }
+
+    public void setSa_remark(String sa_remark) {
+        this.sa_remark = sa_remark;
+    }
+}

+ 212 - 0
applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/SaleDownDetailDTO.java

@@ -0,0 +1,212 @@
+package com.usoftchina.saas.sale.dto;
+
+import com.usoftchina.saas.base.dto.CommonBaseDTO;
+
+import java.util.Date;
+
+/**
+ * @author: guq
+ * @create: 2019-01-11 15:39
+ **/
+public class SaleDownDetailDTO extends CommonBaseDTO{
+
+    private String sd_code;
+
+    private Integer sd_detno;
+
+    private Integer b2b_pd_id;
+
+    private Integer sd_prodid;
+
+    private String sd_prodcode;
+
+    private String sd_prodspec;
+
+    private String sd_orispeccode;
+
+    private String sd_custorispeccode;
+
+    private String sd_custprodcode;
+
+    private String sd_custproddetail;
+
+    private String sd_custprodspec;
+
+    private String sd_produnit;
+
+    private Double sd_qty;
+
+    private Double sd_price;
+
+    private Double sd_total;
+
+    private Double sd_taxrate;
+
+    private Double sd_costprice;
+
+    private Double sd_taxtotal;
+
+    private Date sd_delivery;
+
+    private String sd_remark;
+
+    public String getSd_code() {
+        return sd_code;
+    }
+
+    public void setSd_code(String sd_code) {
+        this.sd_code = sd_code;
+    }
+
+    public Integer getSd_detno() {
+        return sd_detno;
+    }
+
+    public void setSd_detno(Integer sd_detno) {
+        this.sd_detno = sd_detno;
+    }
+
+    public Integer getB2b_pd_id() {
+        return b2b_pd_id;
+    }
+
+    public void setB2b_pd_id(Integer b2b_pd_id) {
+        this.b2b_pd_id = b2b_pd_id;
+    }
+
+    public Integer getSd_prodid() {
+        return sd_prodid;
+    }
+
+    public void setSd_prodid(Integer sd_prodid) {
+        this.sd_prodid = sd_prodid;
+    }
+
+    public String getSd_prodcode() {
+        return sd_prodcode;
+    }
+
+    public void setSd_prodcode(String sd_prodcode) {
+        this.sd_prodcode = sd_prodcode;
+    }
+
+    public String getSd_prodspec() {
+        return sd_prodspec;
+    }
+
+    public void setSd_prodspec(String sd_prodspec) {
+        this.sd_prodspec = sd_prodspec;
+    }
+
+    public String getSd_orispeccode() {
+        return sd_orispeccode;
+    }
+
+    public void setSd_orispeccode(String sd_orispeccode) {
+        this.sd_orispeccode = sd_orispeccode;
+    }
+
+    public String getSd_custorispeccode() {
+        return sd_custorispeccode;
+    }
+
+    public void setSd_custorispeccode(String sd_custorispeccode) {
+        this.sd_custorispeccode = sd_custorispeccode;
+    }
+
+    public String getSd_custprodcode() {
+        return sd_custprodcode;
+    }
+
+    public void setSd_custprodcode(String sd_custprodcode) {
+        this.sd_custprodcode = sd_custprodcode;
+    }
+
+    public String getSd_custproddetail() {
+        return sd_custproddetail;
+    }
+
+    public void setSd_custproddetail(String sd_custproddetail) {
+        this.sd_custproddetail = sd_custproddetail;
+    }
+
+    public String getSd_custprodspec() {
+        return sd_custprodspec;
+    }
+
+    public void setSd_custprodspec(String sd_custprodspec) {
+        this.sd_custprodspec = sd_custprodspec;
+    }
+
+    public String getSd_produnit() {
+        return sd_produnit;
+    }
+
+    public void setSd_produnit(String sd_produnit) {
+        this.sd_produnit = sd_produnit;
+    }
+
+    public Double getSd_qty() {
+        return sd_qty;
+    }
+
+    public void setSd_qty(Double sd_qty) {
+        this.sd_qty = sd_qty;
+    }
+
+    public Double getSd_price() {
+        return sd_price;
+    }
+
+    public void setSd_price(Double sd_price) {
+        this.sd_price = sd_price;
+    }
+
+    public Double getSd_total() {
+        return sd_total;
+    }
+
+    public void setSd_total(Double sd_total) {
+        this.sd_total = sd_total;
+    }
+
+    public Double getSd_taxrate() {
+        return sd_taxrate;
+    }
+
+    public void setSd_taxrate(Double sd_taxrate) {
+        this.sd_taxrate = sd_taxrate;
+    }
+
+    public Double getSd_costprice() {
+        return sd_costprice;
+    }
+
+    public void setSd_costprice(Double sd_costprice) {
+        this.sd_costprice = sd_costprice;
+    }
+
+    public Double getSd_taxtotal() {
+        return sd_taxtotal;
+    }
+
+    public void setSd_taxtotal(Double sd_taxtotal) {
+        this.sd_taxtotal = sd_taxtotal;
+    }
+
+    public Date getSd_delivery() {
+        return sd_delivery;
+    }
+
+    public void setSd_delivery(Date sd_delivery) {
+        this.sd_delivery = sd_delivery;
+    }
+
+    public String getSd_remark() {
+        return sd_remark;
+    }
+
+    public void setSd_remark(String sd_remark) {
+        this.sd_remark = sd_remark;
+    }
+}

+ 30 - 0
applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/SaleDownFormDTO.java

@@ -0,0 +1,30 @@
+package com.usoftchina.saas.sale.dto;
+
+import java.io.Serializable;
+import java.util.List;
+
+/**
+ * @author: guq
+ * @create: 2019-01-11 17:36
+ **/
+public class SaleDownFormDTO implements Serializable{
+
+    private SaleDownDTO main;
+    private List<SaleDownDetailDTO> items;
+
+    public SaleDownDTO getMain() {
+        return main;
+    }
+
+    public void setMain(SaleDownDTO main) {
+        this.main = main;
+    }
+
+    public List<SaleDownDetailDTO> getItems() {
+        return items;
+    }
+
+    public void setItems(List<SaleDownDetailDTO> items) {
+        this.items = items;
+    }
+}

+ 1 - 2
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/SaleApplication.java

@@ -17,8 +17,7 @@ import org.springframework.context.annotation.ComponentScan;
 @SpringBootApplication
 @MapperScan("com.usoftchina.saas.sale.mapper")
 @EnableEurekaClient
-@EnableFeignClients({"com.usoftchina.saas",
-                    "com.usoftchina.inquiry"})
+@EnableFeignClients("com.usoftchina.saas")
 @EnableAuthClient
 @EnableDynamicDataSource
 @ComponentScan(basePackages = {"com.usoftchina.saas"})

+ 3 - 3
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/controller/SaleController.java

@@ -1,8 +1,8 @@
 package com.usoftchina.saas.sale.controller;
 
 import com.github.pagehelper.PageInfo;
-import com.usoftchina.inquiry.po.inquiry.IPage;
-import com.usoftchina.inquiry.po.inquiry.PublicInquiryItem;
+import com.usoftchina.saas.inquiry.po.inquiry.IPage;
+import com.usoftchina.saas.inquiry.po.inquiry.PublicInquiryItem;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
@@ -223,7 +223,7 @@ public class SaleController {
      * @return
      */
     @PostMapping("/businessChance/saveQuote")
-    public Result saveQuote(PublicInquiryItem publicInquiryItem){
+    public Result saveQuote(@RequestBody PublicInquiryItem publicInquiryItem){
         return Result.success(saleService.saveQuote(publicInquiryItem));
     }
 }

+ 274 - 0
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/po/SaleDown.java

@@ -0,0 +1,274 @@
+package com.usoftchina.saas.sale.po;
+
+import com.usoftchina.saas.base.entity.CommonBaseEntity;
+
+import java.util.Date;
+
+/**
+ * @author: guq
+ * @create: 2019-01-11 15:04
+ **/
+public class SaleDown extends CommonBaseEntity{
+
+    private String sa_code;
+
+    private String sa_customeruu;
+
+    private Integer sa_custid;
+
+    private String sa_custcode;
+
+    private String sa_custname;
+
+    private Date sa_date;
+
+    private String sa_toplace;
+
+    private String sa_currency;
+
+    private Double sa_rate;
+
+    private Integer sa_selleruu;
+
+    private Integer sa_sellerid;
+
+    private String sa_seller;
+
+    private String sa_sellercode;
+
+    private String sa_custcontact;
+
+    private Integer sa_custcontactuu;
+
+    private String sa_custmobile;
+
+    private String sa_pocode;
+
+    private Integer b2b_pu_id;
+
+    private String sa_printstatus;
+
+    private String sa_printstatuscode;
+
+    private String sa_attach;
+
+    private String sa_status;
+
+    private String sa_statuscode;
+
+    private String sa_remark;
+
+    private String sa_turnstatus;
+
+    private String sa_turnstatuscode;
+
+    public String getSa_turnstatus() {
+        return sa_turnstatus;
+    }
+
+    public void setSa_turnstatus(String sa_turnstatus) {
+        this.sa_turnstatus = sa_turnstatus;
+    }
+
+    public String getSa_turnstatuscode() {
+        return sa_turnstatuscode;
+    }
+
+    public void setSa_turnstatuscode(String sa_turnstatuscode) {
+        this.sa_turnstatuscode = sa_turnstatuscode;
+    }
+
+
+
+    public String getSa_code() {
+        return sa_code;
+    }
+
+    public void setSa_code(String sa_code) {
+        this.sa_code = sa_code == null ? null : sa_code.trim();
+    }
+
+    public String getSa_customeruu() {
+        return sa_customeruu;
+    }
+
+    public void setSa_customeruu(String sa_customeruu) {
+        this.sa_customeruu = sa_customeruu == null ? null : sa_customeruu.trim();
+    }
+
+    public Integer getSa_custid() {
+        return sa_custid;
+    }
+
+    public void setSa_custid(Integer sa_custid) {
+        this.sa_custid = sa_custid;
+    }
+
+    public String getSa_custcode() {
+        return sa_custcode;
+    }
+
+    public void setSa_custcode(String sa_custcode) {
+        this.sa_custcode = sa_custcode == null ? null : sa_custcode.trim();
+    }
+
+    public String getSa_custname() {
+        return sa_custname;
+    }
+
+    public void setSa_custname(String sa_custname) {
+        this.sa_custname = sa_custname == null ? null : sa_custname.trim();
+    }
+
+    public Date getSa_date() {
+        return sa_date;
+    }
+
+    public void setSa_date(Date sa_date) {
+        this.sa_date = sa_date;
+    }
+
+    public String getSa_toplace() {
+        return sa_toplace;
+    }
+
+    public void setSa_toplace(String sa_toplace) {
+        this.sa_toplace = sa_toplace == null ? null : sa_toplace.trim();
+    }
+
+    public String getSa_currency() {
+        return sa_currency;
+    }
+
+    public void setSa_currency(String sa_currency) {
+        this.sa_currency = sa_currency == null ? null : sa_currency.trim();
+    }
+
+    public Double getSa_rate() {
+        return sa_rate;
+    }
+
+    public void setSa_rate(Double sa_rate) {
+        this.sa_rate = sa_rate;
+    }
+
+    public Integer getSa_selleruu() {
+        return sa_selleruu;
+    }
+
+    public void setSa_selleruu(Integer sa_selleruu) {
+        this.sa_selleruu = sa_selleruu;
+    }
+
+    public Integer getSa_sellerid() {
+        return sa_sellerid;
+    }
+
+    public void setSa_sellerid(Integer sa_sellerid) {
+        this.sa_sellerid = sa_sellerid;
+    }
+
+    public String getSa_seller() {
+        return sa_seller;
+    }
+
+    public void setSa_seller(String sa_seller) {
+        this.sa_seller = sa_seller == null ? null : sa_seller.trim();
+    }
+
+    public String getSa_sellercode() {
+        return sa_sellercode;
+    }
+
+    public void setSa_sellercode(String sa_sellercode) {
+        this.sa_sellercode = sa_sellercode == null ? null : sa_sellercode.trim();
+    }
+
+    public String getSa_custcontact() {
+        return sa_custcontact;
+    }
+
+    public void setSa_custcontact(String sa_custcontact) {
+        this.sa_custcontact = sa_custcontact == null ? null : sa_custcontact.trim();
+    }
+
+    public Integer getSa_custcontactuu() {
+        return sa_custcontactuu;
+    }
+
+    public void setSa_custcontactuu(Integer sa_custcontactuu) {
+        this.sa_custcontactuu = sa_custcontactuu;
+    }
+
+    public String getSa_custmobile() {
+        return sa_custmobile;
+    }
+
+    public void setSa_custmobile(String sa_custmobile) {
+        this.sa_custmobile = sa_custmobile == null ? null : sa_custmobile.trim();
+    }
+
+    public String getSa_pocode() {
+        return sa_pocode;
+    }
+
+    public void setSa_pocode(String sa_pocode) {
+        this.sa_pocode = sa_pocode == null ? null : sa_pocode.trim();
+    }
+
+    public Integer getB2b_pu_id() {
+        return b2b_pu_id;
+    }
+
+    public void setB2b_pu_id(Integer b2b_pu_id) {
+        this.b2b_pu_id = b2b_pu_id;
+    }
+
+    public String getSa_printstatus() {
+        return sa_printstatus;
+    }
+
+    public void setSa_printstatus(String sa_printstatus) {
+        this.sa_printstatus = sa_printstatus == null ? null : sa_printstatus.trim();
+    }
+
+    public String getSa_printstatuscode() {
+        return sa_printstatuscode;
+    }
+
+    public void setSa_printstatuscode(String sa_printstatuscode) {
+        this.sa_printstatuscode = sa_printstatuscode == null ? null : sa_printstatuscode.trim();
+    }
+
+    public String getSa_attach() {
+        return sa_attach;
+    }
+
+    public void setSa_attach(String sa_attach) {
+        this.sa_attach = sa_attach == null ? null : sa_attach.trim();
+    }
+
+    public String getSa_status() {
+        return sa_status;
+    }
+
+    public void setSa_status(String sa_status) {
+        this.sa_status = sa_status == null ? null : sa_status.trim();
+    }
+
+    public String getSa_statuscode() {
+        return sa_statuscode;
+    }
+
+    public void setSa_statuscode(String sa_statuscode) {
+        this.sa_statuscode = sa_statuscode == null ? null : sa_statuscode.trim();
+    }
+
+    public String getSa_remark() {
+        return sa_remark;
+    }
+
+    public void setSa_remark(String sa_remark) {
+        this.sa_remark = sa_remark == null ? null : sa_remark.trim();
+    }
+}

+ 222 - 0
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/po/SaleDownDetail.java

@@ -0,0 +1,222 @@
+package com.usoftchina.saas.sale.po;
+
+import com.usoftchina.saas.base.entity.CommonBaseEntity;
+
+import java.util.Date;
+
+/**
+ * @author: guq
+ * @create: 2019-01-11 15:06
+ **/
+public class SaleDownDetail extends CommonBaseEntity{
+
+    private Long sd_said;
+
+    private String sd_code;
+
+    private Integer sd_detno;
+
+    private Integer b2b_pd_id;
+
+    private Integer sd_prodid;
+
+    private String sd_prodcode;
+
+    private String sd_prodspec;
+
+    private String sd_orispeccode;
+
+    private String sd_custorispeccode;
+
+    private String sd_custprodcode;
+
+    private String sd_custproddetail;
+
+    private String sd_custprodspec;
+
+    private String sd_produnit;
+
+    private Double sd_qty;
+
+    private Double sd_price;
+
+    private Double sd_total;
+
+    private Double sd_taxrate;
+
+    private Double sd_costprice;
+
+    private Double sd_taxtotal;
+
+    private Date sd_delivery;
+
+    private String sd_remark;
+
+    public Long getSd_said() {
+        return sd_said;
+    }
+
+    public void setSd_said(Long sd_said) {
+        this.sd_said = sd_said;
+    }
+
+    public String getSd_code() {
+        return sd_code;
+    }
+
+    public void setSd_code(String sd_code) {
+        this.sd_code = sd_code == null ? null : sd_code.trim();
+    }
+
+    public Integer getSd_detno() {
+        return sd_detno;
+    }
+
+    public void setSd_detno(Integer sd_detno) {
+        this.sd_detno = sd_detno;
+    }
+
+    public Integer getB2b_pd_id() {
+        return b2b_pd_id;
+    }
+
+    public void setB2b_pd_id(Integer b2b_pd_id) {
+        this.b2b_pd_id = b2b_pd_id;
+    }
+
+    public Integer getSd_prodid() {
+        return sd_prodid;
+    }
+
+    public void setSd_prodid(Integer sd_prodid) {
+        this.sd_prodid = sd_prodid;
+    }
+
+    public String getSd_prodcode() {
+        return sd_prodcode;
+    }
+
+    public void setSd_prodcode(String sd_prodcode) {
+        this.sd_prodcode = sd_prodcode == null ? null : sd_prodcode.trim();
+    }
+
+    public String getSd_prodspec() {
+        return sd_prodspec;
+    }
+
+    public void setSd_prodspec(String sd_prodspec) {
+        this.sd_prodspec = sd_prodspec == null ? null : sd_prodspec.trim();
+    }
+
+    public String getSd_orispeccode() {
+        return sd_orispeccode;
+    }
+
+    public void setSd_orispeccode(String sd_orispeccode) {
+        this.sd_orispeccode = sd_orispeccode == null ? null : sd_orispeccode.trim();
+    }
+
+    public String getSd_custorispeccode() {
+        return sd_custorispeccode;
+    }
+
+    public void setSd_custorispeccode(String sd_custorispeccode) {
+        this.sd_custorispeccode = sd_custorispeccode == null ? null : sd_custorispeccode.trim();
+    }
+
+    public String getSd_custprodcode() {
+        return sd_custprodcode;
+    }
+
+    public void setSd_custprodcode(String sd_custprodcode) {
+        this.sd_custprodcode = sd_custprodcode == null ? null : sd_custprodcode.trim();
+    }
+
+    public String getSd_custproddetail() {
+        return sd_custproddetail;
+    }
+
+    public void setSd_custproddetail(String sd_custproddetail) {
+        this.sd_custproddetail = sd_custproddetail == null ? null : sd_custproddetail.trim();
+    }
+
+    public String getSd_custprodspec() {
+        return sd_custprodspec;
+    }
+
+    public void setSd_custprodspec(String sd_custprodspec) {
+        this.sd_custprodspec = sd_custprodspec == null ? null : sd_custprodspec.trim();
+    }
+
+    public String getSd_produnit() {
+        return sd_produnit;
+    }
+
+    public void setSd_produnit(String sd_produnit) {
+        this.sd_produnit = sd_produnit == null ? null : sd_produnit.trim();
+    }
+
+    public Double getSd_qty() {
+        return sd_qty;
+    }
+
+    public void setSd_qty(Double sd_qty) {
+        this.sd_qty = sd_qty;
+    }
+
+    public Double getSd_price() {
+        return sd_price;
+    }
+
+    public void setSd_price(Double sd_price) {
+        this.sd_price = sd_price;
+    }
+
+    public Double getSd_total() {
+        return sd_total;
+    }
+
+    public void setSd_total(Double sd_total) {
+        this.sd_total = sd_total;
+    }
+
+    public Double getSd_taxrate() {
+        return sd_taxrate;
+    }
+
+    public void setSd_taxrate(Double sd_taxrate) {
+        this.sd_taxrate = sd_taxrate;
+    }
+
+    public Double getSd_costprice() {
+        return sd_costprice;
+    }
+
+    public void setSd_costprice(Double sd_costprice) {
+        this.sd_costprice = sd_costprice;
+    }
+
+    public Double getSd_taxtotal() {
+        return sd_taxtotal;
+    }
+
+    public void setSd_taxtotal(Double sd_taxtotal) {
+        this.sd_taxtotal = sd_taxtotal;
+    }
+
+    public Date getSd_delivery() {
+        return sd_delivery;
+    }
+
+    public void setSd_delivery(Date sd_delivery) {
+        this.sd_delivery = sd_delivery;
+    }
+
+    public String getSd_remark() {
+        return sd_remark;
+    }
+
+    public void setSd_remark(String sd_remark) {
+        this.sd_remark = sd_remark == null ? null : sd_remark.trim();
+    }
+}

+ 2 - 2
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/SaleService.java

@@ -1,8 +1,8 @@
 package com.usoftchina.saas.sale.service;
 
 import com.github.pagehelper.PageInfo;
-import com.usoftchina.inquiry.po.inquiry.IPage;
-import com.usoftchina.inquiry.po.inquiry.PublicInquiryItem;
+import com.usoftchina.saas.inquiry.po.inquiry.IPage;
+import com.usoftchina.saas.inquiry.po.inquiry.PublicInquiryItem;
 import com.usoftchina.saas.commons.dto.BatchDealBaseDTO;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;

+ 41 - 5
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleServiceImpl.java

@@ -2,11 +2,8 @@ package com.usoftchina.saas.sale.service.impl;
 
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
-import com.usoftchina.inquiry.api.InquiryApi;
-import com.usoftchina.inquiry.po.inquiry.IPage;
-import com.usoftchina.inquiry.po.inquiry.InquiryEnRemind;
-import com.usoftchina.inquiry.po.inquiry.InquiryRemind;
-import com.usoftchina.inquiry.po.inquiry.PublicInquiryItem;
+import com.usoftchina.saas.inquiry.api.InquiryApi;
+import com.usoftchina.saas.inquiry.po.inquiry.*;
 import com.usoftchina.saas.account.api.AccountApi;
 import com.usoftchina.saas.account.api.CompanyApi;
 import com.usoftchina.saas.base.Result;
@@ -737,6 +734,9 @@ public class SaleServiceImpl implements SaleService{
         LOGGER.info("publicInquiryItem, {}", JsonUtils.toJsonString(publicInquiryItem));
         ModelMap modelMap = inquiryApi.saveQuote(publicInquiryItem);
         LOGGER.info("返回结果, ModelMap{}", JsonUtils.toJsonString(modelMap));
+        if ("false".equals(modelMap.get("success"))){
+            throw new BizException(73000, String.valueOf(modelMap.get("message")));
+        }
         return null;
     }
 
@@ -776,6 +776,24 @@ public class SaleServiceImpl implements SaleService{
                 remindRspDTO.setRecorderUU(userUU);
                 remindRspDTO.setInquiryCode(inquiryEnRemind.getCode());
                 remindRspDTO.setInquiryId(inquiryEnRemind.getId());
+
+                QuotationRspDTO quotationRspDTO = new QuotationRspDTO();
+                PublicInquiryItem publicInquiryItem = inquiryEnRemind.getQuotation();
+                if (!ObjectUtils.isEmpty(publicInquiryItem)) {
+                    quotationRspDTO.setAgreed(publicInquiryItem.getAgreed());
+                    quotationRspDTO.setRefusereason(publicInquiryItem.getRefusereason());
+                    //分段报价明细
+                    List<InquiryReplayDTO> inquiryReplayDTOList = new ArrayList<InquiryReplayDTO>();
+                    List<PublicInquiryReply> publicInquiryReplyList = publicInquiryItem.getReplies();
+                    if (!CollectionUtils.isEmpty(publicInquiryReplyList)) {
+                        for (PublicInquiryReply publicInquiryReply : publicInquiryReplyList) {
+                            InquiryReplayDTO inquiryReplayDTO = new InquiryReplayDTO(publicInquiryReply.getId(), publicInquiryReply.getLapQty(), publicInquiryReply.getPrice());
+                            inquiryReplayDTOList.add(inquiryReplayDTO);
+                        }
+                    }
+                    quotationRspDTO.setReplies(inquiryReplayDTOList);
+                    remindRspDTO.setQutations(quotationRspDTO);
+                }
                 remindRspDTOList.add(remindRspDTO);
             }
         }else if("personal".equals(type)){
@@ -805,6 +823,24 @@ public class SaleServiceImpl implements SaleService{
                 remindRspDTO.setRecorderUU(userUU);
                 remindRspDTO.setInquiryCode(inquiryRemind.getCode());
                 remindRspDTO.setInquiryId(inquiryRemind.getId());
+                //报价信息
+                QuotationRspDTO quotationRspDTO = new QuotationRspDTO();
+                PublicInquiryItem publicInquiryItem = inquiryRemind.getQuotation();
+                if (!ObjectUtils.isEmpty(publicInquiryItem)) {
+                    quotationRspDTO.setAgreed(publicInquiryItem.getAgreed());
+                    quotationRspDTO.setRefusereason(publicInquiryItem.getRefusereason());
+                    //分段报价明细
+                    List<InquiryReplayDTO> inquiryReplayDTOList = new ArrayList<InquiryReplayDTO>();
+                    List<PublicInquiryReply> publicInquiryReplyList = publicInquiryItem.getReplies();
+                    if (!CollectionUtils.isEmpty(publicInquiryReplyList)) {
+                        for (PublicInquiryReply publicInquiryReply : publicInquiryReplyList) {
+                            InquiryReplayDTO inquiryReplayDTO = new InquiryReplayDTO(publicInquiryReply.getId(), publicInquiryReply.getLapQty(), publicInquiryReply.getPrice());
+                            inquiryReplayDTOList.add(inquiryReplayDTO);
+                        }
+                    }
+                    quotationRspDTO.setReplies(inquiryReplayDTOList);
+                    remindRspDTO.setQutations(quotationRspDTO);
+                }
                 remindRspDTOList.add(remindRspDTO);
             }
         }

+ 2 - 2
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/api/InquiryApi.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/api/InquiryApi.java

@@ -1,6 +1,6 @@
-package com.usoftchina.inquiry.api;
+package com.usoftchina.saas.inquiry.api;
 
-import com.usoftchina.inquiry.po.inquiry.*;
+import com.usoftchina.saas.inquiry.po.inquiry.*;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.ui.ModelMap;
 import org.springframework.web.bind.annotation.*;

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/api/PublicProductApi.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/api/PublicProductApi.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.api;
+package com.usoftchina.saas.inquiry.api;
 
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;

+ 2 - 2
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/api/SearchApi.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/api/SearchApi.java

@@ -1,6 +1,6 @@
-package com.usoftchina.inquiry.api;
+package com.usoftchina.saas.inquiry.api;
 
-import com.usoftchina.inquiry.po.search.SearchComponentResp;
+import com.usoftchina.saas.inquiry.po.search.SearchComponentResp;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.*;
 

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/api/SearchUUApi.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/api/SearchUUApi.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.api;
+package com.usoftchina.saas.inquiry.api;
 
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.ui.ModelMap;

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/inquiry/Attach.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/Attach.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.inquiry;
+package com.usoftchina.saas.inquiry.po.inquiry;
 
 import java.io.Serializable;
 import java.util.Date;

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/inquiry/Enterprise.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/Enterprise.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.inquiry;
+package com.usoftchina.saas.inquiry.po.inquiry;
 
 import java.io.Serializable;
 

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/inquiry/IPage.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/IPage.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.inquiry;
+package com.usoftchina.saas.inquiry.po.inquiry;
 
 import java.io.Serializable;
 import java.util.List;

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/inquiry/InquiryEnRemind.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/InquiryEnRemind.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.inquiry;
+package com.usoftchina.saas.inquiry.po.inquiry;
 
 import java.io.Serializable;
 import java.util.Date;

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/inquiry/InquiryRemind.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/InquiryRemind.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.inquiry;
+package com.usoftchina.saas.inquiry.po.inquiry;
 
 import java.io.Serializable;
 import java.util.Date;

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/inquiry/Product.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/Product.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.inquiry;
+package com.usoftchina.saas.inquiry.po.inquiry;
 
 import java.util.Date;
 import java.util.Set;

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/inquiry/ProductMatchResult.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/ProductMatchResult.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.inquiry;
+package com.usoftchina.saas.inquiry.po.inquiry;
 
 
 import java.io.Serializable;

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/inquiry/PublicInquiry.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/PublicInquiry.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.inquiry;
+package com.usoftchina.saas.inquiry.po.inquiry;
 
 import java.io.Serializable;
 import java.util.Date;

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/inquiry/PublicInquiryItem.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/PublicInquiryItem.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.inquiry;
+package com.usoftchina.saas.inquiry.po.inquiry;
 
 import org.springframework.util.CollectionUtils;
 

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/inquiry/PublicInquiryReply.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/PublicInquiryReply.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.inquiry;
+package com.usoftchina.saas.inquiry.po.inquiry;
 
 import java.io.Serializable;
 

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/inquiry/PurcInquiry.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/PurcInquiry.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.inquiry;
+package com.usoftchina.saas.inquiry.po.inquiry;
 
 import java.io.Serializable;
 import java.util.Date;

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/inquiry/PurcInquiryInfo.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/PurcInquiryInfo.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.inquiry;
+package com.usoftchina.saas.inquiry.po.inquiry;
 
 
 import java.io.Serializable;

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/inquiry/PurcInquiryItem.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/PurcInquiryItem.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.inquiry;
+package com.usoftchina.saas.inquiry.po.inquiry;
 
 import java.util.*;
 

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/inquiry/PurcInquiryItemInfo.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/PurcInquiryItemInfo.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.inquiry;
+package com.usoftchina.saas.inquiry.po.inquiry;
 
 import java.util.*;
 

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/inquiry/PurchaseInquiryReply.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/PurchaseInquiryReply.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.inquiry;
+package com.usoftchina.saas.inquiry.po.inquiry;
 
 import java.io.Serializable;
 

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/inquiry/User.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/inquiry/User.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.inquiry;
+package com.usoftchina.saas.inquiry.po.inquiry;
 
 import java.io.Serializable;
 

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/search/FuturesEntity.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/search/FuturesEntity.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.search;
+package com.usoftchina.saas.inquiry.po.search;
 
 
 import java.io.Serializable;

+ 1 - 3
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/search/GoodsEntity.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/search/GoodsEntity.java

@@ -1,9 +1,7 @@
-package com.usoftchina.inquiry.po.search;
+package com.usoftchina.saas.inquiry.po.search;
 
 import java.io.Serializable;
-import java.util.Date;
 import java.util.List;
-import java.util.Objects;
 
 /**
  * 商品信息

+ 1 - 3
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/search/ProductEntity.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/search/ProductEntity.java

@@ -1,8 +1,6 @@
-package com.usoftchina.inquiry.po.search;
+package com.usoftchina.saas.inquiry.po.search;
 
 import java.io.Serializable;
-import java.util.Date;
-import java.util.Objects;
 
 /**
  * 物料信息

+ 1 - 3
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/search/QtyPrice.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/search/QtyPrice.java

@@ -1,8 +1,6 @@
-package com.usoftchina.inquiry.po.search;
+package com.usoftchina.saas.inquiry.po.search;
 
 import java.io.Serializable;
-import java.util.Date;
-import java.util.Objects;
 
 /**
  * 分段数量

+ 1 - 2
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/search/SearchComponentResp.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/search/SearchComponentResp.java

@@ -1,7 +1,6 @@
-package com.usoftchina.inquiry.po.search;
+package com.usoftchina.saas.inquiry.po.search;
 
 import java.io.Serializable;
-import java.util.List;
 
 /**
  * 器件查询

+ 1 - 1
applications/transfers/mall-api/src/main/java/com/usoftchina/inquiry/po/search/StockEntity.java → applications/transfers/mall-api/src/main/java/com/usoftchina/saas/inquiry/po/search/StockEntity.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.po.search;
+package com.usoftchina.saas.inquiry.po.search;
 
 
 import java.io.Serializable;

+ 23 - 23
applications/transfers/mall-api/src/test/java/com/usoftchina/inquiry/test/InquiryApiTest.java → applications/transfers/mall-api/src/test/java/com/usoftchina/saas/inquiry/test/InquiryApiTest.java

@@ -1,7 +1,7 @@
-package com.usoftchina.inquiry.test;
+package com.usoftchina.saas.inquiry.test;
 
-import com.usoftchina.inquiry.api.InquiryApi;
-import com.usoftchina.inquiry.po.inquiry.*;
+import com.usoftchina.saas.inquiry.api.InquiryApi;
+import com.usoftchina.saas.inquiry.po.inquiry.*;
 import com.usoftchina.saas.utils.JsonUtils;
 import org.junit.FixMethodOrder;
 import org.junit.Test;
@@ -55,41 +55,41 @@ public class InquiryApiTest {
     @Test
     public void testD_saveQuote(){
         PublicInquiryItem publicInquiryItem = new PublicInquiryItem();
-        publicInquiryItem.setSourceId(2443698L);
-        publicInquiryItem.setVendUU(10050549L);     //祝通鸿
-        publicInquiryItem.setVendUserUU(1000027410L);   //祝通鸿
+        publicInquiryItem.setSourceId(2443743L);
+        publicInquiryItem.setVendUU(10050572L);     //李剑辉
+        publicInquiryItem.setVendUserUU(1000027286L);   //李剑辉
         publicInquiryItem.setIsReplace((short) 0);
-        publicInquiryItem.setCmpCode("MT8783V");
-        publicInquiryItem.setSpec("MT8783V/CT,VFBGA641,SMD,无卤");
+        publicInquiryItem.setCmpCode("E0400010077");
+        publicInquiryItem.setSpec("");
         publicInquiryItem.setDate(new Date());
-        publicInquiryItem.setEndDate(new Date(System.currentTimeMillis() + 3 * 24 * 60 * 60 * 1000));
-        publicInquiryItem.setInbrand("MTK");
-        publicInquiryItem.setProdTitle("控制器IC");
+        publicInquiryItem.setEndDate(new Date(System.currentTimeMillis() + 2 * 24 * 60 * 60 * 1000));
+        publicInquiryItem.setInbrand("ARROW");
+        publicInquiryItem.setProdTitle("贴片电阻");
         publicInquiryItem.setQutoApp("sp");
         publicInquiryItem.setCurrency("RMB");
-        publicInquiryItem.setLeadtime(3L);
+        publicInquiryItem.setLeadtime(2L);
         publicInquiryItem.setTaxrate(0.16f);
         //分段报价信息
         List<PublicInquiryReply> replyList = new ArrayList<PublicInquiryReply>();
         PublicInquiryReply publicInquiryReply = new PublicInquiryReply();
-        publicInquiryReply.setLapQty(100.0);
-        publicInquiryReply.setPrice(23.13);
+        publicInquiryReply.setLapQty(1.0);
+        publicInquiryReply.setPrice(2.13);
         replyList.add(publicInquiryReply);
         publicInquiryReply = new PublicInquiryReply();
-        publicInquiryReply.setLapQty(200.0);
-        publicInquiryReply.setPrice(22.13);
+        publicInquiryReply.setLapQty(10000.0);
+        publicInquiryReply.setPrice(1.73);
         replyList.add(publicInquiryReply);
 
         //买家采购员信息
-        publicInquiryItem.setUserName("何炎");
-        publicInquiryItem.setUserTel("13978887888");
-        publicInquiryItem.setUserUU(1000012297L);
+        publicInquiryItem.setUserName("陈囿余");
+        publicInquiryItem.setUserTel("13538100180");
+        publicInquiryItem.setUserUU(1000006382L);
         //询价单信息
         PublicInquiry inquiry = new PublicInquiry();
-        inquiry.setId(2293571L);
-        inquiry.setEnUU(10050573L);
-        inquiry.setRecorderUU(1000012297L);
-        inquiry.setCode("sp1546790412000295579");
+        inquiry.setId(2443743L);
+        inquiry.setEnUU(10030994L);
+        inquiry.setRecorderUU(1000006382L);
+        inquiry.setCode("MALL1547178327304");
 
         publicInquiryItem.setInquiry(inquiry);
         publicInquiryItem.setReplies(replyList);

+ 2 - 2
applications/transfers/mall-api/src/test/java/com/usoftchina/inquiry/test/InquiryTest.java → applications/transfers/mall-api/src/test/java/com/usoftchina/saas/inquiry/test/InquiryTest.java

@@ -1,4 +1,4 @@
-package com.usoftchina.inquiry.test;
+package com.usoftchina.saas.inquiry.test;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -9,7 +9,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
  * @Date 2019/01/04
  */
 @SpringBootApplication(scanBasePackages = "com.usoftchina")
-@EnableFeignClients("com.usoftchina.inquiry")
+@EnableFeignClients("com.usoftchina.saas.inquiry")
 public class InquiryTest {
 
     public static void main(String[] args) {

+ 2 - 2
applications/transfers/mall-api/src/test/java/com/usoftchina/inquiry/test/PublicProductApiTest.java → applications/transfers/mall-api/src/test/java/com/usoftchina/saas/inquiry/test/PublicProductApiTest.java

@@ -1,6 +1,6 @@
-package com.usoftchina.inquiry.test;
+package com.usoftchina.saas.inquiry.test;
 
-import com.usoftchina.inquiry.api.PublicProductApi;
+import com.usoftchina.saas.inquiry.api.PublicProductApi;
 import org.junit.FixMethodOrder;
 import org.junit.Test;
 import org.junit.runner.RunWith;

+ 3 - 3
applications/transfers/mall-api/src/test/java/com/usoftchina/inquiry/test/SearchApiTest.java → applications/transfers/mall-api/src/test/java/com/usoftchina/saas/inquiry/test/SearchApiTest.java

@@ -1,7 +1,7 @@
-package com.usoftchina.inquiry.test;
+package com.usoftchina.saas.inquiry.test;
 
-import com.usoftchina.inquiry.api.SearchApi;
-import com.usoftchina.inquiry.po.search.SearchComponentResp;
+import com.usoftchina.saas.inquiry.api.SearchApi;
+import com.usoftchina.saas.inquiry.po.search.SearchComponentResp;
 import com.usoftchina.saas.utils.JsonUtils;
 import org.junit.FixMethodOrder;
 import org.junit.Test;

+ 2 - 2
applications/transfers/mall-api/src/test/java/com/usoftchina/inquiry/test/SearchUUApiTest.java → applications/transfers/mall-api/src/test/java/com/usoftchina/saas/inquiry/test/SearchUUApiTest.java

@@ -1,6 +1,6 @@
-package com.usoftchina.inquiry.test;
+package com.usoftchina.saas.inquiry.test;
 
-import com.usoftchina.inquiry.api.SearchUUApi;
+import com.usoftchina.saas.inquiry.api.SearchUUApi;
 import com.usoftchina.saas.utils.CollectionUtils;
 import com.usoftchina.saas.utils.JsonUtils;
 import org.junit.FixMethodOrder;

+ 45 - 0
applications/transfers/transfers-auth/src/main/java/com/usoftchina/saas/transfers/auth/context/TransfersContextHodler.java

@@ -0,0 +1,45 @@
+package com.usoftchina.saas.transfers.auth.context;
+
+import com.usoftchina.saas.constant.CommonConstants;
+import com.usoftchina.saas.utils.ObjectUtils;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * @author: guq
+ * @create: 2019-01-11 17:53
+ **/
+public class TransfersContextHodler {
+
+    private static final String BTOBCOMPANYID = "b2bcompanyid";
+
+    private static final ThreadLocal<Map<String, Object>> threadLocal = new ThreadLocal<>();
+
+    public static void set(String key, Object value) {
+        Map<String, Object> map = threadLocal.get();
+        if (map == null) {
+            map = new HashMap<>(1);
+            threadLocal.set(map);
+        }
+        map.put(key, value);
+    }
+
+    public static Object get(String key) {
+        Map<String, Object> map = threadLocal.get();
+        if (map == null) {
+            return null;
+        }
+        return map.get(key);
+    }
+
+    public static void setB2bCompanyId(Long companyId) {
+        set(BTOBCOMPANYID, companyId);
+    }
+
+    public static Long getB2bCompanyId() {
+        Object value = get(BTOBCOMPANYID);
+        return ObjectUtils.getLongValue(value);
+    }
+
+}

+ 4 - 1
applications/transfers/transfers-auth/src/main/java/com/usoftchina/saas/transfers/auth/interceptor/OpenApiAuthInterceptor.java

@@ -5,6 +5,7 @@ import com.usoftchina.saas.account.dto.CompanyDTO;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.transfers.auth.annotation.IgnoreOpenApiAuth;
 import com.usoftchina.saas.transfers.auth.configuration.OpenApiConfig;
+import com.usoftchina.saas.transfers.auth.context.TransfersContextHodler;
 import com.usoftchina.saas.utils.StringUtils;
 import com.usoftchina.saas.utils.http.HmacUtils;
 import org.slf4j.Logger;
@@ -51,7 +52,7 @@ public class OpenApiAuthInterceptor extends HandlerInterceptorAdapter{
 
             String sign = request.getParameter(openApiConfig.getSignatureParam());
             String companyuu = request.getParameter(openApiConfig.getCompanyuu());
-            if (!StringUtils.isEmpty(sign) && StringUtils.isEmpty(companyuu)) {
+            if (!StringUtils.isEmpty(sign) && !StringUtils.isEmpty(companyuu)) {
                 String urlMessage = request.getRequestURL() + "?"
                         + request.getQueryString().substring(0, request.getQueryString().indexOf(openApiConfig.getSignatureParam()) - 1);
 
@@ -65,6 +66,8 @@ public class OpenApiAuthInterceptor extends HandlerInterceptorAdapter{
                 if (companyResult.isSuccess()) {
                     String localSign = null;
 
+                    TransfersContextHodler.setB2bCompanyId(companyResult.getData().getId());
+
                     localSign = companyResult.getData().getAccessKey() == null ? HmacUtils.encode(urlMessage) :
                                 HmacUtils.encode(urlMessage, companyResult.getData().getAccessKey());
 

+ 8 - 1
applications/transfers/transfers-server/pom.xml

@@ -67,7 +67,6 @@
         <dependency>
           <groupId>com.usoftchina.saas</groupId>
           <artifactId>mall-api</artifactId>
-          <version>1.0.0-SNAPSHOT</version>
         </dependency>
         <!-- db -->
         <dependency>
@@ -82,6 +81,14 @@
             <groupId>com.usoftchina.saas</groupId>
             <artifactId>transfers-auth</artifactId>
         </dependency>
+        <dependency>
+            <groupId>com.usoftchina.saas</groupId>
+            <artifactId>sale-dto</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>com.usoftchina.saas</groupId>
+            <artifactId>money-dto</artifactId>
+        </dependency>
     </dependencies>
 
     <build>

+ 41 - 0
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/controller/ApCheckController.java

@@ -0,0 +1,41 @@
+package com.usoftchina.saas.transfers.controller;
+
+import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.exception.BizExceptionCode;
+import com.usoftchina.saas.exception.BizException;
+import com.usoftchina.saas.money.dto.ApcheckFormDTO;
+import com.usoftchina.saas.sale.dto.SaleDownFormDTO;
+import com.usoftchina.saas.transfers.service.ApCheckService;
+import com.usoftchina.saas.utils.JsonUtils;
+import com.usoftchina.saas.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 提供平台调用 下载应付对账单
+ * @author: guq
+ * @create: 2019-01-12 15:03
+ **/
+@RestController
+@RequestMapping("/b2b/apcheck")
+public class ApCheckController {
+
+
+    @Autowired
+    private ApCheckService apcheckService;
+
+    @PostMapping("/save")
+    public Result saveApcheck(@RequestParam("data") String data) {
+        if (StringUtils.isEmpty(data)) {
+            throw new BizException(BizExceptionCode.NULL_DATA);
+        }
+        List<ApcheckFormDTO> forms = JsonUtils.fromJsonArray(data, ApcheckFormDTO.class);
+        apcheckService.save(forms);
+        return Result.success();
+    }
+}

+ 68 - 0
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/controller/SaleDownController.java

@@ -0,0 +1,68 @@
+package com.usoftchina.saas.transfers.controller;
+
+import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.exception.BizExceptionCode;
+import com.usoftchina.saas.exception.BizException;
+import com.usoftchina.saas.sale.dto.SaleDownDTO;
+import com.usoftchina.saas.sale.dto.SaleDownFormDTO;
+import com.usoftchina.saas.transfers.service.SaleDownService;
+import com.usoftchina.saas.utils.JsonUtils;
+import com.usoftchina.saas.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 提供给平台调用,saas下载客户采购单
+ * @author: guq
+ * @create: 2019-01-11 16:42
+ **/
+@RestController
+@RequestMapping("/b2b/saledown")
+public class SaleDownController {
+
+    @Autowired
+    private SaleDownService saleDownService;
+
+    /**
+     *从b2b下载客户采购单
+     * @return
+     */
+    @PostMapping("/save")
+    public Result<String> saveSaleDown(@RequestParam("data") String data) {
+        if (StringUtils.isEmpty(data)) {
+            throw new BizException(BizExceptionCode.NULL_DATA);
+        }
+        List<SaleDownFormDTO> forms = JsonUtils.fromJsonArray(data, SaleDownFormDTO.class);
+        String idStr = saleDownService.saveData(forms);
+        return Result.success(idStr);
+    }
+
+    /**
+     *从b2b更新为结案
+     * @return
+     */
+    @PostMapping("/close")
+    public Result<String> closeSaleDown(@RequestParam("data") String data) {
+        if (StringUtils.isEmpty(data)) {
+            throw new BizException(BizExceptionCode.NULL_DATA);
+        }
+         saleDownService.closeSaleDown(data);
+        return Result.success();
+    }
+
+    /**
+     *从b2b更新为结案
+     * @return
+     */
+    @PostMapping("/resClose")
+    public Result<String> resCloseSaleDown(@RequestParam("data") String data) {
+        if (StringUtils.isEmpty(data)) {
+            throw new BizException(BizExceptionCode.NULL_DATA);
+        }
+        saleDownService.resCloseSaleDown(data);
+        return Result.success();
+    }
+
+}

+ 17 - 0
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/mapper/ApcheckMapper.java

@@ -0,0 +1,17 @@
+package com.usoftchina.saas.transfers.mapper;
+
+import com.usoftchina.saas.money.po.Apcheck;
+import com.usoftchina.saas.money.po.ApcheckDetail;
+
+import java.util.List;
+
+public interface ApcheckMapper {
+    int deleteByPrimaryKey(Integer ac_id);
+
+    int insertSelective(Apcheck record);
+
+    Apcheck selectByPrimaryKey(Integer ac_id);
+
+
+    void batchInsert(List<ApcheckDetail> details);
+}

+ 28 - 0
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/mapper/SaledownMapper.java

@@ -0,0 +1,28 @@
+package com.usoftchina.saas.transfers.mapper;
+
+import com.usoftchina.saas.document.entities.Product;
+import com.usoftchina.saas.transfers.po.SaleDown;
+import com.usoftchina.saas.transfers.po.SaleDownDetail;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface SaledownMapper {
+    int deleteByPrimaryKey(Integer sa_id);
+
+    int insert(SaleDown record);
+
+    int insertSelective(SaleDown record);
+
+    SaleDown selectByPrimaryKey(Integer sa_id);
+
+    int updateByPrimaryKeySelective(SaleDown record);
+
+    Product findProductBySpec(@Param("spec") String spec, @Param("companyid") Long companyid);
+
+    void batchInsert(List<SaleDownDetail> insertDetail);
+
+    void batchUpdateClose(@Param("data") String data, @Param("companyid") Long companyid);
+
+    void batchUpdateResClose(String data, Long companyId);
+}

+ 274 - 0
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/po/SaleDown.java

@@ -0,0 +1,274 @@
+package com.usoftchina.saas.transfers.po;
+
+import com.usoftchina.saas.base.entity.CommonBaseEntity;
+
+import java.util.Date;
+
+/**
+ * @author: guq
+ * @create: 2019-01-11 15:04
+ **/
+public class SaleDown extends CommonBaseEntity{
+
+    private String sa_code;
+
+    private String sa_customeruu;
+
+    private Integer sa_custid;
+
+    private String sa_custcode;
+
+    private String sa_custname;
+
+    private Date sa_date;
+
+    private String sa_toplace;
+
+    private String sa_currency;
+
+    private Double sa_rate;
+
+    private Integer sa_selleruu;
+
+    private Integer sa_sellerid;
+
+    private String sa_seller;
+
+    private String sa_sellercode;
+
+    private String sa_custcontact;
+
+    private Integer sa_custcontactuu;
+
+    private String sa_custmobile;
+
+    private String sa_pocode;
+
+    private Integer b2b_pu_id;
+
+    private String sa_printstatus;
+
+    private String sa_printstatuscode;
+
+    private String sa_attach;
+
+    private String sa_status;
+
+    private String sa_statuscode;
+
+    private String sa_remark;
+
+    private String sa_turnstatus;
+
+    private String sa_turnstatuscode;
+
+    public String getSa_turnstatus() {
+        return sa_turnstatus;
+    }
+
+    public void setSa_turnstatus(String sa_turnstatus) {
+        this.sa_turnstatus = sa_turnstatus;
+    }
+
+    public String getSa_turnstatuscode() {
+        return sa_turnstatuscode;
+    }
+
+    public void setSa_turnstatuscode(String sa_turnstatuscode) {
+        this.sa_turnstatuscode = sa_turnstatuscode;
+    }
+
+
+
+    public String getSa_code() {
+        return sa_code;
+    }
+
+    public void setSa_code(String sa_code) {
+        this.sa_code = sa_code == null ? null : sa_code.trim();
+    }
+
+    public String getSa_customeruu() {
+        return sa_customeruu;
+    }
+
+    public void setSa_customeruu(String sa_customeruu) {
+        this.sa_customeruu = sa_customeruu == null ? null : sa_customeruu.trim();
+    }
+
+    public Integer getSa_custid() {
+        return sa_custid;
+    }
+
+    public void setSa_custid(Integer sa_custid) {
+        this.sa_custid = sa_custid;
+    }
+
+    public String getSa_custcode() {
+        return sa_custcode;
+    }
+
+    public void setSa_custcode(String sa_custcode) {
+        this.sa_custcode = sa_custcode == null ? null : sa_custcode.trim();
+    }
+
+    public String getSa_custname() {
+        return sa_custname;
+    }
+
+    public void setSa_custname(String sa_custname) {
+        this.sa_custname = sa_custname == null ? null : sa_custname.trim();
+    }
+
+    public Date getSa_date() {
+        return sa_date;
+    }
+
+    public void setSa_date(Date sa_date) {
+        this.sa_date = sa_date;
+    }
+
+    public String getSa_toplace() {
+        return sa_toplace;
+    }
+
+    public void setSa_toplace(String sa_toplace) {
+        this.sa_toplace = sa_toplace == null ? null : sa_toplace.trim();
+    }
+
+    public String getSa_currency() {
+        return sa_currency;
+    }
+
+    public void setSa_currency(String sa_currency) {
+        this.sa_currency = sa_currency == null ? null : sa_currency.trim();
+    }
+
+    public Double getSa_rate() {
+        return sa_rate;
+    }
+
+    public void setSa_rate(Double sa_rate) {
+        this.sa_rate = sa_rate;
+    }
+
+    public Integer getSa_selleruu() {
+        return sa_selleruu;
+    }
+
+    public void setSa_selleruu(Integer sa_selleruu) {
+        this.sa_selleruu = sa_selleruu;
+    }
+
+    public Integer getSa_sellerid() {
+        return sa_sellerid;
+    }
+
+    public void setSa_sellerid(Integer sa_sellerid) {
+        this.sa_sellerid = sa_sellerid;
+    }
+
+    public String getSa_seller() {
+        return sa_seller;
+    }
+
+    public void setSa_seller(String sa_seller) {
+        this.sa_seller = sa_seller == null ? null : sa_seller.trim();
+    }
+
+    public String getSa_sellercode() {
+        return sa_sellercode;
+    }
+
+    public void setSa_sellercode(String sa_sellercode) {
+        this.sa_sellercode = sa_sellercode == null ? null : sa_sellercode.trim();
+    }
+
+    public String getSa_custcontact() {
+        return sa_custcontact;
+    }
+
+    public void setSa_custcontact(String sa_custcontact) {
+        this.sa_custcontact = sa_custcontact == null ? null : sa_custcontact.trim();
+    }
+
+    public Integer getSa_custcontactuu() {
+        return sa_custcontactuu;
+    }
+
+    public void setSa_custcontactuu(Integer sa_custcontactuu) {
+        this.sa_custcontactuu = sa_custcontactuu;
+    }
+
+    public String getSa_custmobile() {
+        return sa_custmobile;
+    }
+
+    public void setSa_custmobile(String sa_custmobile) {
+        this.sa_custmobile = sa_custmobile == null ? null : sa_custmobile.trim();
+    }
+
+    public String getSa_pocode() {
+        return sa_pocode;
+    }
+
+    public void setSa_pocode(String sa_pocode) {
+        this.sa_pocode = sa_pocode == null ? null : sa_pocode.trim();
+    }
+
+    public Integer getB2b_pu_id() {
+        return b2b_pu_id;
+    }
+
+    public void setB2b_pu_id(Integer b2b_pu_id) {
+        this.b2b_pu_id = b2b_pu_id;
+    }
+
+    public String getSa_printstatus() {
+        return sa_printstatus;
+    }
+
+    public void setSa_printstatus(String sa_printstatus) {
+        this.sa_printstatus = sa_printstatus == null ? null : sa_printstatus.trim();
+    }
+
+    public String getSa_printstatuscode() {
+        return sa_printstatuscode;
+    }
+
+    public void setSa_printstatuscode(String sa_printstatuscode) {
+        this.sa_printstatuscode = sa_printstatuscode == null ? null : sa_printstatuscode.trim();
+    }
+
+    public String getSa_attach() {
+        return sa_attach;
+    }
+
+    public void setSa_attach(String sa_attach) {
+        this.sa_attach = sa_attach == null ? null : sa_attach.trim();
+    }
+
+    public String getSa_status() {
+        return sa_status;
+    }
+
+    public void setSa_status(String sa_status) {
+        this.sa_status = sa_status == null ? null : sa_status.trim();
+    }
+
+    public String getSa_statuscode() {
+        return sa_statuscode;
+    }
+
+    public void setSa_statuscode(String sa_statuscode) {
+        this.sa_statuscode = sa_statuscode == null ? null : sa_statuscode.trim();
+    }
+
+    public String getSa_remark() {
+        return sa_remark;
+    }
+
+    public void setSa_remark(String sa_remark) {
+        this.sa_remark = sa_remark == null ? null : sa_remark.trim();
+    }
+}

+ 222 - 0
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/po/SaleDownDetail.java

@@ -0,0 +1,222 @@
+package com.usoftchina.saas.transfers.po;
+
+import com.usoftchina.saas.base.entity.CommonBaseEntity;
+
+import java.util.Date;
+
+/**
+ * @author: guq
+ * @create: 2019-01-11 15:06
+ **/
+public class SaleDownDetail extends CommonBaseEntity{
+
+    private Long sd_said;
+
+    private String sd_code;
+
+    private Integer sd_detno;
+
+    private Integer b2b_pd_id;
+
+    private Long sd_prodid;
+
+    private String sd_prodcode;
+
+    private String sd_prodspec;
+
+    private String sd_orispeccode;
+
+    private String sd_custorispeccode;
+
+    private String sd_custprodcode;
+
+    private String sd_custproddetail;
+
+    private String sd_custprodspec;
+
+    private String sd_produnit;
+
+    private Double sd_qty;
+
+    private Double sd_price;
+
+    private Double sd_total;
+
+    private Double sd_taxrate;
+
+    private Double sd_costprice;
+
+    private Double sd_taxtotal;
+
+    private Date sd_delivery;
+
+    private String sd_remark;
+
+    public Long getSd_said() {
+        return sd_said;
+    }
+
+    public void setSd_said(Long sd_said) {
+        this.sd_said = sd_said;
+    }
+
+    public String getSd_code() {
+        return sd_code;
+    }
+
+    public void setSd_code(String sd_code) {
+        this.sd_code = sd_code == null ? null : sd_code.trim();
+    }
+
+    public Integer getSd_detno() {
+        return sd_detno;
+    }
+
+    public void setSd_detno(Integer sd_detno) {
+        this.sd_detno = sd_detno;
+    }
+
+    public Integer getB2b_pd_id() {
+        return b2b_pd_id;
+    }
+
+    public void setB2b_pd_id(Integer b2b_pd_id) {
+        this.b2b_pd_id = b2b_pd_id;
+    }
+
+    public Long getSd_prodid() {
+        return sd_prodid;
+    }
+
+    public void setSd_prodid(Long sd_prodid) {
+        this.sd_prodid = sd_prodid;
+    }
+
+    public String getSd_prodcode() {
+        return sd_prodcode;
+    }
+
+    public void setSd_prodcode(String sd_prodcode) {
+        this.sd_prodcode = sd_prodcode == null ? null : sd_prodcode.trim();
+    }
+
+    public String getSd_prodspec() {
+        return sd_prodspec;
+    }
+
+    public void setSd_prodspec(String sd_prodspec) {
+        this.sd_prodspec = sd_prodspec == null ? null : sd_prodspec.trim();
+    }
+
+    public String getSd_orispeccode() {
+        return sd_orispeccode;
+    }
+
+    public void setSd_orispeccode(String sd_orispeccode) {
+        this.sd_orispeccode = sd_orispeccode == null ? null : sd_orispeccode.trim();
+    }
+
+    public String getSd_custorispeccode() {
+        return sd_custorispeccode;
+    }
+
+    public void setSd_custorispeccode(String sd_custorispeccode) {
+        this.sd_custorispeccode = sd_custorispeccode == null ? null : sd_custorispeccode.trim();
+    }
+
+    public String getSd_custprodcode() {
+        return sd_custprodcode;
+    }
+
+    public void setSd_custprodcode(String sd_custprodcode) {
+        this.sd_custprodcode = sd_custprodcode == null ? null : sd_custprodcode.trim();
+    }
+
+    public String getSd_custproddetail() {
+        return sd_custproddetail;
+    }
+
+    public void setSd_custproddetail(String sd_custproddetail) {
+        this.sd_custproddetail = sd_custproddetail == null ? null : sd_custproddetail.trim();
+    }
+
+    public String getSd_custprodspec() {
+        return sd_custprodspec;
+    }
+
+    public void setSd_custprodspec(String sd_custprodspec) {
+        this.sd_custprodspec = sd_custprodspec == null ? null : sd_custprodspec.trim();
+    }
+
+    public String getSd_produnit() {
+        return sd_produnit;
+    }
+
+    public void setSd_produnit(String sd_produnit) {
+        this.sd_produnit = sd_produnit == null ? null : sd_produnit.trim();
+    }
+
+    public Double getSd_qty() {
+        return sd_qty;
+    }
+
+    public void setSd_qty(Double sd_qty) {
+        this.sd_qty = sd_qty;
+    }
+
+    public Double getSd_price() {
+        return sd_price;
+    }
+
+    public void setSd_price(Double sd_price) {
+        this.sd_price = sd_price;
+    }
+
+    public Double getSd_total() {
+        return sd_total;
+    }
+
+    public void setSd_total(Double sd_total) {
+        this.sd_total = sd_total;
+    }
+
+    public Double getSd_taxrate() {
+        return sd_taxrate;
+    }
+
+    public void setSd_taxrate(Double sd_taxrate) {
+        this.sd_taxrate = sd_taxrate;
+    }
+
+    public Double getSd_costprice() {
+        return sd_costprice;
+    }
+
+    public void setSd_costprice(Double sd_costprice) {
+        this.sd_costprice = sd_costprice;
+    }
+
+    public Double getSd_taxtotal() {
+        return sd_taxtotal;
+    }
+
+    public void setSd_taxtotal(Double sd_taxtotal) {
+        this.sd_taxtotal = sd_taxtotal;
+    }
+
+    public Date getSd_delivery() {
+        return sd_delivery;
+    }
+
+    public void setSd_delivery(Date sd_delivery) {
+        this.sd_delivery = sd_delivery;
+    }
+
+    public String getSd_remark() {
+        return sd_remark;
+    }
+
+    public void setSd_remark(String sd_remark) {
+        this.sd_remark = sd_remark == null ? null : sd_remark.trim();
+    }
+}

+ 9 - 0
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/ApCheckService.java

@@ -0,0 +1,9 @@
+package com.usoftchina.saas.transfers.service;
+
+import com.usoftchina.saas.money.dto.ApcheckFormDTO;
+
+import java.util.List;
+
+public interface ApCheckService {
+    String save(List<ApcheckFormDTO> forms);
+}

+ 14 - 0
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/SaleDownService.java

@@ -0,0 +1,14 @@
+package com.usoftchina.saas.transfers.service;
+
+
+import com.usoftchina.saas.sale.dto.SaleDownFormDTO;
+
+import java.util.List;
+
+public interface SaleDownService {
+    String saveData(List<SaleDownFormDTO> forms);
+
+    void closeSaleDown(String data);
+
+    void resCloseSaleDown(String data);
+}

+ 60 - 0
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/impl/ApCheckServiceImpl.java

@@ -0,0 +1,60 @@
+package com.usoftchina.saas.transfers.service.impl;
+
+import com.usoftchina.saas.money.dto.ApcheckFormDTO;
+import com.usoftchina.saas.money.po.Apcheck;
+import com.usoftchina.saas.money.po.ApcheckDetail;
+import com.usoftchina.saas.transfers.auth.context.TransfersContextHodler;
+import com.usoftchina.saas.transfers.mapper.ApcheckMapper;
+import com.usoftchina.saas.transfers.service.ApCheckService;
+import com.usoftchina.saas.utils.BeanMapper;
+import com.usoftchina.saas.utils.CollectionUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author: guq
+ * @create: 2019-01-12 15:55
+ **/
+@Service
+public class ApCheckServiceImpl implements ApCheckService{
+
+    @Autowired
+    private ApcheckMapper apcheckMapper;
+
+    @Override
+    public String save(List<ApcheckFormDTO> forms) {
+        if (CollectionUtils.isEmpty(forms) || forms.size() == 0) {
+            return null;
+        }
+        StringBuilder ids = new StringBuilder();
+        Long companyId = TransfersContextHodler.getB2bCompanyId();
+        String custspeccode = null;
+        for (ApcheckFormDTO form : forms) {
+            Apcheck main = form.getMain();
+            List<ApcheckDetail> details = form.getItems();
+
+            //补充必要数据
+            main.setCompanyId(companyId);
+            main.setCreateTime(new Date());
+            apcheckMapper.insertSelective(main);
+
+            //根据型号匹配物料
+            for (ApcheckDetail detail : details) {
+                detail.setAd_acid(main.getId());
+                detail.setCreateTime(new Date());
+                detail.setCompanyId(companyId);
+            }
+            //插入从表
+            if (details.size() > 0) {
+                apcheckMapper.batchInsert(details);
+            }
+            ids.append(main.getAc_b2bid());
+            ids.append(",");
+        }
+        return ids.substring(0, ids.length() - 1);
+    }
+}

+ 89 - 0
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/impl/SaleDownServiceImpl.java

@@ -0,0 +1,89 @@
+package com.usoftchina.saas.transfers.service.impl;
+
+import com.usoftchina.saas.commons.po.Status;
+import com.usoftchina.saas.document.entities.Product;
+import com.usoftchina.saas.sale.dto.SaleDownFormDTO;
+import com.usoftchina.saas.transfers.auth.context.TransfersContextHodler;
+import com.usoftchina.saas.transfers.mapper.SaledownMapper;
+import com.usoftchina.saas.transfers.po.SaleDown;
+import com.usoftchina.saas.transfers.po.SaleDownDetail;
+import com.usoftchina.saas.transfers.service.SaleDownService;
+import com.usoftchina.saas.utils.BeanMapper;
+import com.usoftchina.saas.utils.CollectionUtils;
+import com.usoftchina.saas.utils.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @author: guq
+ * @create: 2019-01-11 17:40
+ **/
+@Service
+public class SaleDownServiceImpl implements SaleDownService{
+
+    @Autowired
+    private SaledownMapper saledownMapper;
+
+    @Override
+    public String saveData(List<SaleDownFormDTO> forms) {
+        if (CollectionUtils.isEmpty(forms) || forms.size() == 0) {
+            return null;
+        }
+        StringBuilder ids = new StringBuilder();
+        Long companyId = TransfersContextHodler.getB2bCompanyId();
+        String custspeccode = null;
+        for (SaleDownFormDTO form : forms) {
+            SaleDown main = BeanMapper.map(form.getMain(), SaleDown.class);
+            List<SaleDownDetail> details = BeanMapper.mapList(form.getItems(), SaleDownDetail.class);
+            List<SaleDownDetail> insertDetail = new ArrayList<>();
+
+            //补充必要数据
+            main.setCreateTime(new Date());
+            main.setCompanyId(companyId);
+            main.setSa_status(Status.AUDITED.getDisplay());
+            main.setSa_statuscode(Status.AUDITED.name());
+            saledownMapper.insertSelective(main);
+
+            //根据型号匹配物料
+            for (SaleDownDetail detail : details) {
+                custspeccode = detail.getSd_custorispeccode();
+                if (!StringUtils.isEmpty(custspeccode)) {
+                    Product product = saledownMapper.findProductBySpec(custspeccode, companyId);
+                    if (product != null) {
+                        detail.setSd_said(main.getId());
+                        detail.setSd_prodcode(product.getPr_code());
+                        detail.setSd_prodid(product.getId());
+                        detail.setSd_prodspec(product.getPr_spec());
+                        detail.setSd_produnit(product.getPr_unit());
+                        detail.setSd_orispeccode(product.getPr_orispeccode());
+                        detail.setCompanyId(companyId);
+                        insertDetail.add(detail);
+                    }
+                }
+            }
+            //插入从表
+            if (insertDetail.size() > 0) {
+                saledownMapper.batchInsert(insertDetail);
+            }
+            ids.append(main.getB2b_pu_id());
+            ids.append(",");
+        }
+        return ids.substring(0, ids.length() - 1);
+    }
+
+    @Override
+    public void closeSaleDown(String data) {
+        Long companyId = TransfersContextHodler.getB2bCompanyId();
+        saledownMapper.batchUpdateClose(data, companyId);
+    }
+
+    @Override
+    public void resCloseSaleDown(String data) {
+        Long companyId = TransfersContextHodler.getB2bCompanyId();
+        saledownMapper.batchUpdateResClose(data, companyId);
+    }
+}

+ 1 - 1
applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/task/SendProductTask.java

@@ -1,6 +1,6 @@
 package com.usoftchina.saas.transfers.task;
 
-import com.usoftchina.inquiry.api.PublicProductApi;
+import com.usoftchina.saas.inquiry.api.PublicProductApi;
 import com.usoftchina.saas.account.api.CompanyApi;
 import com.usoftchina.saas.context.BaseContextHolder;
 import com.usoftchina.saas.document.api.ProductApi;

+ 288 - 0
applications/transfers/transfers-server/src/main/resources/mapper/ApcheckMapper.xml

@@ -0,0 +1,288 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.usoftchina.saas.transfers.mapper.ApcheckMapper" >
+  <resultMap id="BaseResultMap" type="com.usoftchina.saas.money.po.Apcheck" >
+    <id column="ac_id" property="id" jdbcType="INTEGER" />
+    <result column="ac_b2bid" property="ac_b2bid" jdbcType="INTEGER" />
+    <result column="ac_code" property="ac_code" jdbcType="VARCHAR" />
+    <result column="ac_date" property="ac_date" jdbcType="TIMESTAMP" />
+    <result column="ac_apdate" property="ac_apdate" jdbcType="TIMESTAMP" />
+    <result column="ac_fromdate" property="ac_fromdate" jdbcType="TIMESTAMP" />
+    <result column="ac_todate" property="ac_todate" jdbcType="TIMESTAMP" />
+    <result column="ac_venduu" property="ac_venduu" jdbcType="VARCHAR" />
+    <result column="ac_vendid" property="ac_vendid" jdbcType="INTEGER" />
+    <result column="ac_vendcode" property="ac_vendcode" jdbcType="VARCHAR" />
+    <result column="ac_vendname" property="ac_vendname" jdbcType="VARCHAR" />
+    <result column="ac_currency" property="ac_currency" jdbcType="VARCHAR" />
+    <result column="ac_rate" property="ac_rate" jdbcType="DOUBLE" />
+    <result column="ac_checkamount" property="ac_checkamount" jdbcType="DOUBLE" />
+    <result column="ac_confirmstatus" property="ac_confirmstatus" jdbcType="VARCHAR" />
+    <result column="ac_confirmstatuscode" property="ac_confirmstatuscode" jdbcType="VARCHAR" />
+    <result column="ac_confirmdate" property="ac_confirmdate" jdbcType="TIMESTAMP" />
+    <result column="ac_remark" property="ac_remark" jdbcType="VARCHAR" />
+    <result column="ac_sendstatus" property="ac_sendstatus" jdbcType="VARCHAR" />
+    <result column="ac_thisamount" property="ac_thisamount" jdbcType="DOUBLE" />
+    <result column="ac_thisuncheck" property="ac_thisuncheck" jdbcType="DOUBLE" />
+    <result column="ac_thispay" property="ac_thispay" jdbcType="DOUBLE" />
+    <result column="ac_thissend" property="ac_thissend" jdbcType="DOUBLE" />
+    <result column="ac_thischeck" property="ac_thischeck" jdbcType="DOUBLE" />
+    <result column="ac_payamont" property="ac_payamont" jdbcType="DOUBLE" />
+    <result column="creatorId" property="creatorId" jdbcType="INTEGER" />
+    <result column="creatorName" property="creatorName" jdbcType="VARCHAR" />
+    <result column="companyId" property="companyId" jdbcType="BIGINT" />
+    <result column="updaterId" property="updaterId" jdbcType="INTEGER" />
+    <result column="updaterName" property="updaterName" jdbcType="VARCHAR" />
+    <result column="createTime" property="createTime" jdbcType="TIMESTAMP" />
+  </resultMap>
+
+  <resultMap id="detailMap" type="com.usoftchina.saas.money.po.ApcheckDetail">
+    <id column="ad_id" property="id" jdbcType="INTEGER" />
+    <result column="ad_acid" property="ad_acid" jdbcType="INTEGER" />
+    <result column="ad_detno" property="ad_detno" jdbcType="INTEGER" />
+    <result column="ad_inoutno" property="ad_inoutno" jdbcType="VARCHAR" />
+    <result column="ad_pdno" property="ad_pdno" jdbcType="INTEGER" />
+    <result column="ad_prodcode" property="ad_prodcode" jdbcType="VARCHAR" />
+    <result column="ad_pucode" property="ad_pucode" jdbcType="VARCHAR" />
+    <result column="ad_price" property="ad_price" jdbcType="DOUBLE" />
+    <result column="ad_taxrate" property="ad_taxrate" jdbcType="DOUBLE" />
+    <result column="ad_b2bqty" property="ad_b2bqty" jdbcType="DOUBLE" />
+    <result column="companyId" property="companyId" jdbcType="BIGINT" />
+    <result column="createTime" property="createTime" jdbcType="TIMESTAMP" />
+    <result column="creatorId" property="creatorId" jdbcType="INTEGER" />
+    <result column="creatorName" property="creatorName" jdbcType="VARCHAR" />
+  </resultMap>
+
+  <sql id="Base_Column_List" >
+    ac_id, ac_b2bid, ac_code, ac_date, ac_apdate, ac_fromdate, ac_todate, ac_venduu, 
+    ac_vendid, ac_vendcode, ac_vendname, ac_currency, ac_rate, ac_checkamount, ac_confirmstatus, 
+    ac_confirmstatuscode, ac_confirmdate, ac_remark, ac_sendstatus, ac_thisamount, ac_thisuncheck, 
+    ac_thispay, ac_thissend, ac_thischeck, ac_payamont, creatorId, creatorName, companyId, 
+    updaterId, updaterName, updatetime, createTime
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select 
+    <include refid="Base_Column_List" />
+    from apcheck
+    where ac_id = #{ac_id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    delete from apcheck
+    where ac_id = #{ac_id,jdbcType=INTEGER}
+  </delete>
+
+  <insert id="insertSelective" parameterType="com.usoftchina.saas.money.po.Apcheck" >
+    <selectKey  resultType="java.lang.Long" keyProperty="id">
+      SELECT LAST_INSERT_ID() AS ID
+    </selectKey>
+    insert into apcheck
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="ac_b2bid != null" >
+        ac_b2bid,
+      </if>
+      <if test="ac_code != null" >
+        ac_code,
+      </if>
+      <if test="ac_date != null" >
+        ac_date,
+      </if>
+      <if test="ac_apdate != null" >
+        ac_apdate,
+      </if>
+      <if test="ac_fromdate != null" >
+        ac_fromdate,
+      </if>
+      <if test="ac_todate != null" >
+        ac_todate,
+      </if>
+      <if test="ac_venduu != null" >
+        ac_venduu,
+      </if>
+      <if test="ac_vendid != null" >
+        ac_vendid,
+      </if>
+      <if test="ac_vendcode != null" >
+        ac_vendcode,
+      </if>
+      <if test="ac_vendname != null" >
+        ac_vendname,
+      </if>
+      <if test="ac_currency != null" >
+        ac_currency,
+      </if>
+      <if test="ac_rate != null" >
+        ac_rate,
+      </if>
+      <if test="ac_checkamount != null" >
+        ac_checkamount,
+      </if>
+      <if test="ac_confirmstatus != null" >
+        ac_confirmstatus,
+      </if>
+      <if test="ac_confirmstatuscode != null" >
+        ac_confirmstatuscode,
+      </if>
+      <if test="ac_confirmdate != null" >
+        ac_confirmdate,
+      </if>
+      <if test="ac_remark != null" >
+        ac_remark,
+      </if>
+      <if test="ac_sendstatus != null" >
+        ac_sendstatus,
+      </if>
+      <if test="ac_thisamount != null" >
+        ac_thisamount,
+      </if>
+      <if test="ac_thisuncheck != null" >
+        ac_thisuncheck,
+      </if>
+      <if test="ac_thispay != null" >
+        ac_thispay,
+      </if>
+      <if test="ac_thissend != null" >
+        ac_thissend,
+      </if>
+      <if test="ac_thischeck != null" >
+        ac_thischeck,
+      </if>
+      <if test="ac_payamont != null" >
+        ac_payamont,
+      </if>
+      <if test="creatorId != null" >
+        creatorId,
+      </if>
+      <if test="creatorName != null" >
+        creatorName,
+      </if>
+      <if test="companyId != null" >
+        companyId,
+      </if>
+      <if test="updaterId != null" >
+        updaterId,
+      </if>
+      <if test="updaterName != null" >
+        updaterName,
+      </if>
+      <if test="updatetime != null" >
+        updatetime,
+      </if>
+      <if test="createTime != null" >
+        createTime,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="ac_b2bid != null" >
+        #{ac_b2bid,jdbcType=INTEGER},
+      </if>
+      <if test="ac_code != null" >
+        #{ac_code,jdbcType=VARCHAR},
+      </if>
+      <if test="ac_date != null" >
+        #{ac_date,jdbcType=TIMESTAMP},
+      </if>
+      <if test="ac_apdate != null" >
+        #{ac_apdate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="ac_fromdate != null" >
+        #{ac_fromdate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="ac_todate != null" >
+        #{ac_todate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="ac_venduu != null" >
+        #{ac_venduu,jdbcType=VARCHAR},
+      </if>
+      <if test="ac_vendid != null" >
+        #{ac_vendid,jdbcType=INTEGER},
+      </if>
+      <if test="ac_vendcode != null" >
+        #{ac_vendcode,jdbcType=VARCHAR},
+      </if>
+      <if test="ac_vendname != null" >
+        #{ac_vendname,jdbcType=VARCHAR},
+      </if>
+      <if test="ac_currency != null" >
+        #{ac_currency,jdbcType=VARCHAR},
+      </if>
+      <if test="ac_rate != null" >
+        #{ac_rate,jdbcType=DOUBLE},
+      </if>
+      <if test="ac_checkamount != null" >
+        #{ac_checkamount,jdbcType=DOUBLE},
+      </if>
+      <if test="ac_confirmstatus != null" >
+        #{ac_confirmstatus,jdbcType=VARCHAR},
+      </if>
+      <if test="ac_confirmstatuscode != null" >
+        #{ac_confirmstatuscode,jdbcType=VARCHAR},
+      </if>
+      <if test="ac_confirmdate != null" >
+        #{ac_confirmdate,jdbcType=TIMESTAMP},
+      </if>
+      <if test="ac_remark != null" >
+        #{ac_remark,jdbcType=VARCHAR},
+      </if>
+      <if test="ac_sendstatus != null" >
+        #{ac_sendstatus,jdbcType=VARCHAR},
+      </if>
+      <if test="ac_thisamount != null" >
+        #{ac_thisamount,jdbcType=DOUBLE},
+      </if>
+      <if test="ac_thisuncheck != null" >
+        #{ac_thisuncheck,jdbcType=DOUBLE},
+      </if>
+      <if test="ac_thispay != null" >
+        #{ac_thispay,jdbcType=DOUBLE},
+      </if>
+      <if test="ac_thissend != null" >
+        #{ac_thissend,jdbcType=DOUBLE},
+      </if>
+      <if test="ac_thischeck != null" >
+        #{ac_thischeck,jdbcType=DOUBLE},
+      </if>
+      <if test="ac_payamont != null" >
+        #{ac_payamont,jdbcType=DOUBLE},
+      </if>
+      <if test="creatorId != null" >
+        #{creatorId,jdbcType=INTEGER},
+      </if>
+      <if test="creatorName != null" >
+        #{creatorName,jdbcType=VARCHAR},
+      </if>
+      <if test="companyId != null" >
+        #{companyId,jdbcType=BIGINT},
+      </if>
+      <if test="updaterId != null" >
+        #{updaterId,jdbcType=INTEGER},
+      </if>
+      <if test="updaterName != null" >
+        #{updaterName,jdbcType=VARCHAR},
+      </if>
+      <if test="updatetime != null" >
+        #{updatetime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="createTime != null" >
+        #{createTime,jdbcType=TIMESTAMP},
+      </if>
+    </trim>
+  </insert>
+
+
+  <insert id="batchInsert" parameterType="java.util.List" >
+    insert into apcheckdetail (ad_acid, ad_detno,
+    ad_inoutno, ad_pdno, ad_prodcode,
+    ad_pucode, ad_price, ad_taxrate,
+    ad_b2bqty, companyId, createTime,
+    creatorId, creatorName)
+    values
+    <foreach collection="list" item="item" index="index" open="" close="" separator=",">
+      (
+      #{ad_acid,jdbcType=INTEGER}, #{ad_detno,jdbcType=INTEGER},
+      #{ad_inoutno,jdbcType=VARCHAR}, #{ad_pdno,jdbcType=INTEGER}, #{ad_prodcode,jdbcType=VARCHAR},
+      #{ad_pucode,jdbcType=VARCHAR}, #{ad_price,jdbcType=DOUBLE}, #{ad_taxrate,jdbcType=DOUBLE},
+      #{ad_b2bqty,jdbcType=DOUBLE}, #{companyId,jdbcType=BIGINT}, #{createTime,jdbcType=TIMESTAMP},
+      #{creatorId,jdbcType=INTEGER}, #{creatorName,jdbcType=VARCHAR}
+      )
+    </foreach>
+  </insert>
+</mapper>

+ 429 - 0
applications/transfers/transfers-server/src/main/resources/mapper/SaledownMapper.xml

@@ -0,0 +1,429 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.usoftchina.saas.transfers.mapper.SaledownMapper" >
+  <resultMap id="BaseResultMap" type="com.usoftchina.saas.transfers.po.SaleDown" >
+    <id column="sa_id" property="id" jdbcType="INTEGER" />
+    <result column="sa_code" property="sa_code" jdbcType="VARCHAR" />
+    <result column="sa_customeruu" property="sa_customeruu" jdbcType="VARCHAR" />
+    <result column="sa_custid" property="sa_custid" jdbcType="INTEGER" />
+    <result column="sa_custcode" property="sa_custcode" jdbcType="VARCHAR" />
+    <result column="sa_custname" property="sa_custname" jdbcType="VARCHAR" />
+    <result column="sa_date" property="sa_date" jdbcType="TIMESTAMP" />
+    <result column="sa_toplace" property="sa_toplace" jdbcType="VARCHAR" />
+    <result column="sa_currency" property="sa_currency" jdbcType="VARCHAR" />
+    <result column="sa_rate" property="sa_rate" jdbcType="DOUBLE" />
+    <result column="sa_selleruu" property="sa_selleruu" jdbcType="INTEGER" />
+    <result column="sa_sellerid" property="sa_sellerid" jdbcType="INTEGER" />
+    <result column="sa_seller" property="sa_seller" jdbcType="VARCHAR" />
+    <result column="sa_sellercode" property="sa_sellercode" jdbcType="VARCHAR" />
+    <result column="sa_custcontact" property="sa_custcontact" jdbcType="VARCHAR" />
+    <result column="sa_custcontactuu" property="sa_custcontactuu" jdbcType="INTEGER" />
+    <result column="sa_custmobile" property="sa_custmobile" jdbcType="VARCHAR" />
+    <result column="sa_pocode" property="sa_pocode" jdbcType="VARCHAR" />
+    <result column="b2b_pu_id" property="b2b_pu_id" jdbcType="INTEGER" />
+    <result column="sa_printstatus" property="sa_printstatus" jdbcType="VARCHAR" />
+    <result column="sa_printstatuscode" property="sa_printstatuscode" jdbcType="VARCHAR" />
+    <result column="sa_attach" property="sa_attach" jdbcType="VARCHAR" />
+    <result column="sa_status" property="sa_status" jdbcType="VARCHAR" />
+    <result column="sa_statuscode" property="sa_statuscode" jdbcType="VARCHAR" />
+    <result column="sa_remark" property="sa_remark" jdbcType="VARCHAR" />
+    <result column="companyId" property="companyId" jdbcType="INTEGER" />
+    <result column="createTime" property="createTime" jdbcType="TIMESTAMP" />
+    <result column="creatorId" property="creatorId" jdbcType="INTEGER" />
+    <result column="updateTime" property="updateTime" jdbcType="TIMESTAMP" />
+    <result column="updaterId" property="updaterId" jdbcType="INTEGER" />
+  </resultMap>
+
+  <resultMap id="productMap" type="com.usoftchina.saas.document.entities.Product">
+    <id column="pr_id" property="id" jdbcType="INTEGER"/>
+    <result column="pr_code" property="pr_code" jdbcType="VARCHAR"/>
+    <result column="pr_detail" property="pr_detail" jdbcType="VARCHAR"/>
+    <result column="pr_spec" property="pr_spec" jdbcType="VARCHAR"/>
+    <result column="pr_unit" property="pr_unit" jdbcType="VARCHAR"/>
+    <result column="pr_kind" property="pr_kind" jdbcType="VARCHAR"/>
+    <result column="pr_orispeccode" property="pr_orispeccode" jdbcType="VARCHAR"/>
+    <result column="pr_whid" property="pr_whid" jdbcType="INTEGER"/>
+    <result column="pr_whcode" property="pr_whcode" jdbcType="VARCHAR"/>
+    <result column="pr_whname" property="pr_whname" jdbcType="VARCHAR"/>
+    <result column="pr_zxbzs" property="pr_zxbzs" jdbcType="INTEGER"/>
+    <result column="pr_leadtime" property="pr_leadtime" jdbcType="INTEGER"/>
+    <result column="pr_brand" property="pr_brand" jdbcType="VARCHAR"/>
+    <result column="pr_standardprice" property="pr_standardprice" jdbcType="DOUBLE"/>
+    <result column="pr_purcprice" property="pr_purcprice" jdbcType="DOUBLE"/>
+    <result column="pr_saleprice" property="pr_saleprice" jdbcType="DOUBLE"/>
+    <result column="pr_vendid" property="pr_vendid" jdbcType="INTEGER"/>
+    <result column="pr_vendcode" property="pr_vendcode" jdbcType="VARCHAR"/>
+    <result column="pr_vendname" property="pr_vendname" jdbcType="VARCHAR"/>
+    <result column="pr_status" property="pr_status" jdbcType="VARCHAR"/>
+    <result column="pr_statuscode" property="pr_statuscode" jdbcType="VARCHAR"/>
+    <result column="companyId" property="companyId" jdbcType="INTEGER"/>
+    <result column="updaterId" property="updaterId" jdbcType="INTEGER"/>
+    <result column="updateTime" property="updateTime" jdbcType="TIMESTAMP"/>
+    <result column="pr_text1" property="pr_text1" jdbcType="VARCHAR"/>
+    <result column="pr_text2" property="pr_text2" jdbcType="VARCHAR"/>
+    <result column="pr_text3" property="pr_text3" jdbcType="VARCHAR"/>
+    <result column="pr_text4" property="pr_text4" jdbcType="VARCHAR"/>
+    <result column="pr_text5" property="pr_text5" jdbcType="VARCHAR"/>
+    <result column="pr_remark" property="pr_remark" jdbcType="VARCHAR"/>
+  </resultMap>
+  <sql id="Base_Column_List" >
+    sa_id, sa_code, sa_customeruu, sa_custid, sa_custcode, sa_custname, sa_date, sa_toplace, 
+    sa_currency, sa_rate, sa_selleruu, sa_sellerid, sa_seller, sa_sellercode, sa_custcontact, 
+    sa_custcontactuu, sa_custmobile, sa_pocode, b2b_pu_id, sa_printstatus, sa_printstatuscode, 
+    sa_attach, sa_status, sa_statuscode, sa_remark, companyId, createTime, creatorId, 
+    updateTime, updaterId
+  </sql>
+  <select id="selectByPrimaryKey" resultMap="BaseResultMap" parameterType="java.lang.Integer" >
+    select 
+    <include refid="Base_Column_List" />
+    from saledown
+    where sa_id = #{sa_id,jdbcType=INTEGER}
+  </select>
+  <delete id="deleteByPrimaryKey" parameterType="java.lang.Integer" >
+    delete from saledown
+    where sa_id = #{sa_id,jdbcType=INTEGER}
+  </delete>
+  <insert id="insert" parameterType="com.usoftchina.saas.transfers.po.SaleDown" >
+    insert into saledown (sa_code, sa_customeruu,
+      sa_custid, sa_custcode, sa_custname, 
+      sa_date, sa_toplace, sa_currency, 
+      sa_rate, sa_selleruu, sa_sellerid, 
+      sa_seller, sa_sellercode, sa_custcontact, 
+      sa_custcontactuu, sa_custmobile, sa_pocode, 
+      b2b_pu_id, sa_printstatus, sa_printstatuscode, 
+      sa_attach, sa_status, sa_statuscode, 
+      sa_remark, companyId, createTime, 
+      creatorId, updateTime, updaterId
+      )
+    values ( #{sa_code,jdbcType=VARCHAR}, #{sa_customeruu,jdbcType=VARCHAR},
+      #{sa_custid,jdbcType=INTEGER}, #{sa_custcode,jdbcType=VARCHAR}, #{sa_custname,jdbcType=VARCHAR}, 
+      #{sa_date,jdbcType=TIMESTAMP}, #{sa_toplace,jdbcType=VARCHAR}, #{sa_currency,jdbcType=VARCHAR}, 
+      #{sa_rate,jdbcType=DOUBLE}, #{sa_selleruu,jdbcType=INTEGER}, #{sa_sellerid,jdbcType=INTEGER}, 
+      #{sa_seller,jdbcType=VARCHAR}, #{sa_sellercode,jdbcType=VARCHAR}, #{sa_custcontact,jdbcType=VARCHAR}, 
+      #{sa_custcontactuu,jdbcType=INTEGER}, #{sa_custmobile,jdbcType=VARCHAR}, #{sa_pocode,jdbcType=VARCHAR}, 
+      #{b2b_pu_id,jdbcType=INTEGER}, #{sa_printstatus,jdbcType=VARCHAR}, #{sa_printstatuscode,jdbcType=VARCHAR}, 
+      #{sa_attach,jdbcType=VARCHAR}, #{sa_status,jdbcType=VARCHAR}, #{sa_statuscode,jdbcType=VARCHAR}, 
+      #{sa_remark,jdbcType=VARCHAR}, #{companyId,jdbcType=INTEGER}, #{createTime,jdbcType=TIMESTAMP}, 
+      #{creatorId,jdbcType=INTEGER}, #{updateTime,jdbcType=TIMESTAMP}, #{updaterId,jdbcType=INTEGER}
+      )
+  </insert>
+  <insert id="insertSelective" parameterType="com.usoftchina.saas.transfers.po.SaleDown" >
+    <selectKey  resultType="java.lang.Long" keyProperty="id">
+      SELECT LAST_INSERT_ID() AS ID
+    </selectKey>
+    insert into saledown
+    <trim prefix="(" suffix=")" suffixOverrides="," >
+      <if test="sa_code != null" >
+        sa_code,
+      </if>
+      <if test="sa_customeruu != null" >
+        sa_customeruu,
+      </if>
+      <if test="sa_custid != null" >
+        sa_custid,
+      </if>
+      <if test="sa_custcode != null" >
+        sa_custcode,
+      </if>
+      <if test="sa_custname != null" >
+        sa_custname,
+      </if>
+      <if test="sa_date != null" >
+        sa_date,
+      </if>
+      <if test="sa_toplace != null" >
+        sa_toplace,
+      </if>
+      <if test="sa_currency != null" >
+        sa_currency,
+      </if>
+      <if test="sa_rate != null" >
+        sa_rate,
+      </if>
+      <if test="sa_selleruu != null" >
+        sa_selleruu,
+      </if>
+      <if test="sa_sellerid != null" >
+        sa_sellerid,
+      </if>
+      <if test="sa_seller != null" >
+        sa_seller,
+      </if>
+      <if test="sa_sellercode != null" >
+        sa_sellercode,
+      </if>
+      <if test="sa_custcontact != null" >
+        sa_custcontact,
+      </if>
+      <if test="sa_custcontactuu != null" >
+        sa_custcontactuu,
+      </if>
+      <if test="sa_custmobile != null" >
+        sa_custmobile,
+      </if>
+      <if test="sa_pocode != null" >
+        sa_pocode,
+      </if>
+      <if test="b2b_pu_id != null" >
+        b2b_pu_id,
+      </if>
+      <if test="sa_printstatus != null" >
+        sa_printstatus,
+      </if>
+      <if test="sa_printstatuscode != null" >
+        sa_printstatuscode,
+      </if>
+      <if test="sa_attach != null" >
+        sa_attach,
+      </if>
+      <if test="sa_status != null" >
+        sa_status,
+      </if>
+      <if test="sa_statuscode != null" >
+        sa_statuscode,
+      </if>
+      <if test="sa_remark != null" >
+        sa_remark,
+      </if>
+      <if test="companyId != null" >
+        companyId,
+      </if>
+      <if test="createTime != null" >
+        createTime,
+      </if>
+      <if test="creatorId != null" >
+        creatorId,
+      </if>
+      <if test="updateTime != null" >
+        updateTime,
+      </if>
+      <if test="updaterId != null" >
+        updaterId,
+      </if>
+    </trim>
+    <trim prefix="values (" suffix=")" suffixOverrides="," >
+      <if test="sa_code != null" >
+        #{sa_code,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_customeruu != null" >
+        #{sa_customeruu,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_custid != null" >
+        #{sa_custid,jdbcType=INTEGER},
+      </if>
+      <if test="sa_custcode != null" >
+        #{sa_custcode,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_custname != null" >
+        #{sa_custname,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_date != null" >
+        #{sa_date,jdbcType=TIMESTAMP},
+      </if>
+      <if test="sa_toplace != null" >
+        #{sa_toplace,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_currency != null" >
+        #{sa_currency,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_rate != null" >
+        #{sa_rate,jdbcType=DOUBLE},
+      </if>
+      <if test="sa_selleruu != null" >
+        #{sa_selleruu,jdbcType=INTEGER},
+      </if>
+      <if test="sa_sellerid != null" >
+        #{sa_sellerid,jdbcType=INTEGER},
+      </if>
+      <if test="sa_seller != null" >
+        #{sa_seller,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_sellercode != null" >
+        #{sa_sellercode,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_custcontact != null" >
+        #{sa_custcontact,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_custcontactuu != null" >
+        #{sa_custcontactuu,jdbcType=INTEGER},
+      </if>
+      <if test="sa_custmobile != null" >
+        #{sa_custmobile,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_pocode != null" >
+        #{sa_pocode,jdbcType=VARCHAR},
+      </if>
+      <if test="b2b_pu_id != null" >
+        #{b2b_pu_id,jdbcType=INTEGER},
+      </if>
+      <if test="sa_printstatus != null" >
+        #{sa_printstatus,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_printstatuscode != null" >
+        #{sa_printstatuscode,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_attach != null" >
+        #{sa_attach,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_status != null" >
+        #{sa_status,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_statuscode != null" >
+        #{sa_statuscode,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_remark != null" >
+        #{sa_remark,jdbcType=VARCHAR},
+      </if>
+      <if test="companyId != null" >
+        #{companyId,jdbcType=INTEGER},
+      </if>
+      <if test="createTime != null" >
+        #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="creatorId != null" >
+        #{creatorId,jdbcType=INTEGER},
+      </if>
+      <if test="updateTime != null" >
+        #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updaterId != null" >
+        #{updaterId,jdbcType=INTEGER},
+      </if>
+    </trim>
+  </insert>
+  <update id="updateByPrimaryKeySelective" parameterType="com.usoftchina.saas.transfers.po.SaleDown" >
+    update saledown
+    <set >
+      <if test="sa_code != null" >
+        sa_code = #{sa_code,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_customeruu != null" >
+        sa_customeruu = #{sa_customeruu,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_custid != null" >
+        sa_custid = #{sa_custid,jdbcType=INTEGER},
+      </if>
+      <if test="sa_custcode != null" >
+        sa_custcode = #{sa_custcode,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_custname != null" >
+        sa_custname = #{sa_custname,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_date != null" >
+        sa_date = #{sa_date,jdbcType=TIMESTAMP},
+      </if>
+      <if test="sa_toplace != null" >
+        sa_toplace = #{sa_toplace,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_currency != null" >
+        sa_currency = #{sa_currency,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_rate != null" >
+        sa_rate = #{sa_rate,jdbcType=DOUBLE},
+      </if>
+      <if test="sa_selleruu != null" >
+        sa_selleruu = #{sa_selleruu,jdbcType=INTEGER},
+      </if>
+      <if test="sa_sellerid != null" >
+        sa_sellerid = #{sa_sellerid,jdbcType=INTEGER},
+      </if>
+      <if test="sa_seller != null" >
+        sa_seller = #{sa_seller,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_sellercode != null" >
+        sa_sellercode = #{sa_sellercode,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_custcontact != null" >
+        sa_custcontact = #{sa_custcontact,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_custcontactuu != null" >
+        sa_custcontactuu = #{sa_custcontactuu,jdbcType=INTEGER},
+      </if>
+      <if test="sa_custmobile != null" >
+        sa_custmobile = #{sa_custmobile,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_pocode != null" >
+        sa_pocode = #{sa_pocode,jdbcType=VARCHAR},
+      </if>
+      <if test="b2b_pu_id != null" >
+        b2b_pu_id = #{b2b_pu_id,jdbcType=INTEGER},
+      </if>
+      <if test="sa_printstatus != null" >
+        sa_printstatus = #{sa_printstatus,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_printstatuscode != null" >
+        sa_printstatuscode = #{sa_printstatuscode,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_attach != null" >
+        sa_attach = #{sa_attach,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_status != null" >
+        sa_status = #{sa_status,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_statuscode != null" >
+        sa_statuscode = #{sa_statuscode,jdbcType=VARCHAR},
+      </if>
+      <if test="sa_remark != null" >
+        sa_remark = #{sa_remark,jdbcType=VARCHAR},
+      </if>
+      <if test="companyId != null" >
+        companyId = #{companyId,jdbcType=INTEGER},
+      </if>
+      <if test="createTime != null" >
+        createTime = #{createTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="creatorId != null" >
+        creatorId = #{creatorId,jdbcType=INTEGER},
+      </if>
+      <if test="updateTime != null" >
+        updateTime = #{updateTime,jdbcType=TIMESTAMP},
+      </if>
+      <if test="updaterId != null" >
+        updaterId = #{updaterId,jdbcType=INTEGER},
+      </if>
+    </set>
+    where sa_id = #{sa_id,jdbcType=INTEGER}
+  </update>
+
+  <select id="findProductBySpec" resultMap="productMap">
+    select * from product where pr_spec=#{spec} and companyid =#{companyid}
+  </select>
+
+
+  <insert id="batchInsert" parameterType="java.util.List" >
+    insert into saledowndetail (sd_said, sd_detno,sd_code,
+    sd_prodid, sd_prodcode, sd_prodspec,sd_orispeccode,sp_produnit,
+    sd_custorispeccode,sd_custprodcode,sd_custproddetail,sd_custprodspec
+    sd_qty,
+    sd_price, sd_total, sd_taxrate,
+    sd_delivery,
+    sd_remark,
+    companyId,createTime,b2b_pd_id)
+    values
+    <foreach collection="list" item="item" index="index" open="" close="" separator=",">
+      (
+      #{item.sd_said,jdbcType=INTEGER}, #{item.sd_detno,jdbcType=INTEGER},#{item.sd_code,jdbcType=VARCHAR},
+      #{item.sd_prodid,jdbcType=INTEGER}, #{item.sd_prodcode,jdbcType=VARCHAR},
+      #{item.sd_prodspec,jdbcType=VARCHAR},#{item.sd_orispeccode,jdbcType=VARCHAR},#{item.sp_produnit,jdbcType=VARCHAR},
+      #{item.sd_custorispeccode,jdbcType=VARCHAR},#{item.sd_custprodcode,jdbcType=VARCHAR},#{item.sd_custproddetail,jdbcType=VARCHAR},
+      #{item.sd_custprodspec,jdbcType=VARCHAR},
+      #{item.sd_qty,jdbcType=DOUBLE},
+      #{item.sd_price,jdbcType=DOUBLE}, #{item.sd_total,jdbcType=DOUBLE}, #{item.sd_taxrate,jdbcType=DOUBLE},
+     #{item.sd_delivery,jdbcType=TIMESTAMP},
+     #{item.sd_remark,jdbcType=VARCHAR},
+      #{item.companyId,jdbcType=INTEGER},#{item.createTime,jdbcType=TIMESTAMP}, #{item.b2b_pd_id}
+      )
+    </foreach>
+  </insert>
+
+  <update id="batchUpdateClose">
+    update saledown set sa_status='已关闭', sa_statuscode='CLOSE' where
+    b2b_pd_id in #{data} and companyid =#{companyid}
+  </update>
+
+  <update id="batchUpdateResClose">
+    update saledown set sa_status='已审核',sa_statuscode='AUDITED' where
+     b2b_pd_id in #{data} and companyid =#{companyid}
+  </update>
+
+</mapper>

+ 6 - 0
base-servers/gateway-server/src/main/resources/application.yml

@@ -120,6 +120,12 @@ spring:
         - Path=/api/operation/**
         filters:
         - RewritePath=/api/operation/(?<segment>.*), /$\{segment}
+      - id: TRANSFERS-SERVER
+        uri: lb://TRANSFERS-SERVER
+        predicates:
+        - Path=/api/open/**
+        filters:
+        - RewritePath=/api/open/(?<segment>.*), /$\{segment}
   redis:
     host: 10.1.81.62
     port: 6379

+ 11 - 11
frontend/operation-web/app/view/auth/ReLoginController.js

@@ -54,17 +54,17 @@ Ext.define('saas.view.auth.ReLoginController', {
 
             saas.util.State.set('session', session.data);
 
-            let sessionStr = session.data ? JSON.stringify(session.data) : '';
-
-            if (typeof require === 'function') {
-                let ipc = require('electron').ipcRenderer;
-                ipc.send('session.change', sessionStr);
-            }else {
-                //解析session 把data作为sessionStr
-                sessionStr = session ? JSON.stringify(session.data) : '';
-                const frame = window.frames[window.frames.length - 1];
-                frame.postMessage(sessionStr, '*');
-            }
+            // let sessionStr = session.data ? JSON.stringify(session.data) : '';
+
+            // if (typeof require === 'function') {
+            //     let ipc = require('electron').ipcRenderer;
+            //     ipc.send('session.change', sessionStr);
+            // }else {
+            //     //解析session 把data作为sessionStr
+            //     sessionStr = session ? JSON.stringify(session.data) : '';
+            //     const frame = window.frames[window.frames.length - 1];
+            //     frame.postMessage(sessionStr, '*');
+            // }
             return session;
         })
         .catch(function (error) {

+ 1 - 1
frontend/saas-web/app/model/report/RecDetail.js

@@ -4,7 +4,7 @@ Ext.define('saas.model.report.RecDetail', {
     fields: [
         { name: 'rd_date', type: 'string' },
         { name: 'rd_code', type: 'string' },
-        { name: 'rd_kind', type: 'date' },
+        { name: 'rd_kind', type: 'string' },
         { name: 'rd_sellername', type: 'string' },
         { name: 'rd_currency', type: 'string' },
         { name: 'rd_addrec', type: 'float' },

+ 3 - 3
frontend/saas-web/app/view/money/payBalance/FormPanel.js

@@ -297,9 +297,9 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
                         store: null,
                         valueField: "value",
                         xtype: "oriOrderMutiDbfindTrigger",
-                        listeners: {
-                            beforetriggerclick: 'vendnamechange'
-                        }
+                        // listeners: {
+                        //     beforetriggerclick: 'vendnamechange'
+                        // }
                     },
 
                 }, {

+ 18 - 19
frontend/saas-web/app/view/money/payBalance/FormPanelController.js

@@ -80,7 +80,7 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
                         return false;
                     }
                     Ext.apply(f, {
-                        defaultCondition: "sl_vendid = "+pb_vendid+" and sl_currency ='"+pb_currency+"' AND sl_custid <> 0 AND (  sl_kind IN ( '出货单', '销售退货单' ) OR ( sl_kind = '期初余额' AND sl_ym = (select min(pd_detno) from periodsdetail  where pd_status=0 and periodsdetail.companyid=subledger.companyid) ) "+
+                        defaultCondition: "sl_vendid = "+pb_vendid+" and sl_currency ='"+pb_currency+"' AND sl_custid <> 0 AND (  sl_kind IN ( '采购验收单','采购验退单' ) OR ( sl_kind = '期初余额' AND sl_ym = (select min(pd_detno) from periodsdetail  where pd_status=0 and periodsdetail.companyid=subledger.companyid) ) "+
                         ") and sl_namount<>0 "
                     });
                 },
@@ -99,7 +99,7 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
                         return false;
                     }
                     Ext.apply(f, {
-                        defaultCondition: "sl_vendid = "+pb_vendid+" and sl_currency ='"+pb_currency+"' AND sl_custid <> 0 AND (  sl_kind IN ( '出货单', '销售退货单' ) OR ( sl_kind = '期初余额' AND sl_ym = (select min(pd_detno) from periodsdetail  where pd_status=0 and periodsdetail.companyid=subledger.companyid) ) "+
+                        defaultCondition: "sl_vendid = "+pb_vendid+" and sl_currency ='"+pb_currency+"' AND sl_custid <> 0 AND (  sl_kind IN ( '采购验收单','采购验退单' ) OR ( sl_kind = '期初余额' AND sl_ym = (select min(pd_detno) from periodsdetail  where pd_status=0 and periodsdetail.companyid=subledger.companyid) ) "+
                         ") and sl_namount<>0 "
                     });
                 }
@@ -240,23 +240,22 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
             me.save();
         }
     },
-    vendnamechange:function(dbfindtrigger){
-        var me = this,
-            viewModel = me.getViewModel(),
-            c = viewModel.get('pb_vendname_change'),
-            pb_currency = viewModel.get('pb_currency');
-            console.log('vendnamechange');
-        if(c!=null&&c!=''){
-            c = ' and sl_vendid='+c;
-        }else{
-            c ='';
-        }
-        if(pb_currency!=null&&pb_currency!='') {
-            c = ' and sl_currency='+pb_currency+"'";
-        }
-        dbfindtrigger.defaultCondition="((sl_kind in ('采购验收单','采购验退单')) or (sl_kind='期初余额' and sl_ym="+
-        "(select min(pd_detno) from periodsdetail  where pd_status=0 and periodsdetail.companyid=subledger.companyid))) and sl_namount<>0" + c
-    },
+    // vendnamechange:function(dbfindtrigger){
+    //     var me = this,
+    //         viewModel = me.getViewModel(),
+    //         c = viewModel.get('pb_vendname_change'),
+    //         pb_currency = viewModel.get('pb_currency');
+    //     if(c!=null&&c!=''){
+    //         c = ' and sl_vendid='+c;
+    //     }else{
+    //         c ='';
+    //     }
+    //     if(pb_currency!=null&&pb_currency!='') {
+    //         c = ' and sl_currency='+pb_currency+"'";
+    //     }
+    //     dbfindtrigger.defaultCondition="((sl_kind in ('采购验收单','采购验退单')) or (sl_kind='期初余额' and sl_ym="+
+    //     "(select min(pd_detno) from periodsdetail  where pd_status=0 and periodsdetail.companyid=subledger.companyid))) and sl_namount<>0" + c
+    // },
     myInitCopyData: function(formData) {
         var main = formData.main;
         main.pb_auditman = '';

+ 1 - 1
frontend/saas-web/app/view/sale/business/QuoteWin.js

@@ -160,7 +160,7 @@ Ext.define('saas.view.sale.business.QuoteWin', {
         var params = {
             sourceId: values.sourceId,
             inquiry: {
-                id: values.inquiryId,
+                id: values.sourceId,
                 enUU: values.enUU,
                 recorderUU: values.recorderUU,
                 code: values.inquiryCode,

+ 10 - 0
pom.xml

@@ -347,6 +347,16 @@
                 <artifactId>transfers-auth</artifactId>
                 <version>${project.release.version}</version>
             </dependency>
+            <dependency>
+                <groupId>com.usoftchina.saas</groupId>
+                <artifactId>money-dto</artifactId>
+                <version>${project.release.version}</version>
+            </dependency>
+            <dependency>
+                <groupId>com.usoftchina.saas</groupId>
+                <artifactId>mall-api</artifactId>
+                <version>${project.release.version}</version>
+            </dependency>
             <!-- file upload -->
             <dependency>
                 <groupId>io.github.openfeign.form</groupId>