优化供应商客户金额统计

This commit is contained in:
季圣华
2021-07-09 00:09:09 +08:00
parent d72baacfd8
commit 07025a3881
5 changed files with 15 additions and 29 deletions

View File

@@ -211,9 +211,9 @@ public class DepotHeadController {
beginNeed = supplier.getBeginNeedPay();
}
BigDecimal firstMoney = depotHeadService.findTotalPay(organId, beginTime, supType)
.add(accountHeadService.findTotalPay(organId, beginTime, supType)).add(beginNeed);
.subtract(accountHeadService.findTotalPay(organId, beginTime, supType)).add(beginNeed);
BigDecimal lastMoney = depotHeadService.findTotalPay(organId, endTime, supType)
.add(accountHeadService.findTotalPay(organId, endTime, supType)).add(beginNeed);
.subtract(accountHeadService.findTotalPay(organId, endTime, supType)).add(beginNeed);
map.put("firstMoney", firstMoney); //期初
map.put("lastMoney", lastMoney); //期末
}

View File

@@ -313,7 +313,7 @@ public class AccountHeadService {
}
/**
* 查询单位的累计应收和累计应付,收预付款不计入此处
* 查询往来单位的累计应收和累计应付,只计入收款或付款
* @param supplierId
* @param endTime
* @param supType
@@ -322,17 +322,11 @@ public class AccountHeadService {
public BigDecimal findTotalPay(Integer supplierId, String endTime, String supType) {
BigDecimal sum = BigDecimal.ZERO;
String getS = supplierId.toString();
int i = 1;
if (("客户").equals(supType)) { //客户
i = 1;
sum = allMoney(getS, "收款", "合计",endTime);
} else if (("供应商").equals(supType)) { //供应商
i = -1;
sum = allMoney(getS, "付款", "合计",endTime);
}
//收付款部分
sum = sum.subtract((allMoney(getS, "收款", "合计",endTime)).multiply(new BigDecimal(i)));
sum = sum.add((allMoney(getS, "付款", "合计",endTime)).multiply(new BigDecimal(i)));
sum = sum.add((allMoney(getS, "收入", "合计",endTime).subtract(allMoney(getS, "收入", "实际",endTime))).multiply(new BigDecimal(i)));
sum = sum.subtract((allMoney(getS, "支出", "合计",endTime).subtract(allMoney(getS, "支出", "实际",endTime))).multiply(new BigDecimal(i)));
return sum;
}

View File

@@ -551,17 +551,11 @@ public class DepotHeadService {
public BigDecimal findTotalPay(Integer supplierId, String endTime, String supType) {
BigDecimal sum = BigDecimal.ZERO;
String getS = supplierId.toString();
int i = 1;
if (("客户").equals(supType)) { //客户
i = 1;
sum = allMoney(getS, "出库", "销售", "合计",endTime).subtract(allMoney(getS, "出库", "销售", "实际",endTime));
} else if (("供应商").equals(supType)) { //供应商
i = -1;
sum = allMoney(getS, "入库", "采购", "合计",endTime).subtract(allMoney(getS, "入库", "采购", "实际",endTime));
}
//进销部分
sum = sum.subtract((allMoney(getS, "入库", "采购", "合计",endTime).subtract(allMoney(getS, "入库", "采购", "实际",endTime))).multiply(new BigDecimal(i)));
sum = sum.subtract((allMoney(getS, "入库", "销售退货", "合计",endTime).subtract(allMoney(getS, "入库", "销售退货", "实际",endTime))).multiply(new BigDecimal(i)));
sum = sum.add((allMoney(getS, "出库", "销售", "合计",endTime).subtract(allMoney(getS, "出库", "销售", "实际",endTime))).multiply(new BigDecimal(i)));
sum = sum.add((allMoney(getS, "出库", "采购退货", "合计",endTime).subtract(allMoney(getS, "出库", "采购退货", "实际",endTime))).multiply(new BigDecimal(i)));
return sum;
}

View File

@@ -105,15 +105,13 @@ public class SupplierService {
if(beginNeedPay==null) {
beginNeedPay = BigDecimal.ZERO;
}
sum = sum.add(depotHeadService.findTotalPay(supplierId, endTime, supType));
sum = sum.add(accountHeadService.findTotalPay(supplierId, endTime, supType));
sum = sum.add(depotHeadService.findTotalPay(supplierId, endTime, supType))
.subtract(accountHeadService.findTotalPay(supplierId, endTime, supType));
if(("客户").equals(s.getType())) {
sum = sum.add(beginNeedGet).subtract(beginNeedPay);
sum = sum.add(beginNeedGet);
s.setAllNeedGet(sum);
s.setAllNeedPay(BigDecimal.ZERO);
} else if(("供应商").equals(s.getType())) {
sum = sum.add(beginNeedPay).subtract(beginNeedGet);
s.setAllNeedGet(BigDecimal.ZERO);
sum = sum.add(beginNeedPay);
s.setAllNeedPay(sum);
}
resList.add(s);