Переглянути джерело

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

rainco 7 роки тому
батько
коміт
cc590d4dae
24 змінених файлів з 128 додано та 194 видалено
  1. 1 1
      applications/document/document-server/src/main/resources/mapper/CustomerMapper.xml
  2. 5 5
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/ProdInOutServiceImpl.java
  3. 1 0
      applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/PurchaseServiceImpl.java
  4. 4 0
      applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/ProdInOutDTO.java
  5. 4 0
      applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/ProdInOutListDTO.java
  6. 11 3
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/ProdInOutServiceImpl.java
  7. 8 1
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/SaleServiceImpl.java
  8. 4 0
      applications/sale/sale-server/src/main/resources/mapper/ProdInOutListMapper.xml
  9. 30 6
      applications/sale/sale-server/src/main/resources/mapper/ProdInOutMapper.xml
  10. 6 6
      applications/sale/sale-server/src/main/resources/mapper/SaledetailMapper.xml
  11. 2 0
      applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/dto/ProdInOutDTO.java
  12. 2 0
      applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/dto/ProdInOutListDTO.java
  13. 4 0
      applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/ProdInOut.java
  14. 4 1
      applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/ProdInOutList.java
  15. 1 0
      frontend/saas-web/app/view/core/form/FormPanelController.js
  16. 1 0
      frontend/saas-web/app/view/core/form/MseeageLog.js
  17. 1 1
      frontend/saas-web/app/view/document/kind/ChildForm.js
  18. 0 18
      frontend/saas-web/app/view/stock/report/DataList.js
  19. 2 1
      frontend/saas-web/app/view/sys/power/FormPanel.js
  20. 3 9
      frontend/saas-web/app/view/sys/power/GroupGrid.js
  21. 0 112
      frontend/saas-web/overrides/grid/buffer/BufferedRenderer.js
  22. 0 26
      frontend/saas-web/overrides/grid/column/Widget.js
  23. 30 0
      frontend/saas-web/overrides/grid/feature/Grouping.js
  24. 4 4
      frontend/saas-web/resources/json/navigation.json

+ 1 - 1
applications/document/document-server/src/main/resources/mapper/CustomerMapper.xml

@@ -156,7 +156,7 @@
         #{cu_code,jdbcType=VARCHAR},
       </if>
       <if test="cu_shortname !=null">
-        #{cu_shortname,jdbcType=VARCHAR}
+        #{cu_shortname,jdbcType=VARCHAR},
       </if>
       <if test="cu_name != null">
         #{cu_name,jdbcType=VARCHAR},

+ 5 - 5
applications/purchase/purchase-server/src/main/java/com/usoftchina/saas/purchase/service/impl/ProdInOutServiceImpl.java

@@ -425,14 +425,14 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
     public Result turnProdOut(Long id) {
         ProdInOut sourcePi = getMapper().selectByPrimaryKey(id);
         Integer count=0;
-        double pdInqty=0, pdYqty=0;
+        double pdInqty=0.0, pdYqty=0.0;
         Long userId = BaseContextHolder.getUserId();
         String userName = BaseContextHolder.getUserName();
         List<ProdIODetail> sourcePids =prodIODetailMapper.selectByFK(id);
         //检查从表
         for (ProdIODetail prodIODetail : sourcePids) {
-            pdInqty = prodIODetail.getPd_inqty();
-            pdYqty = prodIODetail.getPd_yqty();
+            pdInqty = prodIODetail.getPd_inqty() == null ? 0.0 : prodIODetail.getPd_inqty();
+            pdYqty = prodIODetail.getPd_yqty() == null ? 0.0 : prodIODetail.getPd_yqty();
             if (pdInqty-pdYqty>0){
                 count++;
             }
@@ -458,8 +458,8 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
         targetPi.setPi_ioid(sourcePi.getId());
         targetPi.setPi_iocode(sourcePi.getPi_inoutno());
         //设置付款状态
-        targetPi.setPi_prstatus(Status.RECNONE.getDisplay());
-        targetPi.setPi_prstatuscode(Status.RECNONE.name());
+        targetPi.setPi_prstatus(Status.PAYNONE.getDisplay());
+        targetPi.setPi_prstatuscode(Status.PAYNONE.name());
         //设置公司id
         targetPi.setCompanyId(sourcePi.getCompanyId());
         targetPi.setCreateTime(new Date());

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

@@ -475,6 +475,7 @@ public class PurchaseServiceImpl extends CommonBaseServiceImpl<PurchaseMapper, P
                 prodIODetail.setUpdaterId(userId);
                 prodIODetail.setUpdateTime(new Date());
                 prodIODetail.setUpdaterName(userName);
+                prodIODetail.setPd_yqty(0.0);
                 //本次转单数
                 prodIODetail.setPd_inqty(pdQty-pdYqty);
                 prodIODetailMapper.insertSelective(prodIODetail);

+ 4 - 0
applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/ProdInOutDTO.java

@@ -72,4 +72,8 @@ public class ProdInOutDTO extends CommonBaseDTO implements Serializable {
     private String pi_auditman;
 
     private Date pi_auditdate;
+
+    private String pi_prstatuscode;
+
+    private String pi_prstatus;
 }

+ 4 - 0
applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/ProdInOutListDTO.java

@@ -132,4 +132,8 @@ public class ProdInOutListDTO extends CommonBaseDTO implements Serializable {
     private String pd_remark;
 
     private String pi_remark;
+
+    private String pi_prstatus;
+
+    private String pi_prstatuscode;
 }

+ 11 - 3
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/service/impl/ProdInOutServiceImpl.java

@@ -109,8 +109,10 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
         prodInOut.setPi_class(main.getPi_class());
         prodInOut.setPi_said(main.getPi_said());
         prodInOut.setPi_sacode(main.getPi_sacode());
-
         prodInOut.setPi_remark(main.getPi_remark());
+
+        prodInOut.setPi_prstatus(prodInOut.getPi_prstatus()==null?Status.RECNONE.getDisplay():prodInOut.getPi_prstatus() );
+        prodInOut.setPi_prstatuscode(prodInOut.getPi_printstatuscode()==null?Status.RECNONE.name():prodInOut.getPi_printstatuscode());
         //判断更新与保存动作
         if (StringUtils.isEmpty(pi_id) || "0".equals(pi_id.toString())){
             //插入操作
@@ -423,8 +425,8 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
     @Override
     public DocBaseDTO turnProdin(Long id) {
         Integer count=0;
-        double pdOutqty=0;
-        double pdYqty=0;
+        double pdOutqty=0.0;
+        double pdYqty=0.0;
         double pdSendPrice = 0.0;
         double pdTaxrate = 0.0;
         DocBaseDTO baseDTO = new DocBaseDTO();
@@ -476,6 +478,12 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
         targetPi.setPi_said(sourcePi.getPi_said());
         targetPi.setPi_sacode(sourcePi.getPi_sacode());
         targetPi.setPi_address(sourcePi.getPi_address());
+        //收款状态
+        targetPi.setPi_prstatus(Status.PAYNONE.getDisplay());
+        targetPi.setPi_prstatuscode(Status.PAYNONE.name());
+        //来源的单号
+        targetPi.setPi_ioid(sourcePi.getId());
+        targetPi.setPi_iocode(sourcePi.getPi_inoutno());
         //保存数据
         getMapper().insertSelective(targetPi);
         //插入销售退货单从表

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

@@ -163,6 +163,7 @@ public class SaleServiceImpl implements SaleService{
                 detail.setCreatorId(userId);
                 detail.setCreatorName(BaseContextHolder.getUserName());
                 detail.setCreateTime(new Date());
+                detail.setSd_yqty(0.0);
                 insertDetails.add(detail);
             } else {
                 updateDetails.add(detail);
@@ -432,7 +433,7 @@ public class SaleServiceImpl implements SaleService{
 
         //检查从表
         for (SaleDetail detail : details) {
-            pdQty = detail.getSd_qty();
+            pdQty = detail.getSd_qty()==null?0.0:detail.getSd_qty();
             pdYqty = detail.getSd_yqty() == null ? 0 : detail.getSd_yqty();
             if (pdQty - pdYqty > 0){
                 count++;
@@ -463,6 +464,8 @@ public class SaleServiceImpl implements SaleService{
         prodInOut.setCompanyId(companyId);
         prodInOut.setPi_address(sale.getSa_toplace());
 
+        prodInOut.setPi_prstatus(Status.RECNONE.getDisplay());
+        prodInOut.setPi_prstatuscode(Status.RECNONE.name());
         prodInOutMapper.insertSelective(prodInOut);
         //插入出货单从表
         long pi_id = prodInOut.getId();
@@ -483,6 +486,10 @@ public class SaleServiceImpl implements SaleService{
             prodIODetail.setPd_taxrate(saleDetail.getSd_taxrate());
             //公司id
             prodIODetail.setCompanyId(companyId);
+            //如果已转数等于转单数量 不处理该单据
+            if (saleDetail.getSd_qty() - (saleDetail.getSd_yqty() == null ? 0 : saleDetail.getSd_yqty()) == 0) {
+                continue;
+            }
             //本次转单数
             prodIODetail.setPd_outqty(saleDetail.getSd_qty() - (saleDetail.getSd_yqty() == null ? 0 : saleDetail.getSd_yqty()));
             //获取物料默认仓库

+ 4 - 0
applications/sale/sale-server/src/main/resources/mapper/ProdInOutListMapper.xml

@@ -72,6 +72,8 @@
     <result column="pi_prstatus" jdbcType="VARCHAR" property="pi_prstatus" />
     <result column="pi_prstatuscode" jdbcType="VARCHAR" property="pi_prstatuscode" />
     <result column="pd_ordertotal" jdbcType="DOUBLE" property="pd_ordertotal" />
+    <result column="pi_ioid" jdbcType="INTEGER" property="pi_ioid" />
+    <result column="pi_iocode" jdbcType="VARCHAR" property="pi_iocode" />
   </resultMap>
 
   <resultMap id="homePageList" type="com.usoftchina.saas.sale.po.ProdHomePageList">
@@ -103,6 +105,8 @@
     <result column="pi_auditman" jdbcType="VARCHAR" property="pi_auditman" />
     <result column="pi_address" jdbcType="VARCHAR" property="pi_address" />
     <result column="pi_remark" jdbcType="VARCHAR" property="pi_remark" />
+    <result column="pi_prstatus" jdbcType="VARCHAR" property="pi_prstatus" />
+    <result column="pi_prstatuscode" jdbcType="VARCHAR" property="pi_prstatuscode" />
     <result column="pd_piid" jdbcType="INTEGER" property="pd_piid" />
     <result column="pd_inoutno" jdbcType="VARCHAR" property="pd_inoutno" />
     <result column="pd_piclass" jdbcType="VARCHAR" property="pd_piclass" />

+ 30 - 6
applications/sale/sale-server/src/main/resources/mapper/ProdInOutMapper.xml

@@ -35,6 +35,8 @@
     <result column="pi_remark" jdbcType="VARCHAR" property="pi_remark" />
     <result column="pi_iocode" jdbcType="VARCHAR" property="pi_iocode" />
       <result column="pi_ioid" jdbcType="INTEGER" property="pi_ioid" />
+    <result column="pi_prstatus" jdbcType="VARCHAR" property="pi_prstatus" />
+    <result column="pi_prstatuscode" jdbcType="VARCHAR" property="pi_prstatuscode" />
   </resultMap>
   <resultMap extends="BaseResultMap" id="ResultMapWithBLOBs" type="com.usoftchina.saas.storage.po.ProdInOut">
     <result column="pi_address" jdbcType="LONGVARCHAR" property="pi_address" />
@@ -100,7 +102,7 @@
   <sql id="Base_Column_List">
     pi_id, pi_inoutno, pi_class, pi_date, pi_vendid, pi_vendcode, pi_vendname, pi_custid, 
     pi_custcode, pi_custname, pi_puid, pi_pucode, pi_said, pi_sacode, pi_total, pi_status, pi_statuscode, pi_printstatus, pi_printstatuscode,
-    companyid, updaterid, updatetime, pi_text1, pi_text2, pi_text3, pi_text4, pi_text5
+    companyid, updaterid, updatetime, pi_text1, pi_text2, pi_text3, pi_text4, pi_text5,pi_prstatus,pi_prstatuscode
   </sql>
   <sql id="Blob_Column_List">
     pi_address,pi_remark
@@ -125,7 +127,7 @@
       pi_printstatuscode, companyid, updaterid, 
       updatetime, pi_text1, pi_text2, 
       pi_text3, pi_text4, pi_text5,
-      pi_address,pi_remark)
+      pi_address,pi_remark,pi_prstatus,pi_prstatuscode)
     values (#{pi_id,jdbcType=INTEGER}, #{pi_inoutno,jdbcType=VARCHAR}, #{pi_class,jdbcType=VARCHAR}, 
       #{pi_date,jdbcType=TIMESTAMP}, #{pi_vendid,jdbcType=INTEGER}, #{pi_vendcode,jdbcType=VARCHAR}, 
       #{pi_vendname,jdbcType=VARCHAR}, #{pi_custid,jdbcType=INTEGER}, #{pi_custcode,jdbcType=VARCHAR}, 
@@ -136,7 +138,7 @@
       #{updatetime,jdbcType=TIMESTAMP}, #{pi_text1,jdbcType=VARCHAR}, #{pi_text2,jdbcType=VARCHAR}, 
       #{pi_text3,jdbcType=VARCHAR}, #{pi_text4,jdbcType=VARCHAR}, #{pi_text5,jdbcType=VARCHAR}, 
       #{pi_address,jdbcType=LONGVARCHAR},
-      #{pi_remark,jdbcType=LONGVARCHAR})
+      #{pi_remark,jdbcType=LONGVARCHAR}, #{pi_prstatus,jdbcType=VARCHAR}, #{pi_prstatuscode,jdbcType=VARCHAR})
   </insert>
   <insert id="insertSelective" parameterType="com.usoftchina.saas.storage.po.ProdInOut">
     <selectKey resultType="java.lang.Long" keyProperty="id">
@@ -235,6 +237,12 @@
         <if test="pi_ioid != null">
             pi_ioid,
         </if>
+      <if test="pi_prstatus!=null">
+        pi_prstatus,
+      </if>
+      <if test="pi_prstatuscode!=null">
+        pi_prstatuscode,
+      </if>
     </trim>
     <trim prefix="values (" suffix=")" suffixOverrides=",">
 
@@ -323,11 +331,17 @@
         #{pi_remark,jdbcType=LONGVARCHAR},
       </if>
       <if test="pi_iocode != null">
-        #{pi_iocode,jdbcType=LONGVARCHAR},
+        #{pi_iocode,jdbcType=VARCHAR},
       </if>
         <if test="pi_ioid != null">
             #{pi_ioid},
         </if>
+      <if test="pi_prstatus!=null">
+        #{pi_prstatus,jdbcType=VARCHAR},
+      </if>
+      <if test="pi_prstatuscode!=null">
+        #{pi_prstatuscode,jdbcType=VARCHAR},
+      </if>
     </trim>
   </insert>
   <update id="updateByPrimaryKeySelective" parameterType="com.usoftchina.saas.storage.po.ProdInOut">
@@ -417,6 +431,12 @@
       <if test="pi_remark != null">
         pi_remark = #{pi_remark,jdbcType=LONGVARCHAR},
       </if>
+      <if test="pi_prstatus!=null">
+        pi_prstatus = #{pi_prstatus,jdbcType=VARCHAR},
+      </if>
+      <if test="pi_prstatuscode!=null">
+        pi_prstatuscode = #{pi_prstatuscode,jdbcType=VARCHAR},
+      </if>
     </set>
     where pi_id = #{id,jdbcType=INTEGER}
   </update>
@@ -449,7 +469,9 @@
       pi_text4 = #{pi_text4,jdbcType=VARCHAR},
       pi_text5 = #{pi_text5,jdbcType=VARCHAR},
       pi_address = #{pi_address,jdbcType=LONGVARCHAR},
-      pi_remark = #{pi_remark,jdbcType=LONGVARCHAR}
+      pi_remark = #{pi_remark,jdbcType=LONGVARCHAR},
+      pi_prstatus= #{pi_prstatus,jdbcType=VARCHAR},
+      pi_prstatuscode= #{pi_prstatuscode,jdbcType=VARCHAR}
     where pi_id = #{pi_id,jdbcType=INTEGER}
   </update>
   <update id="updateByPrimaryKey" parameterType="com.usoftchina.saas.storage.po.ProdInOut">
@@ -481,7 +503,9 @@
       pi_text4 = #{pi_text4,jdbcType=VARCHAR},
       pi_text5 = #{pi_text5,jdbcType=VARCHAR},
       pi_address = #{pi_address,jdbcType=LONGVARCHAR},
-      pi_remark = #{pi_remark,jdbcType=LONGVARCHAR}
+      pi_remark = #{pi_remark,jdbcType=LONGVARCHAR},
+      pi_prstatus= #{pi_prstatus,jdbcType=VARCHAR},
+      pi_prstatuscode= #{pi_prstatuscode,jdbcType=VARCHAR}
     where pi_id = #{id,jdbcType=INTEGER}
   </update>
   <select id="selectCodeById" resultType="string" parameterType="long">

+ 6 - 6
applications/sale/sale-server/src/main/resources/mapper/SaledetailMapper.xml

@@ -309,27 +309,27 @@
     where sd_id = #{id,jdbcType=INTEGER}
   </update>
   <insert id="batchInsert" parameterType="java.util.List" >
-    insert into saledetail (sd_said, sd_detno,
+    insert into saledetail (sd_said, sd_detno,sd_code,
     sd_prodid, sd_prodcode, sd_qty,
     sd_price, sd_total, sd_taxrate,
     sd_netprice, sd_nettotal, sd_delivery,
-    sd_sendqty, sd_pdqty, sd_remark,
+    sd_sendqty, sd_pdqty, sd_yqty,sd_remark,
     companyId, updaterId, updateTime,
     sd_text1, sd_text2, sd_text3,
     sd_text4, sd_text5,
-    creatorId,createTime,creatorName, sd_yqty)
+    creatorId,createTime,creatorName)
     values
     <foreach collection="list" item="item" index="index" open="" close="" separator=",">
       (
-      #{item.sd_said,jdbcType=INTEGER}, #{item.sd_detno,jdbcType=INTEGER},
+      #{item.sd_said,jdbcType=INTEGER}, #{item.sd_detno,jdbcType=INTEGER},#{item.sd_code,jdbcType=VARCHAR},
       #{item.sd_prodid,jdbcType=INTEGER}, #{item.sd_prodcode,jdbcType=VARCHAR}, #{item.sd_qty,jdbcType=DOUBLE},
       #{item.sd_price,jdbcType=DOUBLE}, #{item.sd_total,jdbcType=DOUBLE}, #{item.sd_taxrate,jdbcType=DOUBLE},
       #{item.sd_netprice,jdbcType=DOUBLE}, #{item.sd_nettotal,jdbcType=DOUBLE}, #{item.sd_delivery,jdbcType=TIMESTAMP},
-      #{item.sd_sendqty,jdbcType=DOUBLE}, #{item.sd_pdqty,jdbcType=DOUBLE}, #{item.sd_remark,jdbcType=VARCHAR},
+      #{item.sd_sendqty,jdbcType=DOUBLE}, #{item.sd_pdqty,jdbcType=DOUBLE}, #{item.sd_yqty,jdbcType=DOUBLE}, #{item.sd_remark,jdbcType=VARCHAR},
       #{item.companyId,jdbcType=INTEGER}, #{item.updaterId,jdbcType=INTEGER}, #{item.updateTime,jdbcType=TIMESTAMP},
       #{item.sd_text1,jdbcType=VARCHAR}, #{item.sd_text2,jdbcType=VARCHAR}, #{item.sd_text3,jdbcType=VARCHAR},
       #{item.sd_text4,jdbcType=VARCHAR}, #{item.sd_text5,jdbcType=VARCHAR},
-      #{item.creatorId,jdbcType=INTEGER}, #{item.createTime,jdbcType=TIMESTAMP}, #{item.creatorName,jdbcType=VARCHAR},#{item.sd_yqty,jdbcType=DOUBLE}
+      #{item.creatorId,jdbcType=INTEGER}, #{item.createTime,jdbcType=TIMESTAMP}, #{item.creatorName,jdbcType=VARCHAR}
       )
     </foreach>
   </insert>

+ 2 - 0
applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/dto/ProdInOutDTO.java

@@ -72,4 +72,6 @@ public class ProdInOutDTO extends CommonBaseDTO implements Serializable {
     private String pi_remark;
 
     private Long pi_ioid;
+
+    private String pi_iocode;
 }

+ 2 - 0
applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/dto/ProdInOutListDTO.java

@@ -137,4 +137,6 @@ public class ProdInOutListDTO extends CommonBaseEntity implements Serializable {
     private String pd_remark;
 
     private String pi_remark;
+
+    private String pi_iocode;
 }

+ 4 - 0
applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/ProdInOut.java

@@ -72,4 +72,8 @@ public class ProdInOut extends CommonBaseEntity implements Serializable {
     private Long pi_maid;
 
     private String pi_iocode;
+
+    private String pi_prstatuscode;
+
+    private String pi_prstatus;
 }

+ 4 - 1
applications/storage/storage-dto/src/main/java/com/usoftchina/saas/storage/po/ProdInOutList.java

@@ -132,7 +132,6 @@ public class ProdInOutList extends CommonBaseEntity{
 
     private String pd_remark;
 
-
     private Long pd_ioid;
 
     private Date pi_auditdate;
@@ -143,6 +142,10 @@ public class ProdInOutList extends CommonBaseEntity{
 
     private String pi_remark;
 
+    private Long pi_ioid;
+
+    private String pi_iocode;
+
     //private ProductDTO productDTO;
     private Long pr_id;
     private String pr_code;

+ 1 - 0
frontend/saas-web/app/view/core/form/FormPanelController.js

@@ -403,6 +403,7 @@ Ext.define('saas.view.core.form.FormPanelController', {
                 closable: true,
                 layout: 'fit',
                 items: [{
+                    padding:'5 10 5 10',
                     xtype: 'core-form-mseeageLog',
                     mlKeyvalue:mlKeyvalue,
                     mlCaller:mlCaller

+ 1 - 0
frontend/saas-web/app/view/core/form/MseeageLog.js

@@ -121,6 +121,7 @@ Ext.define('saas.view.core.form.MseeageLog', {
 
             Ext.apply(me, {
                 dockedItems:[{
+                    style:'padding: 3px 0 3px 0px;height: 36px;',
                     xtype: 'pagingtoolbar',
                     dock: 'bottom',
                     displayInfo: true,

+ 1 - 1
frontend/saas-web/app/view/document/kind/ChildForm.js

@@ -212,7 +212,7 @@ Ext.define('saas.view.document.kind.ChildForm', {
                 if(grid){
                     if(form.ownerCt._parent.lookup('document-kind-Grid')!=null){
                         form.ownerCt._parent.lookup('document-kind-Grid').store.load()
-                    }else{
+                    }else if(grid.store){
                         grid.store.load();
                     }
                 }

+ 0 - 18
frontend/saas-web/app/view/stock/report/DataList.js

@@ -112,24 +112,6 @@ Ext.define('saas.view.stock.report.DataList', {
             var format = '0.' + xr.join();
             return Ext.util.Format.number(v, format);
         }
-    }, {
-        text: "金额",
-        xtype: 'numbercolumn',
-        dataIndex: "rc_amount",
-        width: 150,
-        renderer: function (v) {
-            var arr = (v + '.').split('.');
-            var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
-            var format = '0.' + xr.join();
-            return Ext.util.Format.number(v, format);
-        },
-        summaryType: 'sum',
-        summaryRenderer: function(v) {
-            var arr = (v + '.').split('.');
-            var xr = (new Array(arr[1].length > 2 ? 2 : arr[1].length)).fill('0');
-            var format = '0.' + xr.join();
-            return Ext.util.Format.number(v, format);
-        }
     }],
 
     reportColumns: [{

+ 2 - 1
frontend/saas-web/app/view/sys/power/FormPanel.js

@@ -23,9 +23,10 @@ Ext.define('saas.view.sys.power.FormPanel', {
         layout:'fit',
         height:'100%',
         width: '20%',
+        style:'border-right: 1px solid #35baf6;',
+        bodyStyle:'border-color: #ffffff;',
         useArrows: true
     },{
-        margin:'0 0 0 5',
         region:'center',
         layout:'fit',
         height:'100%',

+ 3 - 9
frontend/saas-web/app/view/sys/power/GroupGrid.js

@@ -4,9 +4,11 @@
 Ext.define('saas.view.sys.power.GroupGrid', {
     extend: 'Ext.grid.Panel',
     xtype: 'power-grid',
+    focusable:false,
     bind:{
         store: '{powergrid}'
     },
+    bufferedRenderer:false,
     tbar:['->',{
         xtype:'button',				
         text:'保存',
@@ -16,15 +18,7 @@ Ext.define('saas.view.sys.power.GroupGrid', {
     }],
     features : [Ext.create('Ext.grid.feature.Grouping',{
         collapsible:false,
-		showSummaryRow: false,
-        groupHeaderTpl: Ext.create('Ext.XTemplate',
-            '<div>{rows:this.formatName}</div>',
-            {
-                formatName: function(name) {
-                    return name[0].data.moduleName+'模块';
-                }
-            }
-        )
+        showSummaryRow: false
     })],
     dataUrl:'/api/account/role/power/resource',
     selModel: {

+ 0 - 112
frontend/saas-web/overrides/grid/buffer/BufferedRenderer.js

@@ -1,112 +0,0 @@
-Ext.define('saas.override.grid.buffer.BufferedRenderer', {
-    override: 'Ext.grid.plugin.BufferedRenderer',
-
-    setViewSize: function(viewSize, fromLockingPartner) {
-        var me = this,
-            store = me.store,
-            view = me.view,
-            ownerGrid,
-            rows = view.all,
-            elCount = rows.getCount(),
-            storeCount = store.getCount(),
-            start, end,
-            lockingPartner = me.view.lockingPartner && me.view.lockingPartner.bufferedRenderer,
-            diff = elCount - viewSize,
-            oldTop = 0,
-            maxIndex = Math.max(0, storeCount - 1),
-            // This is which end is closer to being visible therefore must be the first to have rows added
-            // or the opposite end from which rows get removed if shrinking the view.
-            pointyEnd = Ext.Number.sign((me.getFirstVisibleRowIndex() - rows.startIndex) - (rows.endIndex - me.getLastVisibleRowIndex()));
-        // Synchronize view sizes
-        if (lockingPartner && !fromLockingPartner) {
-            lockingPartner.setViewSize(viewSize, true);
-        }
-        diff = elCount - viewSize;
-        if (diff) {
-            // Must be set for getFirstVisibleRowIndex to work
-            me.scrollTop = me.scroller ? me.scroller.getPosition().y : 0;
-            me.viewSize = viewSize;
-            if (store.isBufferedStore) {
-                store.setViewSize(viewSize);
-            }
-            // If a store loads before we have calculated a viewSize, it loads me.defaultViewSize records.
-            // This may be larger or smaller than the final viewSize so the store needs adjusting when the view size is calculated.
-            if (elCount) {
-                // New start index should be current start index unless that's now too close to the end of the store
-                // to yield a full view, in which case work back from the end of the store.
-                // Ensure we don't go negative.
-                start = Math.max(0, Math.min(rows.startIndex, storeCount - viewSize));
-                // New end index works forward from the new start index ensuring we don't walk off the end
-                end = Math.min(start + viewSize - 1, maxIndex);
-                // Only do expensive adding or removal if range is not already correct
-                if (start === rows.startIndex && end === rows.endIndex) {
-                    // Needs rows adding to or bottom depending on which end is closest
-                    // to being visible (The pointy end)
-                    if (diff < 0) {
-                        me.handleViewScroll(pointyEnd);
-                    }
-                } else {
-                    // While changing our visible range, the locking partner must not sync
-                    if (lockingPartner) {
-                        lockingPartner.disable();
-                    }
-                    // View must expand
-                    if (diff < 0) {
-                        // If it's *possible* to add rows...
-                        if (storeCount > viewSize && storeCount > elCount) {
-                            // Grab the render range with a view to appending and prepending
-                            // nodes to the top and bottom as necessary.
-                            // Store's getRange API always has been inclusive of endIndex.
-                            store.getRange(start, end, {
-                                callback: function(newRecords, start, end) {
-                                    ownerGrid = view.ownerGrid;
-                                    // Append if necessary
-                                    if (end > rows.endIndex) {
-                                        rows.scroll(Ext.Array.slice(newRecords, rows.endIndex + 1, Infinity), 1, 0);
-                                    }
-                                    // Prepend if necessary
-                                    if (start < rows.startIndex) {
-                                        oldTop = rows.first(true);
-                                        rows.scroll(Ext.Array.slice(newRecords, 0, rows.startIndex - start), -1, 0);
-                                        // We just added some rows to the top of the rendered block
-                                        // We have to bump it up to keep the view stable.
-                                        me.bodyTop -= oldTop.offsetTop;
-                                    }
-                                    me.setBodyTop(me.bodyTop);
-                                    // The newly added rows must sync the row heights
-                                    if (lockingPartner && !fromLockingPartner && (ownerGrid.syncRowHeight || ownerGrid.syncRowHeightOnNextLayout)) {
-                                        lockingPartner.setViewSize(viewSize, true);
-                                        ownerGrid.syncRowHeights();
-                                    }
-                                }
-                            });
-                        } else // If not possible just refresh
-                        {
-                            me.refreshView(0);
-                        }
-                    } else // View size is contracting
-                    {
-                        // If removing from top, we have to bump the rendered block downwards
-                        // by the height of the removed rows.
-                        if (pointyEnd === 1) {
-                            oldTop = rows.item(rows.startIndex + diff, true).offsetTop;
-                        }
-                        // Clip the rows off the required end
-                        rows.clip(pointyEnd, diff);
-                        me.setBodyTop(me.bodyTop + oldTop);
-                    }
-                    if (lockingPartner) {
-                        lockingPartner.enable();
-                    }
-                }
-            }
-            // Update scroll range
-            me.refreshSize();
-        }
-        if(this.grid.xtype=='power-grid'){
-            viewSize = 61
-        }
-        return viewSize;
-    },
-});
-

+ 0 - 26
frontend/saas-web/overrides/grid/column/Widget.js

@@ -1,26 +0,0 @@
-Ext.define('saas.override.grid.column.Widget', {
-    override: 'Ext.grid.column.Widget',
-
-    onCellsResized: function(newWidth) {
-        var me = this,
-            liveWidgets = me.ownerGrid.getManagedWidgets(me.getId()),
-            len = liveWidgets.length,
-            view = me.getView(),
-            i, cell;
-        if (!me.isFixedSize && me.rendered && view && view.viewReady) {
-            cell = view.getEl().down(me.getCellInnerSelector());
-            if (cell) {
-                // Subtract innerCell padding width
-                newWidth -= parseInt(me.getCachedStyle(cell, 'padding-left'), 10) + parseInt(me.getCachedStyle(cell, 'padding-right'), 10);
-                for (i = 0; i < len; ++i) {
-                    if(liveWidgets[i]){
-                        liveWidgets[i].ownerLayout = null;
-                        liveWidgets[i].setWidth(newWidth);
-                        liveWidgets[i].ownerLayout = view.componentLayout;
-                    }
-                }
-            }
-        }
-    }
-
-});

+ 30 - 0
frontend/saas-web/overrides/grid/feature/Grouping.js

@@ -1,6 +1,36 @@
 Ext.define('saas.override.grid.feature.Grouping', {
     override: 'Ext.grid.feature.Grouping',
 
+    setup: function(rows, rowValues) {
+        var me = this,
+            data = me.refreshData,
+            view = rowValues.view,
+            // Need to check if groups have been added since init(), such as in the case of stateful grids.
+            isGrouping = view.isGrouping = !me.disabled && me.getGridStore().isGrouped(),
+            bufferedRenderer = view.bufferedRenderer;
+        me.skippedRows = 0;
+        if (bufferedRenderer) {
+            bufferedRenderer.variableRowHeight = view.hasVariableRowHeight() || isGrouping;
+        }
+        data.groupField = me.getGroupField();
+        data.header = me.getGroupedHeader(data.groupField);
+        data.doGrouping = isGrouping;
+        //权限界面的BUG 修改groupHeaderTpl属性会导致报错  暂时修改源码属性  hey
+        if(me.grid.xtype=='power-grid'){
+            me.groupHeaderTpl = Ext.create('Ext.XTemplate',
+                '<div>{rows:this.formatName}</div>',
+                {
+                    formatName: function(name) {
+                        return name[0].data.moduleName+'模块';
+                    }
+                }
+            )
+        }
+        rowValues.groupHeaderTpl = Ext.XTemplate.getTpl(me, 'groupHeaderTpl');
+        if (isGrouping && me.showSummaryRow) {
+            data.summaryData = me.generateSummaryData();
+        }
+    },
     getMetaGroup: function(group) {
         var me = this,
             id = me.getId == null ? me.id : me.getId(),

+ 4 - 4
frontend/saas-web/resources/json/navigation.json

@@ -74,10 +74,6 @@
             "text": "客户对账单",
             "id": "monry-report-customercheck",
             "viewType":"monry-report-customercheck"
-        },{
-            "text":"其他收支明细表",
-            "id":"money-report-otheriodetail",
-            "viewType":"monry-report-otheriodetail"
         }]
     }]
 }, {
@@ -185,6 +181,10 @@
             "id": "monry-report-accountdetails",
             "viewType":"monry-report-accountdetails"
         }, {
+            "text":"其他收支明细表",
+            "id":"money-report-otheriodetail",
+            "viewType":"monry-report-otheriodetail"
+        },{
             "text": "账户收支明细表",
             "id": "monry-report-accountbalance",
             "viewType":"monry-report-accountbalance"