소스 검색

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

guq 6 년 전
부모
커밋
96c21a36c9

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

@@ -40,4 +40,44 @@ public interface BankinformationMapper extends CommonBaseMapper<Bankinformation>
 
     int getBankNameSameById(@Param("name") String name, @Param("id") Long id, @Param("companyId") Long company);
 
+    /**
+     * 查询收款单中使用此资金账户的次数
+     * @param oldBankName
+     * @param companyId
+     * @return
+     */
+    int selectCountFromRecbalanceDet(@Param("oldBankName") String oldBankName, @Param("companyId") Long companyId);
+
+    /**
+     * 查询付款单中使用此资金账户的次数
+     * @param oldBankName
+     * @param companyId
+     * @return
+     */
+    int selectCountFromPaybalanceDet(@Param("oldBankName") String oldBankName, @Param("companyId") Long companyId);
+
+    /**
+     * 查询其他收入单中使用此资金账户的次数
+     * @param oldBankName
+     * @param companyId
+     * @return
+     */
+    int selectCountFromOthreceipts(@Param("oldBankName") String oldBankName, @Param("companyId") Long companyId);
+
+    /**
+     * 查询其他支出单中使用此资金账户的次数
+     * @param oldBankName
+     * @param companyId
+     * @return
+     */
+    int selectCountFromOthspendings(@Param("oldBankName") String oldBankName, @Param("companyId") Long companyId);
+
+    /**
+     * 查询资金转存中使用此资金账户的次数
+     * @param oldBankName
+     * @param companyId
+     * @return
+     */
+    int selectCountFromFundtransferDetail(@Param("oldBankName") String oldBankName, @Param("companyId") Long companyId);
+
 }

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

@@ -53,7 +53,8 @@ public class BankinformationServiceImpl extends CommonBaseServiceImpl<Bankinform
     @Transactional
     @Override
     public boolean save(Bankinformation bankinformation){
-        bankinformation.setCompanyId(BaseContextHolder.getCompanyId());
+        Long companyId = BaseContextHolder.getCompanyId();
+        bankinformation.setCompanyId(companyId);
         bankinformation.setBk_income(new Double(0));
         bankinformation.setBk_spending(new Double(0));
         bankinformation.setCreateTime(new Date());
@@ -95,6 +96,12 @@ public class BankinformationServiceImpl extends CommonBaseServiceImpl<Bankinform
             bankinformation.setUpdaterId(BaseContextHolder.getUserId());
             bankinformation.setUpdaterName(BaseContextHolder.getUserName());
             bankinformation.setUpdateTime(new Date());
+            //判断是否已修改账户名称
+            String oldBankName = bankinformationMapper.selectByPrimaryKey(bid).getBk_bankname();
+            if (!bankinformation.getBk_bankname().equals(oldBankName)) {
+                enableUpdateBankName(oldBankName, companyId);
+            }
+
             //判断是否能修改期初金额
             Double beginamount = bankinformationMapper.selectamount(bankinformation.getId());
             Double fbeginamount = bankinformation.getBk_beginamount();
@@ -139,6 +146,40 @@ public class BankinformationServiceImpl extends CommonBaseServiceImpl<Bankinform
         return true;
     }
 
+    /**
+     * 判断是否可以更新资金账户名称
+     * @param oldBankName
+     * @param companyId
+     */
+    private void enableUpdateBankName(String oldBankName, Long companyId){
+        int count = 0;
+        //收款单  recbalanceDet
+        count = bankinformationMapper.selectCountFromRecbalanceDet(oldBankName, companyId);
+        if (count > 0) {
+            throw new BizException(BizExceptionCode.BIZ_RELUPDATE_CODEANDNAME);
+        }
+        //付款单  paybalanceDet
+        count = bankinformationMapper.selectCountFromPaybalanceDet(oldBankName, companyId);
+        if (count > 0) {
+            throw new BizException(BizExceptionCode.BIZ_RELUPDATE_CODEANDNAME);
+        }
+        //其他收入单  othreceipts
+        count = bankinformationMapper.selectCountFromOthreceipts(oldBankName, companyId);
+        if (count > 0) {
+            throw new BizException(BizExceptionCode.BIZ_RELUPDATE_CODEANDNAME);
+        }
+        //其他支出单  othspendings
+        count = bankinformationMapper.selectCountFromOthspendings(oldBankName, companyId);
+        if (count > 0) {
+            throw new BizException(BizExceptionCode.BIZ_RELUPDATE_CODEANDNAME);
+        }
+        //资金转存  fundtransferdetail
+        count = bankinformationMapper.selectCountFromFundtransferDetail(oldBankName, companyId);
+        if (count > 0) {
+            throw new BizException(BizExceptionCode.BIZ_RELUPDATE_CODEANDNAME);
+        }
+    }
+
     @Transactional
     @Override
     public boolean removeByPrimaryKey(int id){

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

@@ -375,4 +375,24 @@
   <select id="getBankNameSameById" resultType="int">
     select count(*) from bankinformation where bk_bankname = #{name} and bk_id != #{id} and companyId =#{companyId}
   </select>
+
+  <select id="selectCountFromRecbalanceDet" resultType="int">
+    select count(*) from RecbalanceDet where rd_bankname = #{oldBankName} and companyid = #{companyId}
+  </select>
+
+  <select id="selectCountFromPaybalanceDet" resultType="int">
+    select count(*) from PaybalanceDet where pd_bankname = #{oldBankName} and companyid = #{companyId}
+  </select>
+
+  <select id="selectCountFromOthreceipts" resultType="int">
+    select count(*) from othreceipts where or_bankname = #{oldBankName} and companyid = #{companyId}
+  </select>
+
+  <select id="selectCountFromOthspendings" resultType="int">
+    select count(*) from Othspendings where os_bankname = #{oldBankName} and companyid = #{companyId}
+  </select>
+
+  <select id="selectCountFromFundtransferDetail" resultType="int">
+    select count(*) from FundtransferDetail where ftd_bankname = #{oldBankName} and companyid = #{companyId}
+  </select>
 </mapper>

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

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

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

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

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

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

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

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

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

@@ -297,6 +297,7 @@ public class ProdInOutServiceImpl extends CommonBaseServiceImpl<ProdInOutMapper,
             }
             ProdInOutDTO dto = formData.getMain();
             dto.setPi_inoutno(code == null ? dto.getPi_inoutno() : code);
+            dto.setId(id);
             singleAudit(dto);
             baseDTO = getBaseDTOById(id,formData.getMain().getPi_class(),formData.getMain().getPi_inoutno());
         }

+ 9 - 0
applications/sale/sale-dto/src/main/java/com/usoftchina/saas/sale/dto/apcheck/SaveOperationDataDetail.java

@@ -29,6 +29,15 @@ public class SaveOperationDataDetail implements Serializable {
     private Long custUserUU;
     private Long pidate;
     private Long sourceDate;
+    private Double price;
+
+    public Double getPrice() {
+        return price;
+    }
+
+    public void setPrice(Double price) {
+        this.price = price;
+    }
 
     public String getInoutno() {
         return inoutno;

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

@@ -210,6 +210,9 @@ public class ApCheckServiceImpl implements ApCheckService {
             String url = b2bUrl + SAVEAPCHECKURL;
             //String url = "http://10.1.51.139:8889" + SAVEAPCHECKURL;
             saveOperationData.setEnUu(enUU);
+            saveOperationData.getItems().forEach(saveOperationDataDetail -> {
+                saveOperationDataDetail.setSourceDate(new Date().getTime());
+            });
             try {
                 responseEntity = AccessUtils.postForEntity(url, account, URLEncoder.encode(JsonUtils.toJsonString(saveOperationData), "UTF-8"));
             } catch (Exception e){

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

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

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

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

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

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