Browse Source

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

hy 7 years ago
parent
commit
604bc45857

+ 3 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/mapper/CustomerCheckViewMapper.java

@@ -2,6 +2,7 @@ package com.usoftchina.saas.money.mapper;
 
 import com.usoftchina.saas.money.po.AcountbalanceView;
 import com.usoftchina.saas.money.po.CustomerCheckView;
+import com.usoftchina.saas.money.po.VendOrCustAdd;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -9,4 +10,6 @@ import java.util.List;
 public interface CustomerCheckViewMapper {
     List<CustomerCheckView> selectByCondition(@Param("con") String con, @Param("companyId") Long companyId);
     String selectCalculateFields(@Param("fields") String fields, @Param("con") String con, @Param("companyId") Long companyId);
+    VendOrCustAdd selectCustAdd(@Param("sl_custid") Integer sl_vendid, @Param("sl_ym") Integer sl_ym, @Param("companyId") Long companyId);
+    Integer getId(@Param("code") String code, @Param("companyId") Long companyId);
 }

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

@@ -1,10 +1,7 @@
 package com.usoftchina.saas.money.mapper;
 
-import com.usoftchina.saas.money.po.Recbalance;
 import com.usoftchina.saas.money.po.Subledger;
-import com.usoftchina.saas.money.po.VendorAdd;
 import org.apache.ibatis.annotations.Param;
-import org.springframework.web.bind.annotation.PostMapping;
 
 import java.util.List;
 

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

@@ -1,7 +1,7 @@
 package com.usoftchina.saas.money.mapper;
 
 import com.usoftchina.saas.money.po.VendorAcountView;
-import com.usoftchina.saas.money.po.VendorAdd;
+import com.usoftchina.saas.money.po.VendOrCustAdd;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
@@ -9,6 +9,6 @@ import java.util.List;
 public interface VendorAcountViewMapper {
     List<VendorAcountView> selectByCondition(@Param("con")String con, @Param("companyId")Long companyId);
     String selectCalculateFields(@Param("fields") String fields, @Param("con") String con, @Param("companyId") Long companyId);
-    VendorAdd selectVendAdd(@Param("sl_vendid") Integer sl_vendid, @Param("sl_ym") Integer sl_ym, @Param("companyId") Long companyId);
+    VendOrCustAdd selectVendAdd(@Param("sl_vendid") Integer sl_vendid, @Param("sl_ym") Integer sl_ym, @Param("companyId") Long companyId);
     Integer getId(@Param("code") String code, @Param("companyId") Long companyId);
 }

+ 10 - 0
applications/money/money-server/src/main/java/com/usoftchina/saas/money/po/CustomerCheckView.java

@@ -35,6 +35,16 @@ public class CustomerCheckView {
 
     private Double pd_nettotal;
 
+    private Long companyId;
+
+    public Long getCompanyId() {
+        return companyId;
+    }
+
+    public void setCompanyId(Long companyId) {
+        this.companyId = companyId;
+    }
+
     public String getPi_inoutno() {
         return pi_inoutno;
     }

+ 1 - 1
applications/money/money-server/src/main/java/com/usoftchina/saas/money/po/VendorAdd.java → applications/money/money-server/src/main/java/com/usoftchina/saas/money/po/VendOrCustAdd.java

@@ -4,7 +4,7 @@ package com.usoftchina.saas.money.po;
  * @author heqw
  * @date 2018/11/23 11:44
  **/
-public class VendorAdd {
+public class VendOrCustAdd {
     private Double beginamount;
     private Double nowamount;
     private Double nowpay;

+ 56 - 37
applications/money/money-server/src/main/java/com/usoftchina/saas/money/service/impl/MoneyReportServiceImpl.java

@@ -1,22 +1,19 @@
 package com.usoftchina.saas.money.service.impl;
 
-import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
-import com.fasterxml.jackson.databind.jsonFormatVisitors.JsonArrayFormatVisitor;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.usoftchina.saas.commons.dto.ListReqDTO;
 import com.usoftchina.saas.context.BaseContextHolder;
 import com.usoftchina.saas.money.mapper.*;
+import com.usoftchina.saas.money.po.CustomerCheckView;
 import com.usoftchina.saas.money.po.VendorAcountView;
-import com.usoftchina.saas.money.po.VendorAdd;
+import com.usoftchina.saas.money.po.VendOrCustAdd;
 import com.usoftchina.saas.money.service.MoneyReportService;
 import com.usoftchina.saas.page.PageRequest;
-import com.usoftchina.saas.utils.DateUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
-import springfox.documentation.spring.web.json.Json;
 
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -101,41 +98,36 @@ public class MoneyReportServiceImpl implements MoneyReportService {
         }
 
         String res = null;
-        VendorAdd vendorAdd = new VendorAdd();
+        VendOrCustAdd vendOrCustAdd = new VendOrCustAdd();
         List<Map<String, Double>> list1 = new ArrayList<>();
         if ("Supplier".equals(type)) {
             list = vendorAcountViewMapper.selectByCondition(con, companyId);
-//            if (!StringUtils.isEmpty(calculateFieldsSql)) {
-//                res = vendorAcountViewMapper.selectCalculateFields(calculateFieldsSql, con, companyId);
-//            }
-
-            VendorAcountView vendorAcountView = (VendorAcountView) list.get(0);
-            Integer vid = new Integer(0);
-            if (list.size() >0){
+            if (list.size() >0) {
+                VendorAcountView vendorAcountView = (VendorAcountView) list.get(0);
+                Integer vid = new Integer(0);
                 vid = vendorAcountViewMapper.getId(vendorAcountView.getPi_vendcode(), Long.valueOf(vendorAcountView.getCompanyId()));
+                Integer ym = Integer.valueOf(req.getYm());
+                vendOrCustAdd = vendorAcountViewMapper.selectVendAdd(vid, ym, Long.valueOf(vendorAcountView.getCompanyId()));
+                vendOrCustAdd.setNowbalance((vendOrCustAdd.getBeginamount() == null ? new Double(0) : vendOrCustAdd.getBeginamount())
+                        + (vendOrCustAdd.getNowamount() == null ? new Double(0) : vendOrCustAdd.getNowamount())
+                        - (vendOrCustAdd.getNowpay() == null ? new Double(0) : vendOrCustAdd.getNowpay()));
+                //封装成list
+                Map<String, Double> map1 = new HashMap<>();
+                map1.put("beginamount", vendOrCustAdd.getBeginamount());
+                list1.add(map1);
+
+                Map<String, Double> map2 = new HashMap<>();
+                map2.put("nowamount", vendOrCustAdd.getNowamount());
+                list1.add(map2);
+
+                Map<String, Double> map3 = new HashMap<>();
+                map3.put("nowpay", vendOrCustAdd.getNowpay());
+                list1.add(map3);
+
+                Map<String, Double> map4 = new HashMap<>();
+                map4.put("nowbalance", vendOrCustAdd.getNowbalance());
+                list1.add(map4);
             }
-            Integer ym = Integer.valueOf(req.getYm());
-            vendorAdd = vendorAcountViewMapper.selectVendAdd(vid, ym, Long.valueOf(vendorAcountView.getCompanyId()));
-            vendorAdd.setNowbalance((vendorAdd.getBeginamount() == null ? new Double(0) : vendorAdd.getBeginamount())
-                    + (vendorAdd.getNowamount() == null ? new Double(0) : vendorAdd.getNowamount())
-                    - (vendorAdd.getNowpay() == null ? new Double(0) : vendorAdd.getNowpay()));
-            //封装成list
-            Map<String, Double> map1 = new HashMap<>();
-            map1.put("beginamount", vendorAdd.getBeginamount());
-            list1.add(map1);
-
-            Map<String, Double> map2 = new HashMap<>();
-            map2.put("nowamount" ,vendorAdd.getNowamount());
-            list1.add(map2);
-
-            Map<String, Double> map3 = new HashMap<>();
-            map3.put("nowpay" ,vendorAdd.getNowpay());
-            list1.add(map3);
-
-            Map<String, Double> map4 = new HashMap<>();
-            map4.put("nowbalance",vendorAdd.getNowbalance());
-            list1.add(map4);
-
         } else if("payDetail".equals(type)){
             list = paydetailViewMapper.selectByCondition(con, companyId);
             if (!StringUtils.isEmpty(calculateFieldsSql)) {
@@ -153,8 +145,35 @@ public class MoneyReportServiceImpl implements MoneyReportService {
             }
         }else if ("customercheck".equals(type)){
             list = customerCheckViewMapper.selectByCondition(con, companyId);
-            if (!StringUtils.isEmpty(calculateFieldsSql)) {
-                res = customerCheckViewMapper.selectCalculateFields(calculateFieldsSql, con, companyId);
+//            if (!StringUtils.isEmpty(calculateFieldsSql)) {
+//                res = customerCheckViewMapper.selectCalculateFields(calculateFieldsSql, con, companyId);
+//            }
+            if (list.size() >0) {
+                CustomerCheckView customerCheckView = (CustomerCheckView) list.get(0);
+                Integer vid = new Integer(0);
+
+                vid = customerCheckViewMapper.getId(customerCheckView.getPi_custcode(), Long.valueOf(customerCheckView.getCompanyId()));
+                Integer ym = Integer.valueOf(req.getYm());
+                vendOrCustAdd = customerCheckViewMapper.selectCustAdd(vid, ym, Long.valueOf(customerCheckView.getCompanyId()));
+                vendOrCustAdd.setNowbalance((vendOrCustAdd.getBeginamount() == null ? new Double(0) : vendOrCustAdd.getBeginamount())
+                        + (vendOrCustAdd.getNowamount() == null ? new Double(0) : vendOrCustAdd.getNowamount())
+                        - (vendOrCustAdd.getNowpay() == null ? new Double(0) : vendOrCustAdd.getNowpay()));
+                //封装成list
+                Map<String, Double> map1 = new HashMap<>();
+                map1.put("beginamount", vendOrCustAdd.getBeginamount());
+                list1.add(map1);
+
+                Map<String, Double> map2 = new HashMap<>();
+                map2.put("nowamount", vendOrCustAdd.getNowamount());
+                list1.add(map2);
+
+                Map<String, Double> map3 = new HashMap<>();
+                map3.put("nowpay", vendOrCustAdd.getNowpay());
+                list1.add(map3);
+
+                Map<String, Double> map4 = new HashMap<>();
+                map4.put("nowbalance", vendOrCustAdd.getNowbalance());
+                list1.add(map4);
             }
         }else if ("accountdetails".equals(type)){
             list = accountDetailsViewMapper.selectByCondition(con, companyId);

+ 19 - 0
applications/money/money-server/src/main/resources/mapper/CustomerCheckViewMapper.xml

@@ -45,4 +45,23 @@
         </where>
     </select>
 
+
+    <resultMap id="BaseAddMap" type="com.usoftchina.saas.money.po.VendOrCustAdd" >
+        <result column="beginamount" property="beginamount" jdbcType="DOUBLE" />
+        <result column="nowamount" property="nowamount" jdbcType="DOUBLE" />
+        <result column="nowpay" property="beginamount" jdbcType="DOUBLE" />
+    </resultMap>
+    <select id="selectCustAdd" resultMap="BaseAddMap">
+    select distinct a.sl_orderamount as beginamount, b.sl_orderamount as nowamount, c.sl_orderamount as nowpay FROM
+(select sl_orderamount,sl_custid,sl_ym, companyid from subledger where sl_kind = '期初余额') a
+left join (select sum(sl_orderamount) sl_orderamount,sl_custid,sl_ym from subledger where sl_kind = '出货单' or sl_kind = '销售退货单'
+group by sl_custid,sl_ym) b on a.sl_custid=b.sl_custid
+left join (select sum(sl_orderamount) sl_orderamount,sl_custid,sl_ym from subledger where sl_kind = '收款单' or sl_kind = '其他收入单'
+group by sl_custid,sl_ym) c on a.sl_custid=c.sl_custid
+ where a.sl_custid=#{sl_custid,jdbcType=INTEGER} and a.sl_ym=#{sl_ym, jdbcType=INTEGER} and a.companyid = #{companyId}
+  </select>
+
+    <select id="getId" resultType="java.lang.Integer">
+    select cu_id from customer where cu_code = #{code} and companyId = #{companyId}
+  </select>
 </mapper>

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

@@ -49,13 +49,13 @@
   </select>
 
 
-  <resultMap id="BaseAddMap" type="com.usoftchina.saas.money.po.VendorAdd" >
+  <resultMap id="BaseAddMap" type="com.usoftchina.saas.money.po.VendOrCustAdd" >
     <result column="beginamount" property="beginamount" jdbcType="DOUBLE" />
     <result column="nowamount" property="nowamount" jdbcType="DOUBLE" />
     <result column="nowpay" property="beginamount" jdbcType="DOUBLE" />
   </resultMap>
   <select id="selectVendAdd" resultMap="BaseAddMap">
-    select a.sl_orderamount as beginamount, b.sl_orderamount as nowamount, c.sl_orderamount as nowpay FROM
+    select distinct a.sl_orderamount as beginamount, b.sl_orderamount as nowamount, c.sl_orderamount as nowpay FROM
 (select sl_orderamount,sl_vendid,sl_ym, companyid from subledger where sl_kind = '期初余额') a
 left join (select sum(sl_orderamount) sl_orderamount,sl_vendid,sl_ym from subledger where sl_kind = '采购验收单' or sl_kind = '采购验退单'
 group by sl_vendid,sl_ym) b on a.sl_vendid=b.sl_vendid