Browse Source

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

chenw 6 years ago
parent
commit
ce791c8732
36 changed files with 533 additions and 167 deletions
  1. 7 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/po/Operation.java
  2. 19 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/CustomerServiceImpl.java
  3. 11 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/VendorServiceImpl.java
  4. 10 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/SubledgerController.java
  5. 2 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/SubledgerMapper.java
  6. 40 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/po/Payablesdetail.java
  7. 40 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/po/Receivablesdetail.java
  8. 1 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/SubledgerService.java
  9. 24 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/SubledgerServiceImpl.java
  10. 51 27
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/VerificationServiceImpl.java
  11. 7 2
      applications/money/money-server/src/main/resources/mapper/PayablesdetailMapper.xml
  12. 7 2
      applications/money/money-server/src/main/resources/mapper/ReceivablesdetailMapper.xml
  13. 17 0
      applications/money/money-server/src/main/resources/mapper/SubledgerMapper.xml
  14. 1 0
      applications/money/money-server/src/main/resources/mapper/VerificationMapper.xml
  15. 3 2
      applications/money/money-server/src/main/resources/mapper/VerificationdetMapper.xml
  16. 8 0
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleDownServiceImpl.java
  17. 2 0
      frontend/saas-web/app/view/money/payBalance/FormPanel.js
  18. 45 0
      frontend/saas-web/app/view/money/payBalance/FormPanelController.js
  19. 3 0
      frontend/saas-web/app/view/money/recBalance/FormPanel.js
  20. 46 0
      frontend/saas-web/app/view/money/recBalance/FormPanelController.js
  21. 4 4
      frontend/saas-web/app/view/money/report/AccountBalance.js
  22. 61 28
      frontend/saas-web/app/view/money/report/PayDetail.js
  23. 62 30
      frontend/saas-web/app/view/money/report/RecDetail.js
  24. 4 4
      frontend/saas-web/app/view/money/verification/FormPanel.js
  25. 14 0
      frontend/saas-web/app/view/money/verification/FormPanelController.js
  26. 5 0
      frontend/saas-web/app/view/purchase/purchaseIn/FormPanel.js
  27. 5 0
      frontend/saas-web/app/view/purchase/purchaseOut/FormPanel.js
  28. 8 38
      frontend/saas-web/app/view/sale/b2b/Purchase.js
  29. 1 1
      frontend/saas-web/app/view/sale/b2b/RecDataList.js
  30. 15 14
      frontend/saas-web/app/view/sale/b2b/recformpanel/FormPanel.js
  31. 0 8
      frontend/saas-web/app/view/sale/b2b/recformpanel/FormPanelController.js
  32. 1 1
      frontend/saas-web/app/view/sale/b2b/reconciliation/DataList.js
  33. 3 3
      frontend/saas-web/app/view/sale/b2b/reconciliation/FormPanel.js
  34. 1 0
      frontend/saas-web/app/view/sale/b2b/reconciliation/FormPanelModel.js
  35. 3 1
      frontend/saas-web/app/view/sale/report/SaleProfit.js
  36. 2 2
      frontend/saas-web/ext/packages/ux/src/feature/MySummary.js

+ 7 - 0
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/po/Operation.java

@@ -87,11 +87,18 @@ public enum Operation {
      */
     TURNPURCHASE("msg.turnPurchase","msg.turnSuccess"),
 
+    /**
+     * 转销售
+     */
+    TURNSALE("msg.turnSale","msg.turnSuccess"),
+
     /**
      * 转销售验退单
      */
     TURNPRODOUTRETURN("msg.turnProdIOReturn","msg.turnSuccess");
 
+
+
     private final String title;
     private final String result;
 

+ 19 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/CustomerServiceImpl.java

@@ -67,6 +67,8 @@ public class CustomerServiceImpl extends CommonBaseServiceImpl<CustomerMapper, C
     private CustAramountService custAramountService;
     @Autowired
     private CustAramountMapper custAramountMapper;
+    @Autowired
+    private CurrencyMapper currencyMapper;
 
     @Override
     public PageInfo<CustomerList> getListData(PageRequest page, ListReqDTO req) {
@@ -488,6 +490,23 @@ public class CustomerServiceImpl extends CommonBaseServiceImpl<CustomerMapper, C
                     customerDTO.setCu_sellercode(employees.get(0).getEm_code());
                     customerDTO.setCu_sellername(employees.get(0).getEm_name());
                 }
+                //验证结算天数
+                Double promise = customerDTO.getCu_promisedays();
+                if (!StringUtils.isEmpty(promise)) {
+                    if (promise <= 0 || (promise - promise.intValue() != 0)) {
+                        err.append("客户编号为: " + customerDTO.getCu_code() + " 的结算天数: "+ promise +" 不为正整数,请确认数据是否正确");
+                        break;
+                    }
+                }
+                //币别验证
+                String currency = customerDTO.getCu_currency();
+                if (!StringUtils.isEmpty(currency)) {
+                    Integer count = currencyMapper.selectCountByName(currency, BaseContextHolder.getCompanyId());
+                    if (count == 0) {
+                        err.append("客户编号为: " + customerDTO.getCu_code() + " 的币别: "+ currency +" 在系统中不存在,请确认数据是否正确");
+                        break;
+                    }
+                }
                 customerDTO.setCu_status(Status.ENABLE.getDisplay());
                 customerDTO.setCu_statuscode(Status.ENABLE.name());
                 //编号不存在

+ 11 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/VendorServiceImpl.java

@@ -75,6 +75,9 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
     private  VendApamountService vendApamountService;
     @Autowired
     private VendApamountMapper vendApamountMapper;
+    @Autowired
+    private CurrencyMapper currencyMapper;
+
     @Value("${b2b.baseUrl.common}")
     private String b2bUrl;
 
@@ -479,6 +482,14 @@ public class VendorServiceImpl extends CommonBaseServiceImpl<VendorMapper, Vendo
                 Vendor vendor = JSONObject.parseObject(main.getDd_maindata(), Vendor.class);
                 vendor.setVe_status(Status.ENABLE.getDisplay());
                 vendor.setVe_statuscode(Status.ENABLE.name());
+                //币别验证
+                String currency = vendor.getVe_currency();
+                if (!StringUtils.isEmpty(currency)) {
+                    Integer count = currencyMapper.selectCountByName(currency, companyId);
+                    if (count == 0) {
+                        throw new BizException(70110582, "供应商: " + vendor.getVe_code() + " 的币别: "+ currency +" 在系统中不存在,请确认数据是否正确");
+                    }
+                }
                 if (!StringUtils.isEmpty(vendor.getVe_type())) {
                     Vendorkind type = vendorkindService.getTypeByname(vendor.getVe_type());
                     if (null == type) {

+ 10 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/controller/SubledgerController.java

@@ -1,8 +1,10 @@
 package com.usoftchina.saas.money.controller;
 
+import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.base.Result;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.money.mapper.SubledgerMapper;
+import com.usoftchina.saas.money.po.VerificationList;
 import com.usoftchina.saas.money.service.SubledgerService;
 import com.usoftchina.saas.page.PageRequest;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -24,4 +26,12 @@ public class SubledgerController {
     public Result getListData(PageRequest page, ListReqDTO condition){
         return Result.success(subledgerService.seleteList(page, condition));
     }
+
+    /**
+     * 核销单明细1放大镜特殊处理--应收转应收、应付转应付
+     */
+    @RequestMapping("/dbfindlist")
+    public Result getDbfindlistData(PageRequest page, ListReqDTO condition) {
+        return Result.success(subledgerService.getDbfindlistData(page, condition));
+    }
 }

+ 2 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/SubledgerMapper.java

@@ -32,4 +32,6 @@ public interface SubledgerMapper {
 
     void updateProdInOut(@Param("companyid") Long companyid , @Param("code") String code , @Param("kind") String kind ,
                          @Param("status") String status , @Param("statuscode") String statuscode);
+
+    List<Subledger>  selectSubledgerSpeBycondition(@Param("con") String con, @Param("companyId") Long companyId);
 }

+ 40 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/po/Payablesdetail.java

@@ -29,6 +29,14 @@ public class Payablesdetail {
 
     private Double pd_remain;
 
+    private Double pd_addpay_cr;
+
+    private Double pd_addpre_cr;
+
+    private Double pd_remain_cr;
+
+    private Double pd_rate;
+
     private Integer companyid;
 
     private Integer pd_status;
@@ -178,4 +186,36 @@ public class Payablesdetail {
     public void setPd_query(Integer pd_query) {
         this.pd_query = pd_query;
     }
+
+    public Double getPd_addpay_cr() {
+        return pd_addpay_cr;
+    }
+
+    public void setPd_addpay_cr(Double pd_addpay_cr) {
+        this.pd_addpay_cr = pd_addpay_cr;
+    }
+
+    public Double getPd_addpre_cr() {
+        return pd_addpre_cr;
+    }
+
+    public void setPd_addpre_cr(Double pd_addpre_cr) {
+        this.pd_addpre_cr = pd_addpre_cr;
+    }
+
+    public Double getPd_remain_cr() {
+        return pd_remain_cr;
+    }
+
+    public void setPd_remain_cr(Double pd_remain_cr) {
+        this.pd_remain_cr = pd_remain_cr;
+    }
+
+    public Double getPd_rate() {
+        return pd_rate;
+    }
+
+    public void setPd_rate(Double pd_rate) {
+        this.pd_rate = pd_rate;
+    }
 }

+ 40 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/po/Receivablesdetail.java

@@ -29,6 +29,14 @@ public class Receivablesdetail {
 
     private Double rd_remain;
 
+    private Double rd_addrec_cr;
+
+    private Double rd_addpre_cr;
+
+    private Double rd_remain_cr;
+
+    private Double rd_rate;
+
     private Integer companyid;
 
     private Integer rd_status;
@@ -178,4 +186,36 @@ public class Receivablesdetail {
     public void setRd_query(Integer rd_query) {
         this.rd_query = rd_query;
     }
+
+    public Double getRd_addrec_cr() {
+        return rd_addrec_cr;
+    }
+
+    public void setRd_addrec_cr(Double rd_addrec_cr) {
+        this.rd_addrec_cr = rd_addrec_cr;
+    }
+
+    public Double getRd_addpre_cr() {
+        return rd_addpre_cr;
+    }
+
+    public void setRd_addpre_cr(Double rd_addpre_cr) {
+        this.rd_addpre_cr = rd_addpre_cr;
+    }
+
+    public Double getRd_remain_cr() {
+        return rd_remain_cr;
+    }
+
+    public void setRd_remain_cr(Double rd_remain_cr) {
+        this.rd_remain_cr = rd_remain_cr;
+    }
+
+    public Double getRd_rate() {
+        return rd_rate;
+    }
+
+    public void setRd_rate(Double rd_rate) {
+        this.rd_rate = rd_rate;
+    }
 }

+ 1 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/SubledgerService.java

@@ -11,4 +11,5 @@ import com.usoftchina.saas.page.PageRequest;
  **/
 public interface SubledgerService {
     PageInfo<Subledger> seleteList(PageRequest page, ListReqDTO reqDTO);
+    PageInfo<Subledger> getDbfindlistData(PageRequest page, ListReqDTO reqDTO);
 }

+ 24 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/SubledgerServiceImpl.java

@@ -52,4 +52,28 @@ public class SubledgerServiceImpl implements SubledgerService {
         subledgerList = subledgerMapper.selectSubledgerBycondition(con, companyId);
         return subledgerList;
     }
+
+    @Override
+    public PageInfo<Subledger> getDbfindlistData(PageRequest page, ListReqDTO reqDTO) {
+        //设置默认分页
+        if (null == page || page.getSize() == 0 || page.getNumber() == 0) {
+            page = new PageRequest();
+            page.setNumber(1);
+            page.setSize(10);
+        }
+        PageHelper.startPage(page.getNumber(), page.getSize());
+        List<Subledger> subledgerList = null;
+        Long companyId = BaseContextHolder.getCompanyId();
+        if (StringUtils.isEmpty(reqDTO)) {
+            return  null;
+        }
+        String con = reqDTO.getFinalCondition();
+        if (null == con) {
+            con = "1=1";
+        }
+        subledgerList = subledgerMapper.selectSubledgerSpeBycondition(con, companyId);
+        //取分页信息
+        PageInfo<Subledger> pageInfo = new PageInfo<Subledger>(subledgerList);
+        return pageInfo;
+    }
 }

+ 51 - 27
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/VerificationServiceImpl.java

@@ -137,6 +137,14 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
 
         Verification verification = BeanMapper.map(main,Verification.class);
         if(id.longValue() > 0 ){
+
+            //更新前判断数据库中的币别是否和当前币别一致
+            Verification oldVerification = getMapper().selectByPrimaryKey(id.intValue());
+            if(!oldVerification.getVc_currency().equals(main.getVc_currency())){
+                verificationdetailMapper.deleteByParentPrimaryKey(id);
+                verificationdetMapper.deleteByParentPrimaryKey(id);
+            }
+
             String kind = verification.getVc_kind();
             verification.setVc_kind(transferKind(kind));
             verification.setCompanyId(companyId);
@@ -212,36 +220,47 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
 
         String type = main.getVc_kind();
         type = transferKind(type);
+
+        for(Verificationdet det : items1){
+            //本次核销金额
+            Double nowbalanceDet = det.getVd_nowbalance()==null?new Double(0):det.getVd_nowbalance();
+            //单据金额
+            Double amount = det.getSl_namount();
+            //已核销金额
+            Double namount = det.getSl_namount()==null?new Double(0):det.getSl_namount();
+            //核销金额
+            if(amount.doubleValue()>0 && nowbalanceDet.doubleValue()<0){
+                String msg = BizExceptionCode.MONEY_NOWAMOUNT_POSITIVE.getMessage();
+                int code = BizExceptionCode.MONEY_NOWAMOUNT_POSITIVE.getCode();
+                String error = String.format(msg, det.getVd_slkind());
+                throw new BizException(code, error);
+            }
+            if(amount.doubleValue()<0 && nowbalanceDet.doubleValue()>0){
+                String msg = BizExceptionCode.MONEY_NOWAMOUNT_NEGATIVE.getMessage();
+                int code = BizExceptionCode.MONEY_NOWAMOUNT_NEGATIVE.getCode();
+                String error = String.format(msg, det.getVd_slkind());
+                throw new BizException(code, error);
+            }
+            Double nowbalance = det.getVd_nowbalance()==null?new Double(0):det.getVd_nowbalance();
+            if( Math.abs(namount.doubleValue()) <  Math.abs(nowbalanceDet.doubleValue()) ){
+                throw new BizException(500, BizExceptionCode.RECALANCE_OUTNOWBALANCE.getMessage());
+            }
+        }
         if(type.equals("receipts_offset_receivable") || type.equals("prepaid_offset_payable") ||
-                type.equals("receivable_offset_payable")){
+                type.equals("receivable_offset_payable")){//预收冲应收、预付冲应付、应收冲应付
             Double total1 = new Double(0);
             for(Verificationdet det : items1){
                 Double nowbalanceDet = det.getVd_nowbalance()==null?new Double(0):det.getVd_nowbalance();
                 total1 += nowbalanceDet;
-
-                //单据金额
-                Double amount = det.getSl_namount();
-                //核销金额
-                if(amount.doubleValue()>0 && nowbalanceDet.doubleValue()<0){
-                    String msg = BizExceptionCode.MONEY_NOWAMOUNT_POSITIVE.getMessage();
-                    int code = BizExceptionCode.MONEY_NOWAMOUNT_POSITIVE.getCode();
-                    String error = String.format(msg, det.getVd_slkind());
-                    throw new BizException(code, error);
-                }
-                if(amount.doubleValue()<0 && nowbalanceDet.doubleValue()>0){
-                    String msg = BizExceptionCode.MONEY_NOWAMOUNT_NEGATIVE.getMessage();
-                    int code = BizExceptionCode.MONEY_NOWAMOUNT_NEGATIVE.getCode();
-                    String error = String.format(msg, det.getVd_slkind());
-                    throw new BizException(code, error);
-                }
             }
             Double total2 = new Double(0);
             for(Verificationdetail detail : items2){
                 Double nowbalanceDet = detail.getVcd_nowbalance()==null?new Double(0):detail.getVcd_nowbalance();
                 total2 += nowbalanceDet;
-
                 //单据金额
                 Double amount = detail.getVcd_amount();
+                //已核销金额
+                Double namount = detail.getSl_namount()==null?new Double(0):detail.getSl_namount();
                 //核销金额
                 if(amount.doubleValue()>0 && nowbalanceDet.doubleValue()<0){
                     String msg = BizExceptionCode.MONEY_NOWAMOUNT_POSITIVE.getMessage();
@@ -255,20 +274,14 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
                     String error = String.format(msg, detail.getVcd_slkind());
                     throw new BizException(code, error);
                 }
+                if( Math.abs(namount.doubleValue()) <  Math.abs(nowbalanceDet.doubleValue()) ){
+                    throw new BizException(500, BizExceptionCode.RECALANCE_OUTNOWBALANCE.getMessage());
+                }
             }
             if(total1.doubleValue()!=total2.doubleValue()){
                 throw new BizException(500, BizExceptionCode.VERIFICATION_CHECK_BALANCE.getMessage());
             }
-        }else if(type.equals("receivable_to_receivable") || type.equals("payable_to_payable")){
-            for(Verificationdet det : items1){
-                Double namount = det.getSl_namount()==null?new Double(0):det.getSl_namount();
-                Double nowbalance = det.getVd_nowbalance()==null?new Double(0):det.getVd_nowbalance();
-                if(namount.doubleValue()<nowbalance.doubleValue()){
-                    throw new BizException(500, BizExceptionCode.RECALANCE_OUTNOWBALANCE.getMessage());
-                }
-            }
         }
-
     }
 
     //插入中间表
@@ -590,6 +603,11 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
             if(items1!=null){
                 for(VerificationdetDTO det : items1){
                     Double nowbalanceDet = det.getVd_nowbalance()==null?new Double(0):det.getVd_nowbalance();
+                    Subledger sub = subledgerMapper.selectByPrimaryKey(Math.toIntExact(det.getVd_slid()));
+                    if (sub != null && sub.getSl_preamount() != 0 &&
+                            ("receivable_to_receivable".equals(verificationDTO.getVc_kind()) || "payable_to_payable".equals(verificationDTO.getVc_kind()))) {
+                        nowbalanceDet=-1*nowbalanceDet;
+                    }
                     updateAuditSubledeger(det.getVd_slid(),nowbalanceDet);
                 }
             }
@@ -879,6 +897,12 @@ public class VerificationServiceImpl extends CommonBaseServiceImpl<VerificationM
         List<Verificationdetail> items2 = verificationdetailMapper.selectByFK(id);
         for(Verificationdet det : items1){
             Double nowbalanceDet = det.getVd_nowbalance()==null?new Double(0):det.getVd_nowbalance();
+            Subledger sub = subledgerMapper.selectByPrimaryKey(Math.toIntExact(det.getVd_slid()));
+            if (sub != null && sub.getSl_preamount() != 0 &&
+                    ("receivable_to_receivable".equals(verificationDTO.getVc_kind()) || "payable_to_payable".equals(verificationDTO.getVc_kind())
+                    || "应收转应收".equals(verificationDTO.getVc_kind()) || "应付转应付".equals(verificationDTO.getVc_kind()))) {
+                nowbalanceDet=-1*nowbalanceDet;
+            }
             updateResAuditSubledeger(det.getVd_slid(),nowbalanceDet);
         }
         for(Verificationdetail detail : items2){

+ 7 - 2
applications/money/money-server/src/main/resources/mapper/PayablesdetailMapper.xml

@@ -15,6 +15,10 @@
     <result column="pd_addpay" property="pd_addpay" jdbcType="DOUBLE" />
     <result column="pd_addpre" property="pd_addpre" jdbcType="DOUBLE" />
     <result column="pd_remain" property="pd_remain" jdbcType="DOUBLE" />
+    <result column="pd_addpay_cr" property="pd_addpay_cr" jdbcType="DOUBLE" />
+    <result column="pd_addpre_cr" property="pd_addpre_cr" jdbcType="DOUBLE" />
+    <result column="pd_remain_cr" property="pd_remain_cr" jdbcType="DOUBLE" />
+    <result column="pd_rate" property="pd_rate" jdbcType="DOUBLE" />
     <result column="companyid" property="companyid" jdbcType="INTEGER" />
     <result column="pd_status" property="pd_status" jdbcType="INTEGER" />
     <result column="pd_query" property="pd_query" jdbcType="INTEGER" />
@@ -28,13 +32,14 @@
   </sql>
 
   <select id="selectByCondition" resultMap="BaseResultMap">
-    select  *  from payablesdetail
+    select  a.*,cr_rate pd_rate, cr_rate*pd_addpay pd_addpay_cr, cr_rate*pd_addpre pd_addpre_cr, cr_rate*pd_remain pd_remain_cr from payablesdetail a
+    left join currencys on cr_name = a.pd_currency and a.companyId = currencys.companyId
     <where>
       <if test="con != null">
         ${con}
       </if>
       <if test="companyId != null">
-        and  companyId = #{companyId} and pd_query =1
+        and  a.companyId = #{companyId} and pd_query =1
       </if>
     </where>
     order by pd_vendid DESC, pd_detno asc, pd_date desc

+ 7 - 2
applications/money/money-server/src/main/resources/mapper/ReceivablesdetailMapper.xml

@@ -15,6 +15,10 @@
     <result column="rd_addrec" property="rd_addrec" jdbcType="DOUBLE" />
     <result column="rd_addpre" property="rd_addpre" jdbcType="DOUBLE" />
     <result column="rd_remain" property="rd_remain" jdbcType="DOUBLE" />
+    <result column="rd_addrec_cr" property="rd_addrec_cr" jdbcType="DOUBLE" />
+    <result column="rd_addpre_cr" property="rd_addpre_cr" jdbcType="DOUBLE" />
+    <result column="rd_remain_cr" property="rd_remain_cr" jdbcType="DOUBLE" />
+    <result column="rd_rate" property="rd_rate" jdbcType="DOUBLE" />
     <result column="companyid" property="companyid" jdbcType="INTEGER" />
     <result column="rd_status" property="rd_status" jdbcType="INTEGER" />
     <result column="rd_query" property="rd_query" jdbcType="INTEGER" />
@@ -28,13 +32,14 @@
   </sql>
 
   <select id="selectByCondition" resultMap="BaseResultMap">
-    select  *  from receivablesdetail
+    select  a.*,cr_rate rd_rate, cr_rate*rd_addrec rd_addrec_cr, cr_rate*rd_addpre rd_addpre_cr, cr_rate*rd_remain rd_remain_cr from receivablesdetail a
+    left join currencys on cr_name = a.rd_currency and currencys.companyId = a.companyid
     <where>
       <if test="con != null">
         ${con}
       </if>
       <if test="companyId != null">
-        and  companyId = #{companyId} and rd_query = 1
+        and  a.companyId = #{companyId} and rd_query = 1
       </if>
     </where>
     order by rd_custid DESC, rd_detno asc, rd_date desc

+ 17 - 0
applications/money/money-server/src/main/resources/mapper/SubledgerMapper.xml

@@ -275,4 +275,21 @@
     update prodinout set pi_prstatuscode=#{statuscode},pi_prstatus=#{status} where
     companyid=#{companyid} and pi_class=#{kind} and pi_inoutno=#{code}
   </update>
+
+  <select id="selectSubledgerSpeBycondition" resultMap="BaseResultMap">
+    select sl_id,sl_kind,sl_code,sl_custid,sl_vendid,sl_date,
+    (case when ifnull(sl_preamount,0)!=0 then ifnull(sl_orderamount,0)*(-1)  else sl_orderamount end ) as sl_orderamount,
+    (case when ifnull(sl_preamount,0)!=0 then ifnull(sl_yamount,0)*(-1)  else sl_yamount end ) as sl_yamount,
+    (case when ifnull(sl_preamount,0)!=0 then ifnull(sl_namount,0)*(-1)  else sl_namount end ) as sl_namount,
+    sl_remark,companyid,sl_ym,sl_currency
+    from subledger
+    <where>
+      <if test="con != null">
+        ${con}
+      </if>
+      <if test="companyId != null">
+        and   subledger.companyId = #{companyId}
+      </if>
+    </where>  order by sl_date desc
+  </select>
 </mapper>

+ 1 - 0
applications/money/money-server/src/main/resources/mapper/VerificationMapper.xml

@@ -602,6 +602,7 @@
       vc_custid = #{vc_custid,jdbcType=INTEGER},
       vc_custcode = #{vc_custcode,jdbcType=VARCHAR},
       vc_custname = #{vc_custname,jdbcType=VARCHAR},
+      vc_currency = #{vc_currency,jdbcType=VARCHAR},
       vc_turnvendid = #{vc_turnvendid,jdbcType=INTEGER},
       vc_turnvendcode = #{vc_turnvendcode,jdbcType=VARCHAR},
       vc_turnvendname = #{vc_turnvendname,jdbcType=VARCHAR},

+ 3 - 2
applications/money/money-server/src/main/resources/mapper/VerificationdetMapper.xml

@@ -481,8 +481,9 @@
   <select id="selectByFK" parameterType="long" resultMap="BaseResultMap">
     select
     <include refid="Base_Column_List" />,
-    <include refid="subledger_Column_List" />
-    from verificationdet left join subledger on sl_id=vd_slid and subledger.companyid=verificationdet.companyId
+    (case when vc_kind in ('应收转应收','应付转应付') and ifnull(sl_preamount,0)!=0 then sl_yamount*(-1) else sl_yamount end) as sl_yamount,
+    (case when vc_kind in ('应收转应收','应付转应付') and ifnull(sl_preamount,0)!=0 then sl_namount*(-1) else sl_namount end) as sl_namount
+    from verificationdet left join subledger on sl_id=vd_slid and subledger.companyid=verificationdet.companyId left join verification on verificationdet.vd_vcid=vc_id
       where vd_vcid=#{vc_id} order by vd_id
   </select>
 

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

@@ -3,11 +3,14 @@ package com.usoftchina.saas.sale.service.impl;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.base.Result;
+import com.usoftchina.saas.commons.api.CommonService;
 import com.usoftchina.saas.commons.api.MaxnumberService;
+import com.usoftchina.saas.commons.api.MessageLogService;
 import com.usoftchina.saas.commons.dto.DocBaseDTO;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.commons.exception.BizExceptionCode;
 import com.usoftchina.saas.commons.po.BillCodeSeq;
+import com.usoftchina.saas.commons.po.Operation;
 import com.usoftchina.saas.commons.po.Status;
 import com.usoftchina.saas.context.BaseContextHolder;
 import com.usoftchina.saas.exception.BizException;
@@ -44,6 +47,9 @@ public class SaleDownServiceImpl implements SaleDownService{
     @Autowired
     private SaleService saleService;
 
+    @Autowired
+    private MessageLogService messageLogService;
+
     @Override
     public PageInfo getListData(PageRequest page, ListReqDTO req) {
         PageHelper.startPage(page.getNumber(), page.getSize());
@@ -105,6 +111,7 @@ public class SaleDownServiceImpl implements SaleDownService{
             saledownMapper.batchUpdate(updateDetails);
         }
         baseDTO = new DocBaseDTO(sa_id, sa_code, BillCodeSeq.SALEDOWN.getName());
+        messageLogService.update(baseDTO);
         return baseDTO;
     }
 
@@ -157,6 +164,7 @@ public class SaleDownServiceImpl implements SaleDownService{
         sd.setSa_turnstatuscode("TURNSALE");
         sd.setSa_turndate(new Date());
         saledownMapper.updateByPrimaryKeySelective(sd);
+        messageLogService.customizeLog(baseDTO, Operation.TURNSALE);
         return baseDTO;
     }
 

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

@@ -601,6 +601,8 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
 
         var flag = sum_pd_amount + pb_discounts - sum_pbd_nowbalance;
         viewModel.set("pb_preamount", flag);
+        viewModel.set("pb_pbdamount",sum_pbd_nowbalance);
+        viewModel.set("pb_pdamount",sum_pd_amount);
         if (flag != 0) {
             var t = flag > 0 ? '大' : '小';
 

+ 45 - 0
frontend/saas-web/app/view/money/payBalance/FormPanelController.js

@@ -236,6 +236,51 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
             me.save();
         }
     },
+
+    onAudit: function(){
+        var me = this,
+        form = this.getView(),
+        viewModel = me.getViewModel(),
+        id = viewModel.get(form._idField);
+
+        var dirty = form.isDirty();
+
+        if(id && dirty) {
+            saas.util.BaseUtil.showConfirm('提示', form.dirtyAuditText)
+            .then(function(yes) {
+                if(yes == 'yes') {
+                    me.onSave();
+                }
+            });
+            return;
+        }
+
+        var valid = form.isValid();
+
+        if(!valid) {
+            saas.util.BaseUtil.showErrorToast(form.invalidText);
+            return false;
+        }
+
+        if(!form.beforeAudit()) {
+            return false;
+        }
+
+        var store1 = viewModel.get('detail0').detailStore,
+            store2 = viewModel.get('detail1').detailStore;
+
+        var sum_pd_amount = store1.sum('pd_amount'); // 付款金额合计
+        var pb_discounts = viewModel.get('pb_discounts'); // 折扣金额
+        var sum_pbd_nowbalance = store2.sum('pbd_nowbalance'); // 本次核销金额合计
+
+        var flag = sum_pd_amount + pb_discounts - sum_pbd_nowbalance;
+         viewModel.set("pb_pbdamount",sum_pbd_nowbalance);
+         viewModel.set("pb_pdamount",sum_pd_amount);
+         viewModel.set("pb_preamount",flag);
+
+        me.audit();
+    },
+
     // vendnamechange:function(dbfindtrigger){
     //     var me = this,
     //         viewModel = me.getViewModel(),

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

@@ -607,6 +607,9 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
         var flag = sum_rd_amount + rb_discounts - sum_rbd_nowbalance;
 
         viewModel.set("rb_preamount", flag);
+        viewModel.set("rb_rbdamount",sum_rbd_nowbalance);
+        viewModel.set("rb_rdamount",sum_rd_amount);
+        viewModel.set("rb_preamount",sum_rd_amount-sum_rbd_nowbalance);
         if (flag != 0) {
             var t = flag > 0 ? '大' : '小';
 

+ 46 - 0
frontend/saas-web/app/view/money/recBalance/FormPanelController.js

@@ -204,6 +204,52 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
             me.save();
         }
     },
+
+    onAudit: function(){
+        var me = this,
+        form = this.getView(),
+        viewModel = me.getViewModel(),
+        id = viewModel.get(form._idField);
+
+        var dirty = form.isDirty();
+
+        if(id && dirty) {
+            saas.util.BaseUtil.showConfirm('提示', form.dirtyAuditText)
+            .then(function(yes) {
+                if(yes == 'yes') {
+                    me.onSave();
+                }
+            });
+            return;
+        }
+
+        var valid = form.isValid();
+
+        if(!valid) {
+            saas.util.BaseUtil.showErrorToast(form.invalidText);
+            return false;
+        }
+
+        if(!form.beforeAudit()) {
+            return false;
+        }
+
+        var store1 = viewModel.get('detail0').detailStore,
+            store2 = viewModel.get('detail1').detailStore;
+
+        var sum_rd_amount = store1.sum('rd_amount'); // 付款金额合计
+        var rb_discounts = viewModel.get('rb_discounts'); // 折扣金额
+        var sum_rbd_nowbalance = store2.sum('rbd_nowbalance'); // 本次核销金额合计
+
+        var flag = sum_rd_amount + rb_discounts - sum_rbd_nowbalance;
+        viewModel.set("rb_rbdamount",sum_rbd_nowbalance);
+        viewModel.set("rb_rdamount",sum_rd_amount);
+        viewModel.set("rb_preamount",sum_rd_amount-sum_rbd_nowbalance);
+        viewModel.set("rb_preamount",flag);
+
+        me.audit();
+    },
+
     custnamechange:function(dbfindtrigger){
         var me = this,
             viewModel = me.getViewModel(),

+ 4 - 4
frontend/saas-web/app/view/money/report/AccountBalance.js

@@ -39,14 +39,14 @@ Ext.define('saas.view.money.report.AccountBalance', {
         text: '账户名称',
         dataIndex: 'bankname',
         width: 150
-    }, {
-        text: '业务类型',
-        dataIndex: 'kind',
-        width: 100
     },{
         text: '币别',
         dataIndex: 'currency',
         width: 80,
+    }, {
+        text: '业务类型',
+        dataIndex: 'kind',
+        width: 100
     }, {
         text: '收入(元)',
         dataIndex: 'inamount',

+ 61 - 28
frontend/saas-web/app/view/money/report/PayDetail.js

@@ -51,6 +51,14 @@ Ext.define('saas.view.money.report.PayDetail', {
         dataIndex: 'pd_currency',
         align:'center',
         width: 65
+    },{
+        text: '汇率',
+        dataIndex: 'pd_rate',
+        align:'center',
+        width: 65,
+        renderer: function (v, m, r) {
+            return saas.util.BaseUtil.numberFormat(v, 6, false);
+        }
     },{
         text: '增加应付(元)',
         xtype: 'numbercolumn',
@@ -60,10 +68,27 @@ Ext.define('saas.view.money.report.PayDetail', {
         renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
-        summaryLabel: '增加应付',
         summaryType: 'sum',
+        disableMySummary:true,
+        summaryRenderer: function(v) {
+            return saas.util.BaseUtil.numberFormat(v, 2, true);
+        },
+    },{
+        text: '增加应付(本位币)(元)',
+        xtype: 'numbercolumn',
+        exportFormat: 'Amount',
+        dataIndex: 'pd_addpay_cr',
+        width: 160,
+        renderer : function(v, m, r) {
+            return saas.util.BaseUtil.numberFormat(v, 2, true);
+        },
+        summaryLabel: '增加应付(本位币)',
+        summaryType: 'customize_sum',
         summaryRenderer: function(v) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
+        },
+        mySummaryRenderer: function(grid, column, datas) {
+            return grid.store.sum(column.dataIndex)
         }
     }, {
         text: '增加预付(元)',
@@ -74,10 +99,27 @@ Ext.define('saas.view.money.report.PayDetail', {
         renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
-        summaryLabel: '增加预付',
         summaryType: 'sum',
+        disableMySummary:true,
+        summaryRenderer: function(v) {
+            return saas.util.BaseUtil.numberFormat(v, 2, true);
+        }
+    },{
+        text: '增加预付(本位币)(元)',
+        xtype: 'numbercolumn',
+        exportFormat: 'Amount',
+        dataIndex: 'pd_addpre_cr',
+        width: 160,
+        renderer : function(v, m, r) {
+            return saas.util.BaseUtil.numberFormat(v, 2, true);
+        },
+        summaryLabel: '增加预付(本位币)',
+        summaryType: 'customize_sum',
         summaryRenderer: function(v) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
+        },
+        mySummaryRenderer: function(grid, column, datas) {
+            return grid.store.sum(column.dataIndex)
         }
     }, {
         text: '应付余额(元)',
@@ -88,36 +130,27 @@ Ext.define('saas.view.money.report.PayDetail', {
         renderer : function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
-        summaryLabel: '应收余额(合计)',
-        summaryType: 'customize_last',
+        summaryType: 'sum',
+        disableMySummary:true,
+        summaryRenderer: function(v) {
+            return saas.util.BaseUtil.numberFormat(v, 2, true);
+        }
+    },{
+        text: '应付余额(元)',
+        xtype: 'numbercolumn',
+        exportFormat: 'Amount',
+        dataIndex: 'pd_remain_cr',
+        width: 160,
+        renderer : function(v, m, r) {
+            return saas.util.BaseUtil.numberFormat(v, 2, true);
+        },
+        summaryLabel: '应付余额(本位币)',
+        summaryType: 'customize_sum',
         summaryRenderer: function(v) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
         mySummaryRenderer: function(grid, column, datas) {
-            var store = grid.store,
-            dataIndex = column.dataIndex,
-            groupField = store.getGroupField(),
-            count = datas.length,
-            data = datas,
-            lasts = {},
-            keys = [],
-            arr = [];
-
-            for(var i = 0; i < count; i++) {
-                var d = data[i];
-                var n = Number(d[dataIndex]);
-                var v = isNaN(n) ? 0 : n;
-                var gv = d[groupField];
-
-                lasts[gv] = v;
-            }
-
-            keys = Ext.Object.getAllKeys(lasts);
-            arr = keys.map(function(key) {
-                return lasts[key];
-            });
-
-            return saas.util.BaseUtil.numberFormat(Ext.Array.sum(arr), 2, true);
+            return grid.store.sum(column.dataIndex)
         }
     }, {
         dataIndex: '',

+ 62 - 30
frontend/saas-web/app/view/money/report/RecDetail.js

@@ -52,6 +52,14 @@ Ext.define('saas.view.money.report.RecDetail', {
         dataIndex: 'rd_currency',
         align:'center',
         width: 65
+    },{
+        text: '汇率',
+        dataIndex: 'rd_rate',
+        align:'center',
+        width: 65,
+        renderer: function (v, m, r) {
+            return saas.util.BaseUtil.numberFormat(v, 6, false);
+        }
     }, {
         text: '增加应收(元)',
         dataIndex: 'rd_addrec',
@@ -61,11 +69,28 @@ Ext.define('saas.view.money.report.RecDetail', {
         renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
-        summaryLabel: '增加应收',
         summaryType: 'sum',
+        disableMySummary:true,
         summaryRenderer: function(v, d, f, m) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         }
+    },{
+        text: '增加应收(本位币)(元)',
+        dataIndex: 'rd_addrec_cr',
+        exportFormat: 'Amount',
+        xtype: 'numbercolumn',
+        width: 160,
+        renderer: function(v, m, r) {
+            return saas.util.BaseUtil.numberFormat(v, 2, true);
+        },
+        summaryLabel: '增加应收(本位币)',
+        summaryType: 'customize_sum',
+        summaryRenderer: function(v, d, f, m) {
+            return saas.util.BaseUtil.numberFormat(v, 2, true);
+        },
+        mySummaryRenderer: function(grid, column, datas) {
+            return grid.store.sum(column.dataIndex)
+        }
     }, {
         text: '增加预收(元)',
         xtype: 'numbercolumn',
@@ -75,11 +100,28 @@ Ext.define('saas.view.money.report.RecDetail', {
         renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
-        summaryLabel: '增加预收',
+        disableMySummary:true,
         summaryType: 'sum',
         summaryRenderer: function(v, d, f, m) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         }
+    },{
+        text: '增加预收(本位币)(元)',
+        dataIndex: 'rd_addpre_cr',
+        exportFormat: 'Amount',
+        xtype: 'numbercolumn',
+        width: 160,
+        renderer: function(v, m, r) {
+            return saas.util.BaseUtil.numberFormat(v, 2, true);
+        },
+        summaryLabel: '增加预收(本位币)',
+        summaryType: 'customize_sum',
+        summaryRenderer: function(v, d, f, m) {
+            return saas.util.BaseUtil.numberFormat(v, 2, true);
+        },
+        mySummaryRenderer: function(grid, column, datas) {
+            return grid.store.sum(column.dataIndex)
+        }
     }, {
         text: '应收余额(元)',
         xtype: 'numbercolumn',
@@ -89,37 +131,27 @@ Ext.define('saas.view.money.report.RecDetail', {
         renderer: function(v, m, r) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
-        summaryLabel: '应收余额(合计)',
-        summaryType: 'customize_last',
+        disableMySummary:true,
+        summaryType: 'sum',
+        summaryRenderer: function(v, d, f, m) {
+            return saas.util.BaseUtil.numberFormat(v, 2, true);
+        }
+    },{
+        text: '应收余额(本位币)(元)',
+        dataIndex: 'rd_remain_cr',
+        exportFormat: 'Amount',
+        xtype: 'numbercolumn',
+        width: 160,
+        renderer: function(v, m, r) {
+            return saas.util.BaseUtil.numberFormat(v, 2, true);
+        },
+        summaryLabel: '应收余额(本位币)',
+        summaryType: 'customize_sum',
         summaryRenderer: function(v, d, f, m) {
             return saas.util.BaseUtil.numberFormat(v, 2, true);
         },
-        mySummaryRenderer: function (grid, column, datas) {
-            datas = datas || [];
-            var store = grid.store,
-                dataIndex = column.dataIndex,
-                groupField = store.getGroupField(),
-                count = datas.length,
-                data = datas,
-                lasts = {},
-                keys = [],
-                arr = [];
-
-            for (var i = 0; i < count; i++) {
-                var d = data[i];
-                var n = Number(d[dataIndex]);
-                var v = isNaN(n) ? 0 : n;
-                var gv = d[groupField];
-
-                lasts[gv] = v;
-            }
-
-            keys = Ext.Object.getAllKeys(lasts);
-            arr = keys.map(function (key) {
-                return lasts[key];
-            });
-
-            return saas.util.BaseUtil.numberFormat(Ext.Array.sum(arr), 2, true);
+        mySummaryRenderer: function(grid, column, datas) {
+            return grid.store.sum(column.dataIndex)
         }
     }, {
         dataIndex: '',

+ 4 - 4
frontend/saas-web/app/view/money/verification/FormPanel.js

@@ -951,13 +951,13 @@ Ext.define('saas.view.money.verification.FormPanel', {
                         ' and sl_ym<=DATE_FORMAT(str_to_date(\'{vc_date}\', \'%Y-%m-%d\'),\'%Y%m\')' +
                         ' and sl_kind in (\'采购验收单\',\'采购验退单\',\'期初余额\')'
                     ],
-                    receivable_to_receivable: ['ifnull(sl_currency,\'RMB\') = \'{vc_currency}\' and ifnull(sl_custid,0)={vc_custid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0 ' +
+                    receivable_to_receivable: ['ifnull(sl_currency,\'RMB\') = \'{vc_currency}\' and ifnull(sl_custid,0)={vc_custid} and ifnull(sl_namount,0)<>0 ' +
                         ' and sl_ym<=DATE_FORMAT(str_to_date(\'{vc_date}\', \'%Y-%m-%d\'),\'%Y%m\')' +
-                        ' and sl_kind in (\'出货单\',\'销售退货单\',\'期初余额\')'
+                        ' and sl_kind in (\'出货单\',\'销售退货单\',\'期初余额\',\'收款单\')'
                     ],
-                    payable_to_payable: ['ifnull(sl_currency,\'RMB\') = \'{vc_currency}\' and ifnull(sl_vendid,0)={vc_vendid} and ifnull(sl_preamount,0)=0 and ifnull(sl_namount,0)<>0' +
+                    payable_to_payable: ['ifnull(sl_currency,\'RMB\') = \'{vc_currency}\' and ifnull(sl_vendid,0)={vc_vendid} and ifnull(sl_namount,0)<>0' +
                         ' and sl_ym<=DATE_FORMAT(str_to_date(\'{vc_date}\', \'%Y-%m-%d\'),\'%Y%m\')' +
-                        ' and sl_kind in (\'采购验收单\',\'采购验退单\',\'期初余额\')'
+                        ' and sl_kind in (\'采购验收单\',\'采购验退单\',\'期初余额\',\'付款单\')'
                     ]
                 }
             },

+ 14 - 0
frontend/saas-web/app/view/money/verification/FormPanelController.js

@@ -119,6 +119,13 @@ Ext.define('saas.view.money.verification.FormPanelController', {
                 },
                 beforequery: function(f) {
                     var defaultCondition = this.getDefaultCondition(0);
+                    var form = me.getView(),
+                        viewModel = me.getViewModel();
+                    var kind=viewModel.get('vc_kind');
+                    console.log(kind);
+                    if (kind == 'receivable_to_receivable' || kind == 'payable_to_payable'){
+                        f.dataUrl='/api/money/subledger/dbfindlist';
+                    }
                     if(!defaultCondition) {
                         return false;
                     }
@@ -127,7 +134,14 @@ Ext.define('saas.view.money.verification.FormPanelController', {
                     });
                 },
                 beforetriggerclick: function(f) {
+                    console.log('beforetriggerclick');
                     var defaultCondition = this.getDefaultCondition(0);
+                    var form = me.getView(),
+                        viewModel = me.getViewModel();
+                    var kind=viewModel.get('vc_kind');
+                    if (kind == 'receivable_to_receivable' || kind == 'payable_to_payable'){
+                        f.dataUrl='/api/money/subledger/dbfindlist';
+                    }
                     if(!defaultCondition) {
                         return false;
                     }

+ 5 - 0
frontend/saas-web/app/view/purchase/purchaseIn/FormPanel.js

@@ -353,6 +353,11 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanel', {
                     dataIndex: "pd_ordercode",
                     width: 150.0,
                     ignore: true,
+                },{
+                    text: "对账状态",
+                    dataIndex: "apcheckStatus",
+                    width: 100.0,
+                    ignore: true,
                 }, {
                     text: "备注",
                     dataIndex: "pd_remark",

+ 5 - 0
frontend/saas-web/app/view/purchase/purchaseOut/FormPanel.js

@@ -351,6 +351,11 @@ Ext.define('saas.view.purchase.purchaseOut.FormPanel', {
                     dataIndex: "iocode",
                     width: 150.0,
                     ignore: true
+                },{
+                    text: "对账状态",
+                    dataIndex: "apcheckStatus",
+                    width: 100.0,
+                    ignore: true,
                 }, {
                     text: "备注",
                     dataIndex: "pd_remark",

+ 8 - 38
frontend/saas-web/app/view/sale/b2b/Purchase.js

@@ -17,43 +17,43 @@ Ext.define('saas.view.sale.b2b.Purchase', {
         Ext.apply(this, {
             searchField: [{
                 xtype: 'textfield',
-                name: 'keyword',
+                name: 'sa_custname',
                 columnWidth: 0.15,
                 emptyText:'请输入客户名称'
             }, {
                 xtype: 'condatefield',
-                name: 'date',
+                name: 'createTime',
                 fieldLabel: '日期',
                 columnWidth: 0.5,
                 labelWidth: 50,
             }, {
                 xtype: 'textfield',
-                name: 'keyword',
+                name: 'sa_salecode',
                 labelWidth: 0,
                 columnWidth: 0.15,
                 emptyText: '销售单号'
             }, {
                 xtype: 'checkbox',
-                name: 'status',
+                name: 'sa_sendstatus',
                 fieldLabel: '已结案',
                 columnWidth: 0.1,
                 labelWidth: 50,
                 getCondition: function(v) {
                     if(v) {
-                        return 'status=' + Number(v);
+                        return "sa_sendstatus='已关闭'";
                     }else {
                         return '1=1';
                     }
                 }
             }, {
                 xtype: 'checkbox',
-                name: 'status',
+                name: 'sa_sendstatus',
                 fieldLabel: '待出货',
                 columnWidth: 0.1,
                 labelWidth: 50,
                 getCondition: function(v) {
                     if(v) {
-                        return 'status=' + Number(v);
+                        return "sa_sendstatus='未出库'";
                     }else {
                         return '1=1';
                     }
@@ -169,35 +169,5 @@ Ext.define('saas.view.sale.b2b.Purchase', {
         }
 
         return conditionValue;
-    },
-
-    getExtraParams: function(store, op, condition) {
-        var temp = {};
-
-        for(let x = 0; x < condition.length; x++) {
-            let c = condition[x];
-            if(c.field == 'keyword') {
-                temp.keyword = c.value;
-            }else if(c.field == 'date') {
-                temp.fromDate = new Date(c.value.split(',')[0]).getTime();
-                temp.endDate = new Date(c.value.split(',')[1]).getTime();
-            }else if(c.field == 'quoted') {
-                temp.quoted = c.value == 'all' ? null : c.value;
-            }else if(c.field == 'closed') {
-                // temp.endDate = c.value == 'all' ? null : (
-                //     c.value == '0' ? 
-                // );
-            }
-        }
-        let obj = {
-            pageNumber: store.exportNumber?store.exportNumber:op._page,
-            pageSize: store.exportPageSize?store.exportPageSize:store.pageSize
-        };
-        for(let k in temp) {
-            if(!!temp[k]) {
-                obj[k] = temp[k];
-            }
-        }
-        return obj;
-     },
+    }
 });

+ 1 - 1
frontend/saas-web/app/view/sale/b2b/RecDataList.js

@@ -124,7 +124,7 @@ Ext.define('saas.view.sale.b2b.RecDataList', {
                             var idValue = record.get('apId'),
                             id = 'sale-b2b-recformpanel-formpanel-' + idValue;
                             var ar_date = tableView.ownerCt.ownerCt.down('[name=ar_date]');
-                            saas.util.BaseUtil.openTab('sale-b2b-recformpanel-formpanel', "应收对账单("+idValue+")", id, {
+                            saas.util.BaseUtil.openTab('sale-b2b-recformpanel-formpanel', "应收对账单", id, {
                                 currency:record.get('currency'),
                                 customerUU:record.get('custUU'),
                                 suuorname:record.get('custName'),

+ 15 - 14
frontend/saas-web/app/view/sale/b2b/recformpanel/FormPanel.js

@@ -94,10 +94,10 @@ Ext.define('saas.view.sale.b2b.recformpanel.FormPanel', {
             checkOnly:true,
             type:'checkboxmodel',
             hideCheckField:'haveChecked',
-            hideCheckVal:'已对账',
+            hideCheckVal:1,
             listeners:{
                 select:function(selModel,record,c,d){
-                    if(record.get('haveChecked')=='已对账'){
+                    if(record.get('haveChecked')==1){
                         selModel.deselect(record)
                     }
                 }
@@ -122,6 +122,14 @@ Ext.define('saas.view.sale.b2b.recformpanel.FormPanel', {
             text: "对账状态",
             width: 100.0,
             dataIndex: "haveChecked",
+            renderer:function(v,m,r){
+                if(v==0){
+                    return '未对账'
+                }else if(v==1){
+                    return '已对账'
+                }
+                return v;
+            }
         }, { 
             text: "客户PO",
             width: 140.0,
@@ -159,7 +167,7 @@ Ext.define('saas.view.sale.b2b.recformpanel.FormPanel', {
             xtype:'numbercolumn',
             ignore: true,
             renderer: function (v, m, r) {
-                return saas.util.BaseUtil.numberFormat(v, 0, false);
+                return saas.util.BaseUtil.numberFormat(v, 3, false);
             }
         },{
             text: "发货数量",
@@ -168,7 +176,7 @@ Ext.define('saas.view.sale.b2b.recformpanel.FormPanel', {
             dataIndex: "qty",
             ignore: true,
             renderer: function (v, m, r) {
-                return saas.util.BaseUtil.numberFormat(v, 0, false);
+                return saas.util.BaseUtil.numberFormat(v, 3, false);
             }
         },{
             text: "含税单价",
@@ -177,7 +185,7 @@ Ext.define('saas.view.sale.b2b.recformpanel.FormPanel', {
             dataIndex: "orderprice",
             ignore: true,
             renderer: function (v, m, r) {
-                return saas.util.BaseUtil.numberFormat(v, 2, false);
+                return saas.util.BaseUtil.numberFormat(v, 4, false);
             }
         },{
             text: "税率%",
@@ -194,7 +202,7 @@ Ext.define('saas.view.sale.b2b.recformpanel.FormPanel', {
             width: 100.0,
             dataIndex: "money",
             renderer: function (v, m, r) {
-                return saas.util.BaseUtil.numberFormat(v, 2, false);
+                return saas.util.BaseUtil.numberFormat(v, 4, false);
             }
         },{
             text: "对账人",
@@ -220,6 +228,7 @@ Ext.define('saas.view.sale.b2b.recformpanel.FormPanel', {
             xtype: 'combo',
             displayField: 'display',
             value:me.currency,
+            editable:false,
             valueField: 'value',
             emptyText: '请选择',
             fieldLabel:'币别',
@@ -283,14 +292,6 @@ Ext.define('saas.view.sale.b2b.recformpanel.FormPanel', {
                     thisPeriodSendAmount : main.thisPeriodSendAmount?main.thisPeriodSendAmount.amount:'',
                     totalCount : main.totalCount?main.totalCount.amount:''
                 };
-                Ext.each(res.data.items,function(item,index){
-                    if(item.haveChecked==0){
-                        item.haveChecked = null
-                    }
-                    if(item.haveChecked==1){
-                        item.haveChecked = '已对账'
-                    }
-                })
                 viewModel.setData({detailgrid:res.data.items});
                 var o = [];
                 Ext.each(res.data.currencys,function(item,index){

+ 0 - 8
frontend/saas-web/app/view/sale/b2b/recformpanel/FormPanelController.js

@@ -43,14 +43,6 @@ Ext.define('saas.view.sale.b2b.recformpanel.FormPanelController', {
                     mainDate.totalCount = main.totalCount.amount
                 }
                 viewModel.setData(mainDate);
-                Ext.each(res.data.items,function(item,index){
-                    if(item.haveChecked==0){
-                        item.haveChecked = null
-                    }
-                    if(item.haveChecked==1){
-                        item.haveChecked = '已对账'
-                    }
-                })
                 viewModel.setData({detailgrid:res.data.items});
                 var o = [];
                 Ext.each(res.data.currencys,function(item,index){

+ 1 - 1
frontend/saas-web/app/view/sale/b2b/reconciliation/DataList.js

@@ -97,7 +97,7 @@ Ext.define('saas.view.sale.b2b.reconciliation.DataList', {
                     xtype:'numbercolumn', 
                     width : 110.0,
                     renderer: function (v, m, r) {
-                        return saas.util.BaseUtil.numberFormat(v, 2, false);
+                        return saas.util.BaseUtil.numberFormat(v, 4, false);
                     }
                 },{
                     text : '对账人', 

+ 3 - 3
frontend/saas-web/app/view/sale/b2b/reconciliation/FormPanel.js

@@ -130,7 +130,7 @@ Ext.define('saas.view.sale.b2b.reconciliation.FormPanel', {
                     dataIndex: "checkQty",
                     ignore: true,
                     renderer: function (v, m, r) {
-                        return saas.util.BaseUtil.numberFormat(v, 0, false);
+                        return saas.util.BaseUtil.numberFormat(v, 3, false);
                     }
                 },{
                     text: "含税单价",
@@ -139,7 +139,7 @@ Ext.define('saas.view.sale.b2b.reconciliation.FormPanel', {
                     xtype:'numbercolumn',
                     ignore: true,
                     renderer: function (v, m, r) {
-                        return saas.util.BaseUtil.numberFormat(v, 2, false);
+                        return saas.util.BaseUtil.numberFormat(v, 4, false);
                     }
                 },{
                     text: "税率%",
@@ -156,7 +156,7 @@ Ext.define('saas.view.sale.b2b.reconciliation.FormPanel', {
                     width: 100.0,
                     dataIndex: "amount",
                     renderer: function (v, m, r) {
-                        return saas.util.BaseUtil.numberFormat(v, 2, false);
+                        return saas.util.BaseUtil.numberFormat(v, 4, false);
                     }
                 }],
                 initColumns: function() {

+ 1 - 0
frontend/saas-web/app/view/sale/b2b/reconciliation/FormPanelModel.js

@@ -17,6 +17,7 @@ Ext.define('saas.view.sale.b2b.reconciliation.FormPanelModel', {
         showCopyBtn: false, // 显示复制按钮
         showAuditBtn: false, // 显示审核、反审核按钮
         showPrintBtn: false, // 显示打印按钮
+        showLogBtn: false, // 显示操作日志按钮
         configurable: false, // 显示界面设置按钮
 
         detailBindeFields: [], // 从表绑定列

+ 3 - 1
frontend/saas-web/app/view/sale/report/SaleProfit.js

@@ -11,7 +11,9 @@ Ext.define('saas.view.sale.report.SaleProfit', {
     listUrl: '/api/sale/report/saleProfit',
     defaultCondition: null,
     reportTitle: '销售毛利润表',
-    QueryWidth:0.2, 	
+    QueryWidth:0.2,
+    allowCust: true,
+
     searchItems: [{
         xtype: 'textfield',
         name: 'pr_detail',

+ 2 - 2
frontend/saas-web/ext/packages/ux/src/feature/MySummary.js

@@ -181,9 +181,9 @@ Ext.define('Ext.ux.feature.MySummary', {
         };
 
         Ext.Array.each(columns, function(c) {
-            var summaryType = c._summaryType || c.summaryType;
+            var summaryType =  c._summaryType || c.summaryType;
 
-            if(summaryType) {
+            if(!c.disableMySummary&&summaryType) {
                 summarys.push({
                     name: c.dataIndex,
                     label: me.getSummaryLabel(c),