Commit 9f2be3b8 authored by 季圣华's avatar 季圣华
Browse files

解决bug:会员的预付款能扣成负的

parent b201858e
......@@ -132,6 +132,9 @@ public class DepotHeadService {
if(dh.getTotalPrice() != null) {
dh.setTotalPrice(dh.getTotalPrice().abs());
}
if(dh.getDeposit() == null) {
dh.setDeposit(BigDecimal.ZERO);
}
if(StringUtil.isNotEmpty(dh.getSalesMan())) {
dh.setSalesManStr(personService.getPersonByMapAndIds(personMap,dh.getSalesMan()));
}
......@@ -750,7 +753,13 @@ public class DepotHeadService {
/**入库和出库处理预付款信息*/
if(BusinessConstants.PAY_TYPE_PREPAID.equals(depotHead.getPayType())){
if(depotHead.getOrganId()!=null) {
supplierService.updateAdvanceIn(depotHead.getOrganId(), BigDecimal.ZERO.subtract(depotHead.getTotalPrice()));
BigDecimal currentAdvanceIn = supplierService.getSupplier(depotHead.getOrganId()).getAdvanceIn();
if(currentAdvanceIn.compareTo(depotHead.getTotalPrice())>=0) {
supplierService.updateAdvanceIn(depotHead.getOrganId(), BigDecimal.ZERO.subtract(depotHead.getTotalPrice()));
} else {
throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_MEMBER_PAY_LACK_CODE,
String.format(ExceptionConstants.DEPOT_HEAD_MEMBER_PAY_LACK_MSG));
}
}
}
//根据单据编号查询单据id
......@@ -817,7 +826,13 @@ public class DepotHeadService {
/**入库和出库处理预付款信息*/
if(BusinessConstants.PAY_TYPE_PREPAID.equals(depotHead.getPayType())){
if(depotHead.getOrganId()!=null){
supplierService.updateAdvanceIn(depotHead.getOrganId(), BigDecimal.ZERO.subtract(depotHead.getTotalPrice().subtract(preTotalPrice)));
BigDecimal currentAdvanceIn = supplierService.getSupplier(depotHead.getOrganId()).getAdvanceIn();
if(currentAdvanceIn.compareTo(depotHead.getTotalPrice())>=0) {
supplierService.updateAdvanceIn(depotHead.getOrganId(), BigDecimal.ZERO.subtract(depotHead.getTotalPrice().subtract(preTotalPrice)));
} else {
throw new BusinessRunTimeException(ExceptionConstants.DEPOT_HEAD_MEMBER_PAY_LACK_CODE,
String.format(ExceptionConstants.DEPOT_HEAD_MEMBER_PAY_LACK_MSG));
}
}
}
/**入库和出库处理单据子表信息*/
......@@ -937,6 +952,9 @@ public class DepotHeadService {
if(dh.getTotalPrice() != null) {
dh.setTotalPrice(dh.getTotalPrice().abs());
}
if(dh.getDeposit() == null) {
dh.setDeposit(BigDecimal.ZERO);
}
if(dh.getOperTime() != null) {
dh.setOperTimeStr(getCenternTime(dh.getOperTime()));
}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment