Browse Source

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

zhoudw 7 years ago
parent
commit
15e39c02ca
24 changed files with 125 additions and 38 deletions
  1. 2 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/BankinformationMapper.java
  2. 19 0
      applications/document/document-server/src/main/java/com/usoftchina/saas/document/service/impl/BankinformationServiceImpl.java
  3. 4 0
      applications/document/document-server/src/main/resources/mapper/BankinformationMapper.xml
  4. 2 0
      applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/po/SaleList.java
  5. 1 0
      applications/sale/sale-server/src/main/resources/mapper/SaleListMapper.xml
  6. 1 0
      frontend/saas-web/app/view/core/form/DataMultiCombo.js
  7. 2 1
      frontend/saas-web/app/view/core/form/FormPanel.js
  8. 1 1
      frontend/saas-web/app/view/core/form/RemoteCombo.js
  9. 4 1
      frontend/saas-web/app/view/core/form/field/ConDateField.js
  10. 35 14
      frontend/saas-web/app/view/core/form/field/DetailGridField.js
  11. 2 1
      frontend/saas-web/app/view/core/query/QueryGridPanel.js
  12. 2 0
      frontend/saas-web/app/view/document/bom/BasePanel.js
  13. 1 1
      frontend/saas-web/app/view/document/bom/FormPanel.js
  14. 9 0
      frontend/saas-web/app/view/document/kind/ChildForm.js
  15. 1 0
      frontend/saas-web/app/view/document/kind/Kind.js
  16. 18 13
      frontend/saas-web/app/view/document/kind/KindController.js
  17. 3 0
      frontend/saas-web/app/view/document/vendor/BasePanel.js
  18. 1 1
      frontend/saas-web/app/view/money/fundtransfer/QueryPanel.js
  19. 1 1
      frontend/saas-web/app/view/sale/sale/QueryPanel.js
  20. 2 0
      frontend/saas-web/app/view/sys/config/FormPanel.js
  21. 3 2
      frontend/saas-web/app/view/sys/manager/FormPanel.scss
  22. 1 2
      frontend/saas-web/app/view/sys/power/GroupGrid.js
  23. 4 0
      frontend/saas-web/app/view/viewport/Viewport.js
  24. 6 0
      frontend/saas-web/app/view/viewport/ViewportController.js

+ 2 - 0
applications/document/document-server/src/main/java/com/usoftchina/saas/document/mapper/BankinformationMapper.java

@@ -29,4 +29,6 @@ public interface BankinformationMapper extends CommonBaseMapper<Bankinformation>
 
     void check(Map<String, Object> map);
 
+    Double selectamount(Long id);
+
 }

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

@@ -47,6 +47,7 @@ public class BankinformationServiceImpl extends CommonBaseServiceImpl<Bankinform
         bankinformation.setCompanyId(BaseContextHolder.getCompanyId());
         bankinformation.setBk_income(new Double(0));
         bankinformation.setBk_spending(new Double(0));
+        int bid = Math.toIntExact(bankinformation.getId());
 
         String bktion = bankinformationMapper.selectBankcode(bankinformation.getBk_bankcode());
         //先判断ID,再判断编号
@@ -58,6 +59,24 @@ public class BankinformationServiceImpl extends CommonBaseServiceImpl<Bankinform
             bankinformation.setBk_thisamount(bankinformation.getBk_beginamount());
             bankinformationMapper.insertSelective(bankinformation);
         }else {
+            //判断是否能修改期初金额
+            Double beginamount = bankinformationMapper.selectamount(bankinformation.getId());
+            Double fbeginamount = bankinformation.getBk_beginamount();
+            if (!(fbeginamount.equals(beginamount))){
+                DocBaseDTO docBaseDTO = getBaseDTOById(bid);
+                Map<String, Object> map = new HashMap<String, Object>();
+                map.put("v_id",bid);
+                map.put("v_code", docBaseDTO.getCode());
+                map.put("v_type","bank");
+                map.put("v_companyid",BaseContextHolder.getCompanyId());
+                map.put("v_res","");
+                bankinformationMapper.check(map);
+                Object result =  map.get("v_res");
+                if(!StringUtils.isEmpty(result)){
+                    throw new BizException(BizExceptionCode.USING_EXISTS.getCode(),result.toString());
+                }
+            }
+
             Long id = bankinformationMapper.selectBankId(bankinformation.getBk_bankcode());
             if (bktion != null){
                 if (id.equals(bankinformation.getId())){

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

@@ -344,6 +344,10 @@
         select bk_id from bankinformation where bk_bankcode = #{bk_bankcode,jdbcType=VARCHAR}
    </select>
 
+  <select id="selectamount" parameterType="java.lang.Long" resultType="java.lang.Double">
+        select bk_beginamount from bankinformation where bk_id = #{bk_id,jdbcType=INTEGER}
+   </select>
+
   <select id="check" parameterMap="checkParamMap" statementType="CALLABLE">
         CALL SP_LIMITBASE(?, ?, ?, ?,?)
     </select>

+ 2 - 0
applications/sale/sale-server/src/main/java/com/usoftchina/saas/sale/po/SaleList.java

@@ -106,6 +106,8 @@ public class SaleList implements Serializable {
     private String sd_text4;
 
     private String sd_text5;
+    //已转数
+    private Double sd_yqty;
 
     //private ProductDTO productDTO;级联属性会导致分页查询出现BUG,设置数与查询数量不一致
     private Long pr_id;

+ 1 - 0
applications/sale/sale-server/src/main/resources/mapper/SaleListMapper.xml

@@ -42,6 +42,7 @@
         <result column="sd_nettotal" property="sd_nettotal" jdbcType="DOUBLE" />
         <result column="sd_delivery" property="sd_delivery" jdbcType="TIMESTAMP" />
         <result column="sd_sendqty" property="sd_sendqty" jdbcType="DOUBLE" />
+        <result column="sd_yqty" property="sd_yqty" jdbcType="DOUBLE" />
         <result column="sd_pdqty" property="sd_pdqty" jdbcType="DOUBLE" />
         <result column="sd_remark" property="sd_remark" jdbcType="VARCHAR" />
         <result column="sd_text1" property="sd_text1" jdbcType="VARCHAR" />

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

@@ -6,6 +6,7 @@ Ext.define('saas.view.core.form.DataMultiCombo', {
     alias: 'widget.datamulticombo',
     editable : false,
     matchFieldWidth: true,
+    autoScroll:true,
     value: [],
     cachedConfig: {
         menuAlign: 'tl-bl?',

+ 2 - 1
frontend/saas-web/app/view/core/form/FormPanel.js

@@ -47,7 +47,7 @@ Ext.define('saas.view.core.form.FormPanel', {
     initComponent: function () {
         var me = this,
         auditTexts = me.auditTexts;
-
+        me._deleteMsg = '删除的'+me._title+'将不能恢复,请确认是否删除?';
         me.initViewModel();
         saas.util.FormUtil.setItems(me);
 
@@ -300,6 +300,7 @@ Ext.define('saas.view.core.form.FormPanel', {
                 detnoColumn = grid.detnoColumn,
                 store = detail.detailStore;
 
+            store.removeAll();
             if (detailData.length > 0) {
 
                 for(var j = 0; j < detailData.length; j++) {

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

@@ -37,7 +37,7 @@ Ext.define('saas.view.core.form.RemoteCombo', {
             picker;
         var count = this.store.getCount();
         var pickerCfg = Ext.apply({
-                height: count>5?248-(me.hiddenBtn?50:0):(33*count+me.hiddenBtn?0:50),
+                height: count>5?248-(me.hiddenBtn?50:0):(33*count+(me.hiddenBtn?0:50)),
                 hiddenBtn:me.hiddenBtn,
                 xtype: 'boundlistadd',
                 id: me.id + '-picker',

+ 4 - 1
frontend/saas-web/app/view/core/form/ConDateField.js → frontend/saas-web/app/view/core/form/field/ConDateField.js

@@ -1,7 +1,7 @@
 /**
  * Created by UAS30 on 2018/10/11.
  */
-Ext.define('saas.view.core.form.ConDateField', {
+Ext.define('saas.view.core.form.field.ConDateField', {
     extend: 'Ext.form.FieldContainer',
     alias: 'widget.condatefield',
     layout: 'hbox',
@@ -14,6 +14,9 @@ Ext.define('saas.view.core.form.ConDateField', {
     },
     columnWidth: 0.5,
     defaultBindProperty: 'value',
+
+    cls: 'x-condatefield',
+
     initComponent : function(){
         this.cls = (this.cls || '') + ' x-form-field-multi';
         this.callParent(arguments);

+ 35 - 14
frontend/saas-web/app/view/core/form/field/DetailGridField.js

@@ -225,23 +225,44 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
         records = store.getData().items,
         selectedRecord = records.find(function(r) {
             return r.get(detnoColumn) == v;
-        }),
-        detno = 0;
+        });
+
+        store.each(function(item){
+            var t = item.data[detnoColumn];
+            if(t > v) {
+                item.set(detnoColumn, t + 1);
+            }
+        });
 
-        //当前行后序号全部加1
-        if(selectedRecord){
-            detno = selectedRecord.data[detnoColumn];
-            var store = me.store;
-            store.each(function(item){
-                var t = item.data[detnoColumn];
-                if(Number(t) > detno) {
-                    item.set(detnoColumn, Number(t) + 1);
-                }
-            });
-        }
         var data = d || {};
-        data[detnoColumn] = detno + 1;
+        data[detnoColumn] = v + 1;
         var r = store.insert(store.indexOf(selectedRecord) + 1, data);
+
+        store.each(function(s) {
+            var itemFields = s.fields,
+            itemData = s.getData(),
+            dirtyFields = [];
+
+            for(var x = 0; x < itemFields.length; x++) {
+                var field = itemFields[x],
+                name = field.name,
+                type = field.type;
+
+                if(type == 'int' && itemData[name] == 0) {
+                }else if(type == 'string' && itemData[name] == '') {
+                }else if(type == 'float' && itemData[name] == 0) {
+                }else if(type == 'date' && itemData[name] == null) {
+                }else {
+                    dirtyFields.push(name);
+                }
+            }
+
+            // 如果有有效数据(非ID和序号列)才算dirty,否则直接commit
+            if(dirtyFields.length == 2 && Ext.Array.contains(dirtyFields, 'id') && Ext.Array.contains(dirtyFields, detnoColumn)) {
+                s.commit()
+            }
+        });
+
         me.fireEvent('validChange');
         return r;
     },

+ 2 - 1
frontend/saas-web/app/view/core/query/QueryGridPanel.js

@@ -367,8 +367,9 @@ Ext.define('saas.view.core.query.QueryGridPanel', {
     onDelete: function (btns) {
         var grid = btns.up('grid');
         var data = grid.getGridSelected();
+        var deleteMsg =grid.addTitle?"删除的"+grid.addTitle+"将不能恢复,请确认是否删除?":"是否删除所选单据?";
         if(data&&data.length>0){
-            saas.util.BaseUtil.warnMsg("是否删除所选单据?",function(btn){
+            saas.util.BaseUtil.warnMsg(deleteMsg,function(btn){
                 if(btn == 'yes'){
                     grid.vastOperation("batchDelete");
                 }

+ 2 - 0
frontend/saas-web/app/view/document/bom/BasePanel.js

@@ -5,6 +5,8 @@ Ext.define('saas.view.document.bom.BasePanel', {
     controller: 'document-bom-basepanel',
     viewModel: 'document-bom-basepanel',
 
+    deleteMoreMsg: '删除的BOM资料将不能恢复,请确认是否删除?',
+    deleteOneMsg: '删除的BOM资料将不能恢复,请确认是否删除?',
     searchField:[{ 
         xtype : "textfield", 
         name : "bo_mothercode", 

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

@@ -19,7 +19,7 @@ Ext.define('saas.view.document.bom.FormPanel', {
     _closeUrl:'/api/document/bom/close',
     _deleteUrl:'/api/document/bom/delete/',
     initId:0,
-
+    _deleteMsg: '删除的BOM资料将不能恢复,请确认是否删除?',
     codeInHeader: false,
 
     defaultButtons:[{

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

@@ -224,6 +224,15 @@ Ext.define('KitchenSink.view.binding.ChildForm', {
                 xtype:'hidden',
                 name:'accountId',
                 hidden:true,
+            },{
+                xtype:'textfield',
+                fieldLabel: '真实姓名',
+                name: 'realname',
+                readOnly:true,
+                editable:false,
+                allowBlank:true,
+                maxLength: 30,
+                beforeLabelTextTpl: "",
             },{
                 xtype:'datamulticombo',
                 dataUrl:'/api/account/role/list',

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

@@ -78,6 +78,7 @@ Ext.define('saas.view.document.kind.Kind', {
                 dataIndex: 'ck_name',
                 flex: 1
             }],
+            
             keyField:'id',
             reqUrl:'/api/document/customerkind/save',
             delUrl:'/api/document/customerkind/delete'

+ 18 - 13
frontend/saas-web/app/view/document/kind/KindController.js

@@ -74,20 +74,25 @@ Ext.define('saas.view.document.kind.KindController', {
         var dataKind=dk.getViewModel().getData()['dataKind'].value,
         rec = grid.getStore().getAt(row);
         var keyV=rec.get(dk.etc[dataKind].keyField);
-        //删除接口
-        saas.util.BaseUtil.request({
-            url: dk.etc[dataKind].delUrl+'/'+keyV,
-            method: 'POST'
-        })
-        .then(function(localJson) {
-            if(localJson.success){
-                saas.util.BaseUtil.showToast('删除成功');
-                grid.store.load();
+        var deleteMsg = '删除的'+dk.getViewModel().getData()['title']+'将不能恢复,请确认是否删除?';
+        saas.util.BaseUtil.deleteWarn(deleteMsg,function(btn){
+            if(btn == 'yes'){
+                //删除接口
+                saas.util.BaseUtil.request({
+                    url: dk.etc[dataKind].delUrl+'/'+keyV,
+                    method: 'POST'
+                })
+                .then(function(localJson) {
+                    if(localJson.success){
+                        saas.util.BaseUtil.showToast('删除成功');
+                        grid.store.load();
+                    }
+                })
+                .catch(function(res) {
+                    console.error(res);
+                    saas.util.BaseUtil.showToast('删除失败: ' + res.message);
+                });
             }
-        })
-        .catch(function(res) {
-            console.error(res);
-            saas.util.BaseUtil.showToast('删除失败: ' + res.message);
         });
     },
     createDialog: function(dataKind,record,dk) {

+ 3 - 0
frontend/saas-web/app/view/document/vendor/BasePanel.js

@@ -4,6 +4,9 @@ Ext.define('saas.view.document.vendor.BasePanel', {
     controller: 'document-vendor-basepanel',
     viewModel: 'document-vendor-basepanel',
 
+    deleteMoreMsg: '删除的供应商资料将不能恢复,请确认是否删除?',
+    deleteOneMsg: '删除的供应商资料将不能恢复,请确认是否删除?',
+
     searchField:[{
         xtype : "vendorDbfindTrigger", 
         name : "ve_code", 

+ 1 - 1
frontend/saas-web/app/view/money/fundtransfer/QueryPanel.js

@@ -134,7 +134,7 @@ Ext.define('saas.view.money.fundtransfer.QueryPanel', {
             dataIndex: 'ftd_paymethod',
             width: 120
         }, {
-            text: '结算号',
+            text: '结算号',
             dataIndex: 'ftd_paycode',
             width: 120
         }, {

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

@@ -208,7 +208,7 @@ Ext.define('saas.view.sale.sale.QueryPanel', {
             },
         }, {
             text: '已转数',
-            dataIndex: 'sd_ytqy',
+            dataIndex: 'sd_yqty',
             xtype: 'numbercolumn',
             width: 120,
             renderer : function(v) {

+ 2 - 0
frontend/saas-web/app/view/sys/config/FormPanel.js

@@ -172,6 +172,7 @@ Ext.define('saas.view.sys.config.FormPanel', {
                     var fileEl = field.fileInputEl.dom;
                     var fd = new FormData();
                     fd.append('file', fileEl.files[0]);
+                    fd.append('folderId', 0);
                     form.setLoading(true);
                     Ext.Ajax.request({
                         url: '/api/file/upload',//这里是填写需要跨域访问的URL
@@ -297,6 +298,7 @@ Ext.define('saas.view.sys.config.FormPanel', {
                     var myForm = field.ownerCt;
                     var fileEl = field.fileInputEl.dom;
                     var fd = new FormData();
+                    fd.append('folderId', 0);
                     fd.append('file', fileEl.files[0]);
                     form.setLoading(true);
                     Ext.Ajax.request({

+ 3 - 2
frontend/saas-web/app/view/sys/manager/FormPanel.scss

@@ -56,12 +56,13 @@
         border:none !important;
     }
     .x-keyboard-mode .x-grid-item-focused .x-grid-cell-inner:before{
-        border:0px solid #ffffff !important;
+        border:none !important;
     }
     .x-keyboard-mode .x-grid-item-focused{
         border:0px solid #ffffff !important;
     }
     .x-grid-cell-inner .x-grid-cell-inner-action-col::before{
-        border:0px solid #ffffff !important;
+        content: '';
+        border:none !important;
     }
 }

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

@@ -12,8 +12,7 @@ Ext.define('saas.view.sys.power.GroupGrid', {
         text:'保存',
         name:'savepower',
         margin:'0 10 0 2',
-        cls:'x-formpanel-btn-orange',
-        style:'background:#da8282;border-color:#cccccc'
+        style:'background:#34baf6;border-color:#cccccc'
     }],
     features : [Ext.create('Ext.grid.feature.Grouping',{
         collapseTip:null,

+ 4 - 0
frontend/saas-web/app/view/viewport/Viewport.js

@@ -7,5 +7,9 @@ Ext.define('saas.view.viewport.Viewport', {
     layout: {
         type: 'card',
         anchor: '100%'
+    },
+
+    listeners: {
+        boxready: 'mainviewboxready'
     }
 });

+ 6 - 0
frontend/saas-web/app/view/viewport/ViewportController.js

@@ -22,6 +22,12 @@ Ext.define('saas.view.viewport.ViewportController', {
         this.restoreSession();
     },
 
+    mainviewboxready: function() {
+        if(!Ext.isChrome && !Ext.isFirefox) {
+            saas.util.BaseUtil.showConfirm('温馨提示', '为了更好地呈现页面效果,推荐使用Chrome浏览器或火狐浏览器');
+        }
+    },
+
     showView: function(xtype) {
         var view = this.lookup(xtype),
             viewport = this.getView();