Browse Source

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

zhuth 7 years ago
parent
commit
d2b85e36d1
26 changed files with 425 additions and 127 deletions
  1. 7 0
      applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java
  2. 14 14
      applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/Product.java
  3. 9 9
      applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/Vendor.java
  4. 8 22
      applications/document/document-server/src/main/resources/mapper/BankinformationMapper.xml
  5. 27 2
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/OthreceiptsServiceImpl.java
  6. 81 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/PaybalanceServiceImpl.java
  7. 72 0
      applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/RecbalanceServiceImpl.java
  8. 9 0
      applications/money/money-server/src/main/resources/mapper/PaybalancedetailMapper.xml
  9. 27 36
      frontend/saas-web/app/view/money/payBalance/FormPanel.js
  10. 58 3
      frontend/saas-web/app/view/money/payBalance/FormPanelController.js
  11. 16 26
      frontend/saas-web/app/view/money/recBalance/FormPanel.js
  12. 57 2
      frontend/saas-web/app/view/money/recBalance/FormPanelController.js
  13. 4 2
      frontend/saas-web/app/view/purchase/purchase/QueryPanelModel.js
  14. 2 0
      frontend/saas-web/app/view/purchase/purchaseIn/FormPanelController.js
  15. 4 2
      frontend/saas-web/app/view/purchase/purchaseIn/QueryPanelModel.js
  16. 2 0
      frontend/saas-web/app/view/purchase/purchaseOut/FormPanelController.js
  17. 4 1
      frontend/saas-web/app/view/purchase/purchaseOut/QueryPanelModel.js
  18. 1 1
      frontend/saas-web/app/view/sale/sale/FormPanel.js
  19. 4 1
      frontend/saas-web/app/view/stock/appropriationInOut/QueryPanelModel.js
  20. 2 2
      frontend/saas-web/app/view/stock/make/FormPanel.js
  21. 1 1
      frontend/saas-web/app/view/stock/make/QueryPanel.js
  22. 4 1
      frontend/saas-web/app/view/stock/make/QueryPanelModel.js
  23. 2 0
      frontend/saas-web/app/view/stock/otherIn/FormPanelController.js
  24. 4 1
      frontend/saas-web/app/view/stock/otherIn/QueryPanelModel.js
  25. 2 0
      frontend/saas-web/app/view/stock/otherOut/FormPanelController.js
  26. 4 1
      frontend/saas-web/app/view/stock/otherOut/QueryPanelModel.js

+ 7 - 0
applications/commons/commons-dto/src/main/java/com/usoftchina/saas/commons/exception/BizExceptionCode.java

@@ -45,7 +45,14 @@ public enum BizExceptionCode implements BaseExceptionCode {
     SALEOUT_POSTSTATUS_ERROR(72004,"当前单据状态无法进行此操作。"),
     SALEOUT_POST_ERROR(72005,""),
     SALEOUT_UNAUDIT_ERROR(72006,"销售订单已转出货单,无法反审核"),
+
     //资金
+    PAYBALANCE_OUTNOWBALANCE(74001,"本次核销金额不能大于未核销金额"),
+    PAYBALANCE_UNIQUESOURCECODE(74002, "保存失败!不能选择重复的源单"),
+
+    RECALANCE_OUTNOWBALANCE(74003,"本次核销金额不能大于未核销金额"),
+
+
 
     //库存
     EMPTY_DATA(76100,"数据为空,请填写后再保存"),

+ 14 - 14
applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/Product.java

@@ -17,17 +17,17 @@ public class Product extends CommonBaseEntity implements Serializable {
     private long pr_whid;
     private String pr_whcode;
     private String pr_whname;
-    private long pr_zxbzs;
-    private long pr_leadtime;
+    private Long pr_zxbzs;
+    private Long pr_leadtime;
     private String pr_brand;
     private String pr_standardprice;
     private String pr_purcprice;
     private String pr_saleprice;
-    private long pr_vendid;
+    private Long pr_vendid;
     private String pr_vendname;
     private String pr_vendcode;
     private Date pr_docdate;
-    private long pr_recordmanid;
+    private Long pr_recordmanid;
     private String pr_recordman;
     private String pr_status;
     private String pr_statuscode;
@@ -84,11 +84,11 @@ public class Product extends CommonBaseEntity implements Serializable {
         this.pr_orispeccode = pr_orispeccode;
     }
 
-    public long getPr_whid() {
+    public Long getPr_whid() {
         return pr_whid;
     }
 
-    public void setPr_whid(long pr_whid) {
+    public void setPr_whid(Long pr_whid) {
         this.pr_whid = pr_whid;
     }
 
@@ -108,19 +108,19 @@ public class Product extends CommonBaseEntity implements Serializable {
         this.pr_whname = pr_whname;
     }
 
-    public long getPr_zxbzs() {
+    public Long getPr_zxbzs() {
         return pr_zxbzs;
     }
 
-    public void setPr_zxbzs(long pr_zxbzs) {
+    public void setPr_zxbzs(Long pr_zxbzs) {
         this.pr_zxbzs = pr_zxbzs;
     }
 
-    public long getPr_leadtime() {
+    public Long getPr_leadtime() {
         return pr_leadtime;
     }
 
-    public void setPr_leadtime(long pr_leadtime) {
+    public void setPr_leadtime(Long pr_leadtime) {
         this.pr_leadtime = pr_leadtime;
     }
 
@@ -156,11 +156,11 @@ public class Product extends CommonBaseEntity implements Serializable {
         this.pr_saleprice = pr_saleprice;
     }
 
-    public long getPr_vendid() {
+    public Long getPr_vendid() {
         return pr_vendid;
     }
 
-    public void setPr_vendid(long pr_vendid) {
+    public void setPr_vendid(Long pr_vendid) {
         this.pr_vendid = pr_vendid;
     }
 
@@ -188,11 +188,11 @@ public class Product extends CommonBaseEntity implements Serializable {
         this.pr_docdate = pr_docdate;
     }
 
-    public long getPr_recordmanid() {
+    public Long getPr_recordmanid() {
         return pr_recordmanid;
     }
 
-    public void setPr_recordmanid(long pr_recordmanid) {
+    public void setPr_recordmanid(Long pr_recordmanid) {
         this.pr_recordmanid = pr_recordmanid;
     }
 

+ 9 - 9
applications/document/document-dto/src/main/java/com/usoftchina/saas/document/entities/Vendor.java

@@ -71,7 +71,7 @@ public class Vendor extends CommonBaseEntity implements Serializable{
     /**
      * 录入人ID
      */
-    private long ve_recordid;
+    private Long ve_recordid;
     /**
      * 录入人
      */
@@ -171,27 +171,27 @@ public class Vendor extends CommonBaseEntity implements Serializable{
         this.ve_begindate = ve_begindate;
     }
 
-    public long getVe_beginapamount() {
+    public Long getVe_beginapamount() {
         return ve_beginapamount;
     }
 
-    public void setVe_beginapamount(long ve_beginapamount) {
+    public void setVe_beginapamount(Long ve_beginapamount) {
         this.ve_beginapamount = ve_beginapamount;
     }
 
-    public long getVe_beginprepayamount() {
+    public Long getVe_beginprepayamount() {
         return ve_beginprepayamount;
     }
 
-    public void setVe_beginprepayamount(long ve_beginprepayamount) {
+    public void setVe_beginprepayamount(Long ve_beginprepayamount) {
         this.ve_beginprepayamount = ve_beginprepayamount;
     }
 
-    public long getVe_promisedays() {
+    public Long getVe_promisedays() {
         return ve_promisedays;
     }
 
-    public void setVe_promisedays(long ve_promisedays) {
+    public void setVe_promisedays(Long ve_promisedays) {
         this.ve_promisedays = ve_promisedays;
     }
 
@@ -243,11 +243,11 @@ public class Vendor extends CommonBaseEntity implements Serializable{
         this.ve_statuscode = ve_statuscode;
     }
 
-    public long getVe_recordid() {
+    public Long getVe_recordid() {
         return ve_recordid;
     }
 
-    public void setVe_recordid(long ve_recordid) {
+    public void setVe_recordid(Long ve_recordid) {
         this.ve_recordid = ve_recordid;
     }
 

+ 8 - 22
applications/document/document-server/src/main/resources/mapper/BankinformationMapper.xml

@@ -292,31 +292,17 @@
       bk_remark = #{bkRemark,jdbcType=LONGVARCHAR}
     where bk_id = #{bkId,jdbcType=INTEGER}
   </update>
-  <update id="updateByPrimaryKey" parameterType="com.usoftchina.saas.document.entities.Bankinformation" >
+  <update id="updateBankcode">
     update bankinformation
-    set bk_bankcode = #{bkBankcode,jdbcType=VARCHAR},
-      bk_bankname = #{bkBankname,jdbcType=VARCHAR},
-      bk_date = #{bkDate,jdbcType=TIMESTAMP},
-      bk_type = #{bkType,jdbcType=VARCHAR},
-      bk_beginamount = #{bkBeginamount,jdbcType=DOUBLE},
-      bk_thisamount = #{bkThisamount,jdbcType=DOUBLE},
-      bk_status = #{bkStatus,jdbcType=VARCHAR},
-      bk_statuscode = #{bkStatuscode,jdbcType=VARCHAR},
-      bk_recorderid = #{bkRecorderid,jdbcType=INTEGER},
-      bk_recorder = #{bkRecorder,jdbcType=VARCHAR},
-      bk_recorddate = #{bkRecorddate,jdbcType=TIMESTAMP},
-      bk_ym = #{bkYm,jdbcType=INTEGER},
-      companyid = #{companyId,jdbcType=INTEGER},
-      updaterId = #{updaterId,jdbcType=INTEGER},
-      updateTime = #{updateTime,jdbcType=TIMESTAMP},
-      bk_text1 = #{bkText1,jdbcType=VARCHAR},
-      bk_text2 = #{bkText2,jdbcType=VARCHAR},
-      bk_text3 = #{bkText3,jdbcType=VARCHAR},
-      bk_text4 = #{bkText4,jdbcType=VARCHAR},
-      bk_text5 = #{bkText5,jdbcType=VARCHAR}
-    where bk_id = #{bk_id,jdbcType=INTEGER}
+    set bk_thisamount = nvl(#{bk_thisamount,jdbcType=DOUBLE},0) ${symbol} #{nowbalance}
+    where bk_bankcode = #{bankcode,jdbcType=VARCHAR}
   </update>
 
+  <select id="selectThisamount" resultType="java.lang.Double" parameterType="com.usoftchina.saas.document.entities.Bankinformation">
+   select bk_thisamount from bankinformation
+    where bk_bankcode = #{bankcode,jdbcType=VARCHAR}
+  </select>
+
   <select id="selectAll" resultMap="BaseResultMap">
     SELECT * FROM bankinformation
   </select>

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

@@ -10,6 +10,7 @@ import com.usoftchina.saas.commons.exception.BizExceptionCode;
 import com.usoftchina.saas.commons.po.BillCodeSeq;
 import com.usoftchina.saas.commons.po.Status;
 import com.usoftchina.saas.context.BaseContextHolder;
+import com.usoftchina.saas.document.mapper.BankinformationMapper;
 import com.usoftchina.saas.exception.BizException;
 import com.usoftchina.saas.money.mapper.BanksubledgerMapper;
 import com.usoftchina.saas.money.mapper.OthreceiptsMapper;
@@ -39,6 +40,8 @@ public class OthreceiptsServiceImpl implements OthreceiptsService {
     private MaxnumberService maxnumberService;
     @Autowired
     private BanksubledgerMapper banksubledgerMapper;
+    @Autowired
+    private BankinformationMapper bankinformationMapper;
 
     @Override
     public DocBaseDTO insert(Othte othte) {
@@ -72,7 +75,7 @@ public class OthreceiptsServiceImpl implements OthreceiptsService {
             othreceiptsdetail1.setOrd_orid(Math.toIntExact(id));
             othreceiptsdetail1.setCompanyId(BaseContextHolder.getCompanyId());
             if (othreceiptsdetail1.getId() > 0 ){
-                othreceiptsdetailMapper.updateByPrimaryKey(othreceiptsdetail1);
+                othreceiptsdetailMapper.updateByPrimaryKeySelective(othreceiptsdetail1);
             }else {
                 othreceiptsdetailMapper.insertSelective(othreceiptsdetail1);
             }
@@ -94,6 +97,16 @@ public class OthreceiptsServiceImpl implements OthreceiptsService {
         }else {
             othreceiptsMapper.updateByPrimaryKeySelective(othreceipts);
         }
+
+        Double amount = bankinformationMapper.selectThisamount(othreceipts.getOr_bankcode());
+        //取从表金额
+        List<Othreceiptsdetail> othreceiptsdetailList = othte.getItems();
+        Iterator isList = othreceiptsdetailList.iterator();
+        while (isList.hasNext()){
+            Othreceiptsdetail othreceiptsdetail = (Othreceiptsdetail) isList.next();
+            bankinformationMapper.updateBankcode(amount, othreceiptsdetail.getOrd_nowbalance(),
+                    othreceipts.getOr_bankcode(), "+");
+        }
     }
 
     @Override
@@ -107,6 +120,17 @@ public class OthreceiptsServiceImpl implements OthreceiptsService {
         //删除中间表
         othreceipts = othreceiptsMapper.selectByPrimaryKey(id);
         banksubledgerMapper.deleteByPrimaryKey(othreceipts.getOr_code(), "其他收入单");
+
+        //更新资金
+        Double amount = bankinformationMapper.selectThisamount(othreceipts.getOr_bankcode());
+        List<Othreceiptsdetail> othreceiptsdetailList = othreceiptsdetailMapper.selectByPrimaryKey(id);
+        Iterator isList = othreceiptsdetailList.iterator();
+        while (isList.hasNext()){
+            Othreceiptsdetail othreceiptsdetail = (Othreceiptsdetail) isList.next();
+            bankinformationMapper.updateBankcode(amount, othreceiptsdetail.getOrd_nowbalance(),
+                    othreceipts.getOr_bankcode(), "-");
+        }
+
     }
 
 
@@ -163,7 +187,8 @@ public class OthreceiptsServiceImpl implements OthreceiptsService {
             othreceipts.setOr_statuscode(Status.AUDITED.name());
             Othte othte = this.select(Math.toIntExact(othreceipts.getId()));
             this.changBankUntil(othte);
-            othreceiptsMapper.updateByPrimaryKeySelective(othreceipts);
+            this.insert(othte);
+//            othreceiptsMapper.updateByPrimaryKeySelective(othreceipts);
         }
     }
 

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

@@ -20,6 +20,7 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
+import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 
@@ -58,6 +59,9 @@ public class PaybalanceServiceImpl implements PaybalanceService {
 
         Long rbId = paybalance.getId();
 
+        //校验数据
+        checkPaybalance(pay);
+
         if (paybalance.getId() > 0){
             paybalanceMapper.updateByPrimaryKeySelective(paybalance);
         }else {
@@ -93,6 +97,63 @@ public class PaybalanceServiceImpl implements PaybalanceService {
         return new DocBaseDTO(rbId, pb_code, BillCodeSeq.PAYBALANCE.getCaller());
     }
 
+    /**
+     * 校验数据
+     * @param pay
+     * @author hx
+     */
+    private void checkPaybalance(Pay pay){
+        Paybalance paybalance = pay.getMain();
+        List<Paybalancedet> paybalancedet = pay.getItems1();
+        List<Paybalancedetail> paybalancedetail = pay.getItems2();
+        //本次核销合计
+        Double nowbalanceTotal = new Double(0);
+        for(Paybalancedetail detail : paybalancedetail){
+            //本次核销金额
+            Double nowbalance = detail.getPbd_nowbalance();
+            nowbalanceTotal = nowbalanceTotal + nowbalance;
+            //来源单号
+            Integer sourceId = detail.getPbd_slid();
+            //未核销金额
+            Double namount = new Double(0);
+            if(sourceId!=0){
+                Subledger subledger = subledgerMapper.selectByPrimaryKey(sourceId);
+                namount = subledger.getSl_namount();
+            }
+            //本次核销金额不能大于未核销金额
+            if(nowbalance>namount){
+                throw new BizException(500, BizExceptionCode.PAYBALANCE_OUTNOWBALANCE.getMessage());
+            }
+            //单据金额
+            Double amount = detail.getPbd_amount();
+            if(amount>0 && nowbalance<0){
+                String error = "单据类型为" + detail.getPbd_slkind() + "的单据,核销金额必须为正数";
+                throw new BizException(500, error);
+            }
+            if(amount<0 && nowbalance>0){
+                String error = "单据类型为" + detail.getPbd_slkind() + "的单据,核销金额必须为负数";
+                throw new BizException(500, error);
+            }
+        }
+        //不能选择重复的源单
+        for  ( int  i  =   0 ; i  <  paybalancedetail.size()  -   1 ; i ++ )  {
+            for  ( int  j  =  paybalancedetail.size()  -   1 ; j  >  i; j -- )  {
+                if  (paybalancedetail.get(j).getPbd_slcode().equals(paybalancedetail.get(i).getPbd_slcode()))  {
+                    throw new BizException(500, BizExceptionCode.PAYBALANCE_UNIQUESOURCECODE.getMessage());
+                }
+            }
+        }
+        //付款金额合计
+        Double amountTotal = new Double(0);
+        for (Paybalancedet det: paybalancedet) {
+            amountTotal = amountTotal + det.getPd_amount();
+        }
+        //更新本次预付款金额
+        Paybalance updatePay = new Paybalance();
+        updatePay.setId(paybalance.getId());
+        updatePay.setPb_preamount(amountTotal+paybalance.getPb_discounts()-nowbalanceTotal);
+        paybalanceMapper.updateByPrimaryKeySelective(updatePay);
+    }
 
     @Override
     public void audit(Pay pay) {
@@ -115,6 +176,19 @@ public class PaybalanceServiceImpl implements PaybalanceService {
         }else {
             paybalanceMapper.updateByPrimaryKeySelective(paybalance);
         }
+
+        Paybalance updatePay = new Paybalance();
+        List<Paybalancedet> paybalancedet = pay.getItems1();
+        List<Paybalancedetail> paybalancedetail = pay.getItems2();
+        //更新主表付款金额:pb_pdamount=从表一金额合计
+        Double amountTotal = new Double(0);
+        for (Paybalancedet det: paybalancedet) {
+            amountTotal = amountTotal + det.getPd_amount();
+        }
+        updatePay.setId(pay.getMain().getId());
+        updatePay.setPb_pdamount(amountTotal);
+        //updateByPrimaryKeySelective
+
     }
 
     @Override
@@ -129,6 +203,13 @@ public class PaybalanceServiceImpl implements PaybalanceService {
         paybalance = paybalanceMapper.selectByPrimaryKey(id);
         subledgerMapper.deleteByPrimaryKey(paybalance.getPb_code(), paybalance.getPb_kind());
         banksubledgerMapper.deleteByPrimaryKey(paybalance.getPb_code(), paybalance.getPb_kind());
+
+        //更新供应商资料
+        /**
+         * ve_preamount=nvl(ve_preamount,0)-pb_preamount,
+         * ve_payamount=nvl(ve_payamount,0)+pb_pbdamount,
+         * ve_leftamount=ve_beginapamount-e_beginprepayamount+ve_payamount-ve_preamount;
+         */
     }
 
 

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

@@ -56,6 +56,9 @@ public class RecbalanceServiceImpl implements RecbalanceService {
         //单号赋值
         recbalance.setRb_code(pu_code);
 
+        //校验数据
+        checkRecbalance(rec);
+
         Long rbId = recbalance.getId();
         if (rbId > 0){
             recbalanceMapper.updateByPrimaryKeySelective(recbalance);
@@ -93,6 +96,63 @@ public class RecbalanceServiceImpl implements RecbalanceService {
         return new DocBaseDTO(rbId, pu_code, BillCodeSeq.RECBALANCE.getCaller());
     }
 
+    /**
+     * 校验数据
+     * @param pay
+     */
+    private void checkRecbalance(Rec rec){
+        Recbalance recbalance = rec.getMain();
+        List<Recbalancedet> recbalancedet = rec.getItems1();
+        List<Recbalancedetail> recbalancedetail = rec.getItems2();
+        //本次核销合计
+        Double nowbalanceTotal = new Double(0);
+        for(Recbalancedetail detail : recbalancedetail){
+            //本次核销金额
+            Double nowbalance = detail.getRbd_nowbalance();
+            nowbalanceTotal = nowbalanceTotal + nowbalance;
+            //来源单号
+            Integer sourceId = detail.getRbd_slid();
+            //未核销金额
+            Double namount = new Double(0);
+            if(sourceId!=0){
+                Subledger subledger = subledgerMapper.selectByPrimaryKey(sourceId);
+                namount = subledger.getSl_namount();
+            }
+            //本次核销金额不能大于未核销金额
+            if(nowbalance>namount){
+                throw new BizException(500, BizExceptionCode.RECALANCE_OUTNOWBALANCE.getMessage());
+            }
+            //单据金额
+            Double amount = detail.getRbd_amount();
+            if(amount>0 && nowbalance<0){
+                String error = "单据类型为" + detail.getRbd_slkind() + "的单据,核销金额必须为正数";
+                throw new BizException(500, error);
+            }
+            if(amount<0 && nowbalance>0){
+                String error = "单据类型为" + detail.getRbd_slkind() + "的单据,核销金额必须为负数";
+                throw new BizException(500, error);
+            }
+        }
+        //不能选择重复的源单
+        for  ( int  i  =   0 ; i  <  recbalancedetail.size()  -   1 ; i ++ )  {
+            for  ( int  j  =  recbalancedetail.size()  -   1 ; j  >  i; j -- )  {
+                if  (recbalancedetail.get(j).getRbd_slcode().equals(recbalancedetail.get(i).getRbd_slcode()))  {
+                    throw new BizException(500, BizExceptionCode.PAYBALANCE_UNIQUESOURCECODE.getMessage());
+                }
+            }
+        }
+        //付款金额合计
+        Double amountTotal = new Double(0);
+        for (Recbalancedet det: recbalancedet) {
+            amountTotal = amountTotal + det.getRd_amount();
+        }
+        //更新本次预付款金额
+        Recbalance updatePay = new Recbalance();
+        updatePay.setId(recbalance.getId());
+        updatePay.setRb_preamount(amountTotal+recbalance.getRb_discounts()-nowbalanceTotal);
+        recbalanceMapper.updateByPrimaryKeySelective(updatePay);
+    }
+
     @Override
     public void delete(int id) {
         recbalanceMapper.deleteByPrimaryKey(id);
@@ -142,6 +202,18 @@ public class RecbalanceServiceImpl implements RecbalanceService {
         }else {
             recbalanceMapper.updateByPrimaryKeySelective(recbalance);
         }
+
+        Recbalance updatePay = new Recbalance();
+        List<Recbalancedet> recbalancedet = rec.getItems1();
+        List<Recbalancedetail> recbalancedetail = rec.getItems2();
+        //更新主表付款金额:pb_pdamount=从表一金额合计
+        Double amountTotal = new Double(0);
+        for (Recbalancedet det: recbalancedet) {
+            amountTotal = amountTotal + det.getRd_amount();
+        }
+        updatePay.setId(rec.getMain().getId());
+        updatePay.setRb_rdamount(amountTotal);
+        //updateByPrimaryKeySelective
     }
 
     @Override

+ 9 - 0
applications/money/money-server/src/main/resources/mapper/PaybalancedetailMapper.xml

@@ -234,4 +234,13 @@
     </set>
     where pbd_id = #{id,jdbcType=INTEGER}
   </update>
+  <!--<resultMap id="statistics_sourcecode" type="com.usoftchina.saas.money.po.PaybalanceSourceCode">-->
+    <!--<result column="countNum" property="countNum" jdbcType="INTEGER"></result>-->
+    <!--<result column="pbd_slcode" property="pbd_slcode" jdbcType="INTEGER"></result>-->
+  <!--</resultMap>-->
+  <!--<select id="checkPaybalanceDetailCodeUnique" resultMap="statistics_sourcecode" parameterType="java.lang.Long" >-->
+    <!--select count(1) as countNum,pbd_slcode from paybalancedetail-->
+    <!--where pbd_pbid = #{id,jdbcType=Long}-->
+    <!--GROUP BY pbd_slcode having count(1)>1-->
+  <!--</select>-->
 </mapper>

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

@@ -51,7 +51,8 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
     }, {
         xtype: "dbfindtrigger",
         name: "pb_vendname",
-        fieldLabel: "供应商名称"
+        fieldLabel: "供应商名称",
+        allowBlank : false
     },{
         xtype:"numberfield",
         name:"ve_leftamount",
@@ -74,11 +75,11 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
         name: "pb_pbdamount",
         fieldLabel: "本次核销金额"
     }, {
-        xtype: "hidden",
+        xtype: "numberfield",
         name: "pb_preamount",
         fieldLabel: "本次预付款"
     }, {
-        xtype: 'hidden',
+        xtype: 'numberfield',
         name: 'pb_discounts',
         fieldLabel: '整单折扣'
     }, {
@@ -107,40 +108,17 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
         }, {
             text: '结算账户ID',
             dataIndex: 'pd_bankid',
-            xtype:'hidden'
+            hidden: true
         }, {
-        //     text: '结算账户编号',
-        //     dataIndex: 'paybalancedet'
-        // }, {
             text: '资金账户',
             dataIndex: 'pd_bankname',
-            editable:false,
             editor:{
-                xtype : "remotecombo",
-                storeUrl:'/api/document/bankinformation/getCombo',
-                name : "bk_bankname",
-                allowBlank : false, //不能为空
-                columnWidth : 0.25,//布局
-                hiddenBtn:false,//true 则会关闭新增按钮功能
-                addHandler:function(b){
-                    var document = Ext.create('saas.view.document.kind.Kind',{});
-                    var form = this.ownerCmp.ownerCt;
-                    this.dialog = form.getController().getView().add({
-                        xtype: 'document-kind-childwin',
-                        bind: {
-                            title: '新增资金账户'
-                        },
-                        dataKind:'bankinformation',
-                        belong:document.etc['bankinformation'],
-                        _parent:form,
-                        _combo:this.ownerCmp,
-                        record:null,
-                        session: true
-                    });
-                    this.dialog.show();
-                }
+                xtype:'dbfindtrigger'
             }
-
+        },{
+            text: '资金账户编号',
+            dataIndex: 'pd_bankcode',
+            hidden: true
         }, {
             text: "付款金额",
             dataIndex: "pd_amount",
@@ -211,14 +189,27 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
         }, {
             text: '期间',
             dataIndex: 'pbd_ym',
-            xtype:'hidden'
+            hidden: true
         }, {
             text: '来源ID',
             dataIndex: 'pbd_slid',
-            xtype:'hidden'
+            hidden: true
         }, {
             text: '来源单号',
-            dataIndex: 'pbd_slcode'
+            dataIndex: 'pbd_slcode',
+            editor:{
+                displayField : "display",
+                editable : true,
+                format : "",
+                hideTrigger : false,
+                maxLength : 100.0,
+                minValue : null,
+                positiveNum : false,
+                queryMode : "local",
+                store : null,
+                valueField : "value",
+                xtype : "multidbfindtrigger"
+            }
         }, {
             text: "业务类型",
             dataIndex: "pbd_slkind",
@@ -322,7 +313,7 @@ Ext.define('saas.view.money.payBalance.FormPanel', {
             text: '备注',
             dataIndex: 'pbd_remark',
             width: 250,
-            xtype: 'hidden'
+            hidden: true
         }]
     }, {
         xtype: 'hidden',

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

@@ -14,7 +14,7 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
                         addTitle: '供应商资料',
                         dbfinds: [{
                             from: 've_code',
-                            to: 'pd_vendcode'
+                            to: 'pb_vendcode'
                         }, {
                             from: 've_name',
                             to: 'pb_vendname'
@@ -87,7 +87,7 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
 
                 }
             },
-            'dbfindtrigger[name=choseSource]': {
+            'multidbfindtrigger[name=pbd_slcode]': {
                 beforerender: function (f) {
                     Ext.apply(f, {
                         dataUrl: '/api/money/subledger/list',
@@ -112,7 +112,7 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
                             field: 'sl_code',
                             width: 100
                         }],
-                        defaultCondition: "sl_vendtid<>0 and sl_kind in ('期初余额','采购验收单','采购验退单') and sl_namount<>0",
+                        defaultCondition: "sl_vendid<>0 and sl_kind in ('期初余额','采购验收单','采购验退单') and sl_namount<>0",
                         dbSearchFields:[{
                             emptyText:'输入源单编号',
                             xtype : "textfield",
@@ -153,6 +153,61 @@ Ext.define('saas.view.money.payBalance.FormPanelController', {
                         }]
                     });
 
+                }
+            },
+            'dbfindtrigger[name=pd_bankname]':{
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dataUrl: '/api/document/bankinformation/list',
+                        // addXtype: 'document-banksubledger-formpanel',
+                        addTitle: '账户资料',
+                        dbfinds: [{
+                            from: 'id',
+                            to: 'pd_bankid'
+                        }, {
+                            from: 'bk_bankcode',
+                            to: 'pd_bankcode'
+                        },{
+                            from: 'bk_bankname',
+                            to: 'pd_bankname'
+                        }],
+                        dbtpls: [{
+                            field: 'bk_bankcode',
+                            width: 100
+                        }, {
+                            field: 'bk_bankname',
+                            width: 100
+                        }],
+                        defaultCondition: "1=1",
+                        dbSearchFields:[{
+                            emptyText:'输入账户名称或者编号',
+                            xtype : "textfield",
+                            name : "search",
+                            getCondition: function(v) {
+                                return "(upper(bk_bankcode) like '%"+v.toUpperCase()+"%' or upper(bk_bankname) like '%"+v.toUpperCase()+"%')";
+                            },
+                            allowBlank : true,
+                            columnWidth : 0.25
+                        }],
+                        dbColumns:[{
+                            "text": "账户id",
+                            "hidden": true,
+                            "dataIndex": "id",
+                            "width": 0,
+                            "xtype": "numbercolumn"
+                        },{
+                            "text": "账户编号",
+                            "flex": 1,
+                            "dataIndex": "bk_bankcode",
+                            "width": 100
+                        }, {
+                            "text": "账户名称",
+                            "flex": 1,
+                            "dataIndex": "bk_bankname",
+                            "width": 100
+                        }]
+                    });
+
                 }
             }
         });

+ 16 - 26
frontend/saas-web/app/view/money/recBalance/FormPanel.js

@@ -111,32 +111,9 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
             hidden: true
         }, {
             text: '资金账户',
-            dataIndex: 'pd_bankname',
-            editable:false,
+            dataIndex: 'rd_bankname',
             editor:{
-                xtype : "remotecombo",
-                storeUrl:'/api/document/bankinformation/getCombo',
-                name : "bk_bankname",
-                allowBlank : false, //不能为空
-                columnWidth : 0.25,//布局
-                hiddenBtn:false,//true 则会关闭新增按钮功能
-                addHandler:function(b){
-                    var document = Ext.create('saas.view.document.kind.Kind',{});
-                    var form = this.ownerCmp.ownerCt;
-                    this.dialog = form.getController().getView().add({
-                        xtype: 'document-kind-childwin',
-                        bind: {
-                            title: '新增资金账户'
-                        },
-                        dataKind:'bankinformation',
-                        belong:document.etc['bankinformation'],
-                        _parent:form,
-                        _combo:this.ownerCmp,
-                        record:null,
-                        session: true
-                    });
-                    this.dialog.show();
-                }
+                xtype:'dbfindtrigger'
             }
         }, {
             text: "收款金额",
@@ -220,7 +197,20 @@ Ext.define('saas.view.money.recBalance.FormPanel', {
             hidden: true
         }, {
             text: '来源单号',
-            dataIndex: 'rbd_slcode'
+            dataIndex: 'rbd_slcode',
+            editor:{
+                displayField : "display",
+                editable : true,
+                format : "",
+                hideTrigger : false,
+                maxLength : 100.0,
+                minValue : null,
+                positiveNum : false,
+                queryMode : "local",
+                store : null,
+                valueField : "value",
+                xtype : "multidbfindtrigger"
+            }
         }, {
             text: "业务类型",
             dataIndex: "rbd_slkind"

+ 57 - 2
frontend/saas-web/app/view/money/recBalance/FormPanelController.js

@@ -154,7 +154,7 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
 
                 }
             },
-            'dbfindtrigger[name=choseSource]': {
+            'multidbfindtrigger[name=rbd_slcode]': {
                 beforerender: function (f) {
                     Ext.apply(f, {
                         dataUrl: '/api/money/subledger/list',
@@ -179,7 +179,7 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
                             field: 'sl_code',
                             width: 100
                         }],
-                        defaultCondition: "sl_vendtid<>0 and sl_kind in ('期初余额','采购验收单','采购验退单') and sl_namount<>0",
+                        defaultCondition: "sl_vendid<>0 and sl_kind in ('期初余额','采购验收单','采购验退单') and sl_namount<>0",
                         dbSearchFields:[{
                             emptyText:'输入源单编号',
                             xtype : "textfield",
@@ -220,6 +220,61 @@ Ext.define('saas.view.money.recBalance.FormPanelController', {
                         }]
                     });
 
+                }
+            },
+            'dbfindtrigger[name=rd_bankname]':{
+                beforerender: function (f) {
+                    Ext.apply(f, {
+                        dataUrl: '/api/document/bankinformation/list',
+                        // addXtype: 'document-banksubledger-formpanel',
+                        addTitle: '账户资料',
+                        dbfinds: [{
+                            from: 'id',
+                            to: 'rd_bankid'
+                        }, {
+                            from: 'bk_bankcode',
+                            to: 'rd_bankcode'
+                        },{
+                            from: 'bk_bankname',
+                            to: 'rd_bankname'
+                        }],
+                        dbtpls: [{
+                            field: 'bk_bankcode',
+                            width: 100
+                        }, {
+                            field: 'bk_bankname',
+                            width: 100
+                        }],
+                        defaultCondition: "1=1",
+                        dbSearchFields:[{
+                            emptyText:'输入账户名称或者编号',
+                            xtype : "textfield",
+                            name : "search",
+                            getCondition: function(v) {
+                                return "(upper(bk_bankcode) like '%"+v.toUpperCase()+"%' or upper(bk_bankname) like '%"+v.toUpperCase()+"%')";
+                            },
+                            allowBlank : true,
+                            columnWidth : 0.25
+                        }],
+                        dbColumns:[{
+                            "text": "账户id",
+                            "hidden": true,
+                            "dataIndex": "id",
+                            "width": 0,
+                            "xtype": "numbercolumn"
+                        },{
+                            "text": "账户编号",
+                            "flex": 1,
+                            "dataIndex": "bk_bankcode",
+                            "width": 100
+                        }, {
+                            "text": "账户名称",
+                            "flex": 1,
+                            "dataIndex": "bk_bankname",
+                            "width": 100
+                        }]
+                    });
+
                 }
             }
         });

+ 4 - 2
frontend/saas-web/app/view/purchase/purchase/QueryPanelModel.js

@@ -1,5 +1,7 @@
 Ext.define('saas.view.purchase.purchase.QueryPanelModel', {
     extend: 'saas.view.core.query.QueryPanelModel',
-    alias: 'viewmodel.purchase-purchase-querypanel'
-
+    alias: 'viewmodel.purchase-purchase-querypanel',
+    data: {
+        closeEnable:false
+    }
 });

+ 2 - 0
frontend/saas-web/app/view/purchase/purchaseIn/FormPanelController.js

@@ -110,6 +110,8 @@ Ext.define('saas.view.purchase.purchaseIn.FormPanelController', {
                             from:'pr_whcode',to:'pd_whcode'
                         },{
                             from:'pr_whname',to:'pd_whname'
+                        },{
+                            from:'pr_purcprice',to:'pd_orderprice'
                         }],
                         dbtpls:[{
                             field:'pr_code',width:100

+ 4 - 2
frontend/saas-web/app/view/purchase/purchaseIn/QueryPanelModel.js

@@ -1,5 +1,7 @@
 Ext.define('saas.view.purchase.purchaseIn.QueryPanelModel', {
     extend: 'saas.view.core.query.QueryPanelModel',
-    alias: 'viewmodel.purchase-purchasein-querypanel'
-
+    alias: 'viewmodel.purchase-purchasein-querypanel',
+    data: {
+        closeEnable:false
+    }
 });

+ 2 - 0
frontend/saas-web/app/view/purchase/purchaseOut/FormPanelController.js

@@ -109,6 +109,8 @@ Ext.define('saas.view.purchase.purchaseOut.FormPanelController', {
                             from:'pr_whcode',to:'pd_whcode'
                         },{
                             from:'pr_whname',to:'pd_whname'
+                        },,{
+                            from:'pr_purcprice',to:'pd_orderprice'
                         }],
                         dbtpls:[{
                             field:'pr_code',width:100

+ 4 - 1
frontend/saas-web/app/view/purchase/purchaseOut/QueryPanelModel.js

@@ -1,5 +1,8 @@
 Ext.define('saas.view.purchase.purchaseOut.QueryPanelModel', {
     extend: 'saas.view.core.query.QueryPanelModel',
-    alias: 'viewmodel.purchase-purchaseout-querypanel'
+    alias: 'viewmodel.purchase-purchaseout-querypanel',
+    data: {
+        closeEnable:false
+    }
 
 });

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

@@ -115,7 +115,7 @@ Ext.define('saas.view.sale.sale.FormPanel', {
                 allowBlank:false, 
                 editor : {
                     xtype : "numberfield",
-                    decimalPrecision: 8,
+                    decimalPrecision: 3,
                     minValue:0
                 },
                 renderer : function(v) {

+ 4 - 1
frontend/saas-web/app/view/stock/appropriationInOut/QueryPanelModel.js

@@ -1,5 +1,8 @@
 Ext.define('saas.view.stock.appropriationInOut.QueryPanelModel', {
     extend: 'saas.view.core.query.QueryPanelModel',
-    alias: 'viewmodel.stock-appropriationinout-querypanel'
+    alias: 'viewmodel.stock-appropriationinout-querypanel',
+    data: {
+        closeEnable:false
+    }
 
 });

+ 2 - 2
frontend/saas-web/app/view/stock/make/FormPanel.js

@@ -287,8 +287,8 @@ Ext.define('saas.view.stock.make.FormPanel', {
     },{
         xtype : "datefield", 
         name : "createTime", 
-        fieldLabel : "录入日期", 
-        allowBlank : true, 
+        fieldLabel : "录入日期",
+        readOnly:true,
         columnWidth : 0.25
     },{
         xtype : "textfield", 

+ 1 - 1
frontend/saas-web/app/view/stock/make/QueryPanel.js

@@ -43,7 +43,7 @@ Ext.define('saas.view.stock.make.QueryPanel', {
         baseColumn: [{
             text: 'id',
             dataIndex: 'id',
-            width: 100,
+            hidden:true,
             xtype: 'numbercolumn'
         }, {
             text: '单据编号',

+ 4 - 1
frontend/saas-web/app/view/stock/make/QueryPanelModel.js

@@ -1,5 +1,8 @@
 Ext.define('saas.view.stock.make.QueryPanelModel', {
     extend: 'saas.view.core.query.QueryPanelModel',
-    alias: 'viewmodel.stock-make-querypanel'
+    alias: 'viewmodel.stock-make-querypanel',
+    data: {
+        closeEnable:false
+    }
 
 });

+ 2 - 0
frontend/saas-web/app/view/stock/otherIn/FormPanelController.js

@@ -181,6 +181,8 @@ Ext.define('saas.view.stock.otherIn.FormPanelController', {
                             from:'pr_whcode',to:'pd_whcode'
                         },{
                             from:'pr_whname',to:'pd_whname'
+                        },,{
+                            from:'pr_purcprice',to:'pd_orderprice'
                         }],
                         dbtpls: [{
                             field: 'pr_code',

+ 4 - 1
frontend/saas-web/app/view/stock/otherIn/QueryPanelModel.js

@@ -1,5 +1,8 @@
 Ext.define('saas.view.stock.otherIn.QueryPanelModel', {
     extend: 'saas.view.core.query.QueryPanelModel',
-    alias: 'viewmodel.stock-otherin-querypanel'
+    alias: 'viewmodel.stock-otherin-querypanel',
+    data: {
+        closeEnable:false
+    }
 
 });

+ 2 - 0
frontend/saas-web/app/view/stock/otherOut/FormPanelController.js

@@ -172,6 +172,8 @@ Ext.define('saas.view.stock.otherOut.FormPanelController', {
                             from:'pr_whcode',to:'pd_whcode'
                         },{
                             from:'pr_whname',to:'pd_whname'
+                        },,{
+                            from:'pr_purcprice',to:'pd_orderprice'
                         }],
                         dbtpls:[{
                             field:'pr_code',width:100

+ 4 - 1
frontend/saas-web/app/view/stock/otherOut/QueryPanelModel.js

@@ -1,5 +1,8 @@
 Ext.define('saas.view.stock.otherOut.QueryPanelModel', {
     extend: 'saas.view.core.query.QueryPanelModel',
-    alias: 'viewmodel.stock-otherout-querypanel'
+    alias: 'viewmodel.stock-otherout-querypanel',
+    data: {
+        closeEnable:false
+    }
 
 });