Przeglądaj źródła

feat: 筛选符合条件的对账数据逻辑更新,增加应收对账和本次对账金额

hejq 7 lat temu
rodzic
commit
fe9342fef0

+ 3 - 2
src/main/java/com/uas/platform/b2b/controller/SaleApCheckController.java

@@ -3,6 +3,7 @@ package com.uas.platform.b2b.controller;
 import com.alibaba.fastjson.JSONObject;
 import com.uas.platform.b2b.model.ApcheckKeyWord;
 import com.uas.platform.b2b.model.ErpProdIODetail;
+import com.uas.platform.b2b.model.ErpProdIo;
 import com.uas.platform.b2b.model.OrderType;
 import com.uas.platform.b2b.model.PurchaseApCheck;
 import com.uas.platform.b2b.model.PurchaseApCheckItem;
@@ -182,10 +183,10 @@ public class SaleApCheckController {
 	 * 
 	 * @param fromDate 开始时间
 	 * @param endDate 截止时间
-	 * @return List<ErpProdIODetail>
+	 * @return List<ErpProdIo>
 	 */
 	@RequestMapping(value = "/getAllByKeywords", method = RequestMethod.GET)
-	public List<ErpProdIODetail> getAllApchecksByDate(Long fromDate, Long endDate, ApcheckKeyWord searchKeyWord, String checkDate) {
+	public ErpProdIo getAllApchecksByDate(Long fromDate, Long endDate, ApcheckKeyWord searchKeyWord, String checkDate) {
 		List<Long> distributes = null;
 		// 判断当前用户是否被客户分配
 		if (!SystemSession.getUser().isSys()) {

+ 13 - 0
src/main/java/com/uas/platform/b2b/model/ApcheckKeyWord.java

@@ -20,6 +20,11 @@ public class ApcheckKeyWord {
      */
     private String suuorname;
 
+    /**
+     * 客户UU
+     */
+    private Long customerUU;
+
     /**
      * 送货工厂
      */
@@ -56,6 +61,14 @@ public class ApcheckKeyWord {
         this.suuorname = suuorname;
     }
 
+    public Long getCustomerUU() {
+        return customerUU;
+    }
+
+    public void setCustomerUU(Long customerUU) {
+        this.customerUU = customerUU;
+    }
+
     public String getFactory() {
         return factory;
     }

+ 53 - 0
src/main/java/com/uas/platform/b2b/model/ErpProdIo.java

@@ -0,0 +1,53 @@
+package com.uas.platform.b2b.model;
+
+import com.uas.platform.b2b.publicapi.model.TradeCount;
+
+import java.util.List;
+
+/**
+ * ERP出入库单
+ *
+ * @author hejq
+ * @date 2018-12-11 18:32
+ */
+public class ErpProdIo {
+
+    /**
+     * 应收对账单数据
+     */
+    private List<ErpProdIODetail> details;
+
+    /**
+     * 本月应收(前端传入指定月份)
+     */
+    private List<TradeCount> thisMonthCount;
+
+    /**
+     * 应收总额
+     */
+    private List<TradeCount> totalCount;
+
+    public List<ErpProdIODetail> getDetails() {
+        return details;
+    }
+
+    public void setDetails(List<ErpProdIODetail> details) {
+        this.details = details;
+    }
+
+    public List<TradeCount> getThisMonthCount() {
+        return thisMonthCount;
+    }
+
+    public void setThisMonthCount(List<TradeCount> thisMonthCount) {
+        this.thisMonthCount = thisMonthCount;
+    }
+
+    public List<TradeCount> getTotalCount() {
+        return totalCount;
+    }
+
+    public void setTotalCount(List<TradeCount> totalCount) {
+        this.totalCount = totalCount;
+    }
+}

+ 2 - 2
src/main/java/com/uas/platform/b2b/service/ErpProdIODetailService.java

@@ -1,7 +1,7 @@
 package com.uas.platform.b2b.service;
 
 import com.uas.platform.b2b.model.ApcheckKeyWord;
-import com.uas.platform.b2b.model.ErpProdIODetail;
+import com.uas.platform.b2b.model.ErpProdIo;
 
 import java.util.List;
 
@@ -23,6 +23,6 @@ public interface ErpProdIODetailService {
      * @param checkDate 对账月份
 	 * @return 符合条件的数据
 	 */
-	List<ErpProdIODetail> findXlsApChecks(List<Long> filter, ApcheckKeyWord keyWord, Long fromDate, Long endDate, String checkDate);
+    ErpProdIo findXlsApChecks(List<Long> filter, ApcheckKeyWord keyWord, Long fromDate, Long endDate, String checkDate);
 	
 }

+ 22 - 0
src/main/java/com/uas/platform/b2b/service/PurchaseApCheckService.java

@@ -6,6 +6,7 @@ import com.uas.platform.b2b.model.PurchaseApCheckItem;
 import com.uas.platform.b2b.model.PurchaseApCheckTodo;
 import com.uas.platform.b2b.model.SearchFilter;
 import com.uas.platform.b2b.model.Vendor;
+import com.uas.platform.b2b.publicapi.model.TradeCount;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.PageParams;
 import com.uas.search.b2b.model.SPage;
@@ -142,4 +143,25 @@ public interface PurchaseApCheckService {
      * @return 搜索结果
      */
     SPage<Vendor> getCustomerInfo(PageParams params, String keyword, String checkDate,  Long fromDate, Long endDate);
+
+    /**
+     * 获取总的应收金额
+     *
+     * @param enUU 企业UU
+     * @param customerUU 客户企业UU
+     * @return 统计结果
+     */
+    List<TradeCount> getDueTrade(Long enUU, Long customerUU);
+
+    /**
+     * 获取指定月份应收金额
+     *
+     * @param enUU 企业UU
+     * @param customerUU 客户企业UU
+     * @param checkDate 筛选月份
+     * @param fromDate 开始时间
+     * @param endDate 截止时间
+     * @return 统计结果
+     */
+    List<TradeCount> getThisMonthTrade(Long enUU, Long customerUU, String checkDate, Long fromDate, Long endDate);
 }

+ 18 - 2
src/main/java/com/uas/platform/b2b/service/impl/ErpProdIODetailServiceImpl.java

@@ -5,7 +5,10 @@ import com.uas.platform.b2b.core.util.DateUtils;
 import com.uas.platform.b2b.dao.CommonDao;
 import com.uas.platform.b2b.model.ApcheckKeyWord;
 import com.uas.platform.b2b.model.ErpProdIODetail;
+import com.uas.platform.b2b.model.ErpProdIo;
+import com.uas.platform.b2b.publicapi.model.TradeCount;
 import com.uas.platform.b2b.service.ErpProdIODetailService;
+import com.uas.platform.b2b.service.PurchaseApCheckService;
 import com.uas.platform.b2b.support.SystemSession;
 import com.uas.platform.core.exception.IllegalOperatorException;
 import org.apache.axis.utils.StringUtils;
@@ -30,8 +33,11 @@ public class ErpProdIODetailServiceImpl implements ErpProdIODetailService {
 	@Autowired
 	private CommonDao commonDao;
 
+	@Autowired
+    private PurchaseApCheckService apCheckService;
+
 	@Override
-	public List<ErpProdIODetail> findXlsApChecks(List<Long> filter, ApcheckKeyWord keyword, Long fromDate, Long endDate, String checkDate) {
+	public ErpProdIo findXlsApChecks(List<Long> filter, ApcheckKeyWord keyword, Long fromDate, Long endDate, String checkDate) {
 		Long enUU = SystemSession.getUser().getEnterprise().getUu();
         StringBuffer distributes = new StringBuffer();
         String sqlFromDate;
@@ -91,7 +97,17 @@ public class ErpProdIODetailServiceImpl implements ErpProdIODetailService {
         details.addAll(badOuts);
         details.addAll(makeAccepts);
         details.addAll(makeReturns);
-		return details;
+        ErpProdIo erpProdIo = new ErpProdIo();
+        erpProdIo.setDetails(details);
+        // 应收总额
+        List<TradeCount> totalTrades = apCheckService.getDueTrade(enUU, keyword.getCustomerUU());
+        erpProdIo.setTotalCount(totalTrades);
+        // 本月应收
+        if (null != checkDate) {
+            List<TradeCount> thisMonthTrades = apCheckService.getThisMonthTrade(enUU, keyword.getCustomerUU(), checkDate, fromDate, endDate);
+            erpProdIo.setThisMonthCount(thisMonthTrades);
+        }
+		return erpProdIo;
 	}
 
     /**

+ 4 - 2
src/main/java/com/uas/platform/b2b/service/impl/PurchaseApCheckServiceImpl.java

@@ -539,7 +539,8 @@ public class PurchaseApCheckServiceImpl implements PurchaseApCheckService {
      * @param endDate 截止时间
      * @return 统计结果
      */
-    private List<TradeCount> getThisMonthTrade(Long enUU, Long customerUU, String checkDate, Long fromDate, Long endDate) {
+    @Override
+    public List<TradeCount> getThisMonthTrade(Long enUU, Long customerUU, String checkDate, Long fromDate, Long endDate) {
         String sqlFromDate;
         String sqlEndDate;
         /*
@@ -615,7 +616,8 @@ public class PurchaseApCheckServiceImpl implements PurchaseApCheckService {
      * @param customerUU 客户企业UU
      * @return 统计结果
      */
-    private List<TradeCount> getDueTrade(Long enUU, Long customerUU) {
+    @Override
+    public List<TradeCount> getDueTrade(Long enUU, Long customerUU) {
         List<TradeCount> totalTrades = new ArrayList<>();
         ThreadUtils
             // 货款调账

+ 9 - 6
src/main/webapp/resources/js/index/app.js

@@ -9858,8 +9858,9 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
         $scope.showNotCheck = false
         $scope.goToMNs = function(item) {
             $scope.chooseItem = item;
-            $scope.showNotCheck = true
-            $scope.suuorname = item.myEnterprise.enName
+            $scope.showNotCheck = true;
+            $scope.suuorname = item.myEnterprise.enName;
+            $scope.customerUU = item.myEnterprise.uu;
             this.searchOrder()
         }
 
@@ -9902,7 +9903,8 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
                     prodTitle: $scope.prodTitle,
                     prodSpec: $scope.prodSpec,
                     taxRate: $scope.taxRate,
-                    suuorname: $scope.suuorname
+                    suuorname: $scope.suuorname,
+                    customerUU: $scope.customerUU
                 }
                 $scope.exportKeywords = encodeURIComponent($scope.searchKeyWord);
                 // $scope.fromDateXls = angular.copy($scope.condition.dateFrom ? $scope.condition.dateFrom.getTime() : null);//保存当前取值的起始日期
@@ -9921,10 +9923,11 @@ define(['toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
                         prodSpec: $scope.prodSpec,
                         taxRate: $scope.taxRate,
                         checkDate: $scope.thisMouth,
-                        suuorname: $scope.suuorname
+                        suuorname: $scope.suuorname,
+                        customerUU: $scope.customerUU
                     }, function (data) {
-                        if (data.length > 0) {
-                            angular.forEach(data, function (item) {
+                        if (data.details.length > 0) {
+                            angular.forEach(data.details, function (item) {
                                 item.$selected = true;
                             });
                             $scope.data = data;

+ 0 - 2
src/main/webapp/resources/js/index/services/Fa.js

@@ -26,7 +26,6 @@ define([ 'ngResource'], function() {
 			getAllByKeywords: {
 				url: 'sale/apBillOut/getAllByKeywords',
 				method: 'GET',
-				isArray: true
 			},getDoneApCheckByKeywords: {
 				url: 'sale/apBillOut/getDoneByKeywords',
 				method: 'GET',
@@ -129,7 +128,6 @@ define([ 'ngResource'], function() {
 			getAllByKeywords: {
 				url: 'sale/apCheck/getAllByKeywords',
 				method: 'GET',
-				isArray: true
 			},
 			saveApCheck: {
 				url : 'sale/apCheck/operation/save',