Эх сурвалжийг харах

对账单、客户采购单下载接口

guq 7 жил өмнө
parent
commit
ffd2b2298f
23 өөрчлөгдсөн 2923 нэмэгдсэн , 1 устгасан
  1. 34 0
      applications/money/money-dto/src/main/java/com/usoftchina/saas/money/dto/ApcheckFormDTO.java
  2. 289 0
      applications/money/money-dto/src/main/java/com/usoftchina/saas/money/po/Apcheck.java
  3. 100 0
      applications/money/money-dto/src/main/java/com/usoftchina/saas/money/po/ApcheckDetail.java
  4. 202 0
      applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/SaleDownDTO.java
  5. 212 0
      applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/SaleDownDetailDTO.java
  6. 30 0
      applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/SaleDownFormDTO.java
  7. 274 0
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/po/SaleDown.java
  8. 222 0
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/po/SaleDownDetail.java
  9. 3 0
      applications/transfers/transfers-auth/src/main/java/com/usoftchina/saas/transfers/auth/interceptor/OpenApiAuthInterceptor.java
  10. 8 1
      applications/transfers/transfers-server/pom.xml
  11. 41 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/controller/ApCheckController.java
  12. 68 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/controller/SaleDownController.java
  13. 17 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/mapper/ApcheckMapper.java
  14. 28 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/mapper/SaledownMapper.java
  15. 274 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/po/SaleDown.java
  16. 222 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/po/SaleDownDetail.java
  17. 9 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/ApCheckService.java
  18. 14 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/SaleDownService.java
  19. 60 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/impl/ApCheckServiceImpl.java
  20. 89 0
      applications/transfers/transfers-server/src/main/java/com/usoftchina/saas/transfers/service/impl/SaleDownServiceImpl.java
  21. 288 0
      applications/transfers/transfers-server/src/main/resources/mapper/ApcheckMapper.xml
  22. 429 0
      applications/transfers/transfers-server/src/main/resources/mapper/SaledownMapper.xml
  23. 10 0
      pom.xml

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

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

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

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

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

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