在供应商和客户列表增加期末应收和期末应付的计算
This commit is contained in:
@@ -76,6 +76,8 @@
|
|||||||
{ title: '预付款',field: 'advancein',width:70,align:"center"},
|
{ title: '预付款',field: 'advancein',width:70,align:"center"},
|
||||||
{ title: '期初应收',field: 'beginneedget',width:70,align:"center"},
|
{ title: '期初应收',field: 'beginneedget',width:70,align:"center"},
|
||||||
{ title: '期初应付',field: 'beginneedpay',width:70,align:"center"},
|
{ title: '期初应付',field: 'beginneedpay',width:70,align:"center"},
|
||||||
|
{ title: '期末应收',field: 'allneedget',width:70,align:"center"},
|
||||||
|
{ title: '期末应付',field: 'allneedpay',width:70,align:"center"},
|
||||||
{ title: '税率(%)', field: 'taxrate',width:50,align:"center"},
|
{ title: '税率(%)', field: 'taxrate',width:50,align:"center"},
|
||||||
{ title: '状态',field: 'enabled',width:70,align:"center",formatter:function(value){
|
{ title: '状态',field: 'enabled',width:70,align:"center",formatter:function(value){
|
||||||
return value? "启用":"禁用";
|
return value? "启用":"禁用";
|
||||||
|
|||||||
@@ -73,19 +73,7 @@ public class AccountHeadController {
|
|||||||
Map<String, Object> map = new HashMap<String, Object>();
|
Map<String, Object> map = new HashMap<String, Object>();
|
||||||
try {
|
try {
|
||||||
JSONObject outer = new JSONObject();
|
JSONObject outer = new JSONObject();
|
||||||
BigDecimal sum = BigDecimal.ZERO;
|
BigDecimal sum = accountHeadService.findTotalPay(supplierId, endTime, supType);
|
||||||
String getS = supplierId.toString();
|
|
||||||
int i = 1;
|
|
||||||
if (supType.equals("customer")) { //客户
|
|
||||||
i = 1;
|
|
||||||
} else if (supType.equals("vendor")) { //供应商
|
|
||||||
i = -1;
|
|
||||||
}
|
|
||||||
//收付款部分
|
|
||||||
sum = sum.add((allMoney(getS, "付款", "合计",endTime).add(allMoney(getS, "付款", "实际",endTime))).multiply(new BigDecimal(i)));
|
|
||||||
sum = sum.subtract((allMoney(getS, "收款", "合计",endTime).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)));
|
|
||||||
outer.put("getAllMoney", sum);
|
outer.put("getAllMoney", sum);
|
||||||
map.put("rows", outer);
|
map.put("rows", outer);
|
||||||
res.code = 200;
|
res.code = 200;
|
||||||
@@ -124,31 +112,6 @@ public class AccountHeadController {
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* 统计总金额
|
|
||||||
* @param getS
|
|
||||||
* @param type
|
|
||||||
* @param mode 合计或者金额
|
|
||||||
* @param endTime
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public BigDecimal allMoney(String getS, String type, String mode, String endTime)throws Exception {
|
|
||||||
BigDecimal allMoney = BigDecimal.ZERO;
|
|
||||||
try {
|
|
||||||
Integer supplierId = Integer.valueOf(getS);
|
|
||||||
BigDecimal sum = accountHeadService.findAllMoney(supplierId, type, mode, endTime);
|
|
||||||
if(sum != null) {
|
|
||||||
allMoney = sum;
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
//返回正数,如果负数也转为正数
|
|
||||||
if ((allMoney.compareTo(BigDecimal.ZERO))==-1) {
|
|
||||||
allMoney = allMoney.abs();
|
|
||||||
}
|
|
||||||
return allMoney;
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* create by: qiankunpingtai
|
* create by: qiankunpingtai
|
||||||
* website:https://qiankunpingtai.cn
|
* website:https://qiankunpingtai.cn
|
||||||
|
|||||||
@@ -343,19 +343,7 @@ public class DepotHeadController {
|
|||||||
Map<String, Object> map = new HashMap<String, Object>();
|
Map<String, Object> map = new HashMap<String, Object>();
|
||||||
try {
|
try {
|
||||||
JSONObject outer = new JSONObject();
|
JSONObject outer = new JSONObject();
|
||||||
BigDecimal sum = BigDecimal.ZERO;
|
BigDecimal sum = depotHeadService.findTotalPay(supplierId, endTime, supType);
|
||||||
String getS = supplierId.toString();
|
|
||||||
int i = 1;
|
|
||||||
if (supType.equals("customer")) { //客户
|
|
||||||
i = 1;
|
|
||||||
} else if (supType.equals("vendor")) { //供应商
|
|
||||||
i = -1;
|
|
||||||
}
|
|
||||||
//进销部分
|
|
||||||
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)));
|
|
||||||
outer.put("getAllMoney", sum);
|
outer.put("getAllMoney", sum);
|
||||||
map.put("rows", outer);
|
map.put("rows", outer);
|
||||||
res.code = 200;
|
res.code = 200;
|
||||||
@@ -394,32 +382,6 @@ public class DepotHeadController {
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 统计总金额
|
|
||||||
* @param getS
|
|
||||||
* @param type
|
|
||||||
* @param subType
|
|
||||||
* @param mode 合计或者金额
|
|
||||||
* @return
|
|
||||||
*/
|
|
||||||
public BigDecimal allMoney(String getS, String type, String subType, String mode, String endTime)throws Exception {
|
|
||||||
BigDecimal allMoney = BigDecimal.ZERO;
|
|
||||||
try {
|
|
||||||
Integer supplierId = Integer.valueOf(getS);
|
|
||||||
BigDecimal sum = depotHeadService.findAllMoney(supplierId, type, subType, mode, endTime);
|
|
||||||
if(sum != null) {
|
|
||||||
allMoney = sum;
|
|
||||||
}
|
|
||||||
} catch (Exception e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
//返回正数,如果负数也转为正数
|
|
||||||
if ((allMoney.compareTo(BigDecimal.ZERO))==-1) {
|
|
||||||
allMoney = allMoney.abs();
|
|
||||||
}
|
|
||||||
return allMoney;
|
|
||||||
}
|
|
||||||
/**
|
/**
|
||||||
* create by: cjl
|
* create by: cjl
|
||||||
* description:
|
* description:
|
||||||
|
|||||||
@@ -216,6 +216,56 @@ public class AccountHeadService {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计总金额
|
||||||
|
* @param getS
|
||||||
|
* @param type
|
||||||
|
* @param mode 合计或者金额
|
||||||
|
* @param endTime
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public BigDecimal allMoney(String getS, String type, String mode, String endTime) {
|
||||||
|
BigDecimal allMoney = BigDecimal.ZERO;
|
||||||
|
try {
|
||||||
|
Integer supplierId = Integer.valueOf(getS);
|
||||||
|
BigDecimal sum = findAllMoney(supplierId, type, mode, endTime);
|
||||||
|
if(sum != null) {
|
||||||
|
allMoney = sum;
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
//返回正数,如果负数也转为正数
|
||||||
|
if ((allMoney.compareTo(BigDecimal.ZERO))==-1) {
|
||||||
|
allMoney = allMoney.abs();
|
||||||
|
}
|
||||||
|
return allMoney;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询单位的累计应收和累计应付,收预付款不计入此处
|
||||||
|
* @param supplierId
|
||||||
|
* @param endTime
|
||||||
|
* @param supType
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public BigDecimal findTotalPay(Integer supplierId, String endTime, String supType) {
|
||||||
|
BigDecimal sum = BigDecimal.ZERO;
|
||||||
|
String getS = supplierId.toString();
|
||||||
|
int i = 1;
|
||||||
|
if (("customer").equals(supType)) { //客户
|
||||||
|
i = 1;
|
||||||
|
} else if (("vendor").equals(supType)) { //供应商
|
||||||
|
i = -1;
|
||||||
|
}
|
||||||
|
//收付款部分
|
||||||
|
sum = sum.add((allMoney(getS, "付款", "合计",endTime).add(allMoney(getS, "付款", "实际",endTime))).multiply(new BigDecimal(i)));
|
||||||
|
sum = sum.subtract((allMoney(getS, "收款", "合计",endTime).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;
|
||||||
|
}
|
||||||
|
|
||||||
public List<AccountHeadVo4ListEx> getDetailByNumber(String billNo)throws Exception {
|
public List<AccountHeadVo4ListEx> getDetailByNumber(String billNo)throws Exception {
|
||||||
List<AccountHeadVo4ListEx> resList = new ArrayList<AccountHeadVo4ListEx>();
|
List<AccountHeadVo4ListEx> resList = new ArrayList<AccountHeadVo4ListEx>();
|
||||||
List<AccountHeadVo4ListEx> list = null;
|
List<AccountHeadVo4ListEx> list = null;
|
||||||
|
|||||||
@@ -446,6 +446,56 @@ public class DepotHeadService {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 统计总金额
|
||||||
|
* @param getS
|
||||||
|
* @param type
|
||||||
|
* @param subType
|
||||||
|
* @param mode 合计或者金额
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public BigDecimal allMoney(String getS, String type, String subType, String mode, String endTime) {
|
||||||
|
BigDecimal allMoney = BigDecimal.ZERO;
|
||||||
|
try {
|
||||||
|
Integer supplierId = Integer.valueOf(getS);
|
||||||
|
BigDecimal sum = findAllMoney(supplierId, type, subType, mode, endTime);
|
||||||
|
if(sum != null) {
|
||||||
|
allMoney = sum;
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
//返回正数,如果负数也转为正数
|
||||||
|
if ((allMoney.compareTo(BigDecimal.ZERO))==-1) {
|
||||||
|
allMoney = allMoney.abs();
|
||||||
|
}
|
||||||
|
return allMoney;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询单位的累计应收和累计应付,零售不能计入
|
||||||
|
* @param supplierId
|
||||||
|
* @param endTime
|
||||||
|
* @param supType
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public BigDecimal findTotalPay(Integer supplierId, String endTime, String supType) {
|
||||||
|
BigDecimal sum = BigDecimal.ZERO;
|
||||||
|
String getS = supplierId.toString();
|
||||||
|
int i = 1;
|
||||||
|
if (("customer").equals(supType)) { //客户
|
||||||
|
i = 1;
|
||||||
|
} else if (("vendor").equals(supType)) { //供应商
|
||||||
|
i = -1;
|
||||||
|
}
|
||||||
|
//进销部分
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
public List<DepotHeadVo4List> getDetailByNumber(String number)throws Exception {
|
public List<DepotHeadVo4List> getDetailByNumber(String number)throws Exception {
|
||||||
List<DepotHeadVo4List> resList = new ArrayList<DepotHeadVo4List>();
|
List<DepotHeadVo4List> resList = new ArrayList<DepotHeadVo4List>();
|
||||||
List<DepotHeadVo4List> list = null;
|
List<DepotHeadVo4List> list = null;
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import com.jsh.erp.datasource.mappers.DepotHeadMapperEx;
|
|||||||
import com.jsh.erp.datasource.mappers.SupplierMapper;
|
import com.jsh.erp.datasource.mappers.SupplierMapper;
|
||||||
import com.jsh.erp.datasource.mappers.SupplierMapperEx;
|
import com.jsh.erp.datasource.mappers.SupplierMapperEx;
|
||||||
import com.jsh.erp.exception.BusinessRunTimeException;
|
import com.jsh.erp.exception.BusinessRunTimeException;
|
||||||
|
import com.jsh.erp.service.accountHead.AccountHeadService;
|
||||||
|
import com.jsh.erp.service.depotHead.DepotHeadService;
|
||||||
import com.jsh.erp.service.log.LogService;
|
import com.jsh.erp.service.log.LogService;
|
||||||
import com.jsh.erp.service.user.UserService;
|
import com.jsh.erp.service.user.UserService;
|
||||||
import com.jsh.erp.utils.BaseResponseInfo;
|
import com.jsh.erp.utils.BaseResponseInfo;
|
||||||
@@ -24,10 +26,9 @@ import org.springframework.web.context.request.ServletRequestAttributes;
|
|||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.Date;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.List;
|
import static com.jsh.erp.utils.Tools.getNow3;
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
@Service
|
@Service
|
||||||
public class SupplierService {
|
public class SupplierService {
|
||||||
@@ -46,6 +47,10 @@ public class SupplierService {
|
|||||||
private AccountHeadMapperEx accountHeadMapperEx;
|
private AccountHeadMapperEx accountHeadMapperEx;
|
||||||
@Resource
|
@Resource
|
||||||
private DepotHeadMapperEx depotHeadMapperEx;
|
private DepotHeadMapperEx depotHeadMapperEx;
|
||||||
|
@Resource
|
||||||
|
private DepotHeadService depotHeadService;
|
||||||
|
@Resource
|
||||||
|
private AccountHeadService accountHeadService;
|
||||||
|
|
||||||
public Supplier getSupplier(long id)throws Exception {
|
public Supplier getSupplier(long id)throws Exception {
|
||||||
Supplier result=null;
|
Supplier result=null;
|
||||||
@@ -77,16 +82,47 @@ public class SupplierService {
|
|||||||
|
|
||||||
public List<Supplier> select(String supplier, String type, String phonenum,
|
public List<Supplier> select(String supplier, String type, String phonenum,
|
||||||
String telephone, String description, int offset, int rows) throws Exception{
|
String telephone, String description, int offset, int rows) throws Exception{
|
||||||
List<Supplier> list=null;
|
List<Supplier> resList = new ArrayList<Supplier>();
|
||||||
try{
|
try{
|
||||||
list=supplierMapperEx.selectByConditionSupplier(supplier, type, phonenum, telephone, description, offset, rows);
|
List<Supplier> list = supplierMapperEx.selectByConditionSupplier(supplier, type, phonenum, telephone, description, offset, rows);
|
||||||
|
for(Supplier s : list) {
|
||||||
|
Integer supplierId = s.getId().intValue();
|
||||||
|
String endTime = getNow3();
|
||||||
|
String supType = null;
|
||||||
|
if(("客户").equals(s.getType())) {
|
||||||
|
supType = "customer";
|
||||||
|
} else if(("供应商").equals(s.getType())) {
|
||||||
|
supType = "vendor";
|
||||||
|
}
|
||||||
|
BigDecimal sum = BigDecimal.ZERO;
|
||||||
|
BigDecimal beginNeedGet = s.getBeginneedget();
|
||||||
|
if(beginNeedGet==null) {
|
||||||
|
beginNeedGet = BigDecimal.ZERO;
|
||||||
|
}
|
||||||
|
BigDecimal beginNeedPay = s.getBeginneedpay();
|
||||||
|
if(beginNeedPay==null) {
|
||||||
|
beginNeedPay = BigDecimal.ZERO;
|
||||||
|
}
|
||||||
|
sum = sum.add(depotHeadService.findTotalPay(supplierId, endTime, supType));
|
||||||
|
sum = sum.add(accountHeadService.findTotalPay(supplierId, endTime, supType));
|
||||||
|
if(("客户").equals(s.getType())) {
|
||||||
|
sum = sum.add(beginNeedGet).subtract(beginNeedPay);
|
||||||
|
s.setAllneedget(sum);
|
||||||
|
s.setAllneedpay(BigDecimal.ZERO);
|
||||||
|
} else if(("供应商").equals(s.getType())) {
|
||||||
|
sum = sum.add(beginNeedPay).subtract(beginNeedGet);
|
||||||
|
s.setAllneedget(BigDecimal.ZERO);
|
||||||
|
s.setAllneedpay(sum);
|
||||||
|
}
|
||||||
|
resList.add(s);
|
||||||
|
}
|
||||||
}catch(Exception e){
|
}catch(Exception e){
|
||||||
logger.error("异常码[{}],异常提示[{}],异常[{}]",
|
logger.error("异常码[{}],异常提示[{}],异常[{}]",
|
||||||
ExceptionConstants.DATA_READ_FAIL_CODE,ExceptionConstants.DATA_READ_FAIL_MSG,e);
|
ExceptionConstants.DATA_READ_FAIL_CODE,ExceptionConstants.DATA_READ_FAIL_MSG,e);
|
||||||
throw new BusinessRunTimeException(ExceptionConstants.DATA_READ_FAIL_CODE,
|
throw new BusinessRunTimeException(ExceptionConstants.DATA_READ_FAIL_CODE,
|
||||||
ExceptionConstants.DATA_READ_FAIL_MSG);
|
ExceptionConstants.DATA_READ_FAIL_MSG);
|
||||||
}
|
}
|
||||||
return list;
|
return resList;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Long countSupplier(String supplier, String type, String phonenum, String telephone, String description) throws Exception{
|
public Long countSupplier(String supplier, String type, String phonenum, String telephone, String description) throws Exception{
|
||||||
|
|||||||
Reference in New Issue
Block a user