|
|
@@ -473,7 +473,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
item.setUpdateUserName(AuthUtil.getUserName());
|
|
|
}
|
|
|
}
|
|
|
- if (!recordList.isEmpty()){
|
|
|
+ if (!recordList.isEmpty()) {
|
|
|
recordService.saveBatch(recordList);
|
|
|
}
|
|
|
agentItemsService.saveOrUpdateBatch(agent.getAgentItemsList());
|
|
|
@@ -2020,8 +2020,7 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
data.setStlAmountCrLoc(item.getAmount());
|
|
|
}
|
|
|
finAccBillsService.saveOrUpdate(data);
|
|
|
- }
|
|
|
- else {
|
|
|
+ } else {
|
|
|
if ("D".equals(item.getDc())) {
|
|
|
data.setStlAmountDr(item.getAmount());
|
|
|
data.setStlAmountCr(new BigDecimal("0.00"));
|
|
|
@@ -4235,12 +4234,30 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
String serviceCharge = sysClient.getParamServiceByDept("service.charge", AuthUtil.getTenantId(), AuthUtil.getDeptId());
|
|
|
if (ObjectUtils.isNotNull(serviceCharge)) {
|
|
|
BigDecimal serviceChargeAmount = new BigDecimal("1").divide(new BigDecimal(serviceCharge), serviceCharge.length(), RoundingMode.HALF_UP);
|
|
|
- feeCenter.setPrice(prepaidAmount.multiply(serviceChargeAmount));
|
|
|
- feeCenter.setAmount(prepaidAmount.multiply(serviceChargeAmount));
|
|
|
+ BigDecimal amount = serviceChargeAmount.multiply(prepaidAmount).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ if (amount.compareTo(new BigDecimal("1000")) > 0) {
|
|
|
+ feeCenter.setPrice(new BigDecimal("1000"));
|
|
|
+ feeCenter.setAmount(new BigDecimal("1000"));
|
|
|
+ } else if (amount.compareTo(new BigDecimal("50")) < 0) {
|
|
|
+ feeCenter.setPrice(new BigDecimal("50"));
|
|
|
+ feeCenter.setAmount(new BigDecimal("50"));
|
|
|
+ } else {
|
|
|
+ feeCenter.setPrice(amount);
|
|
|
+ feeCenter.setAmount(amount);
|
|
|
+ }
|
|
|
} else {
|
|
|
BigDecimal serviceChargeAmount = new BigDecimal("1").divide(new BigDecimal("1000"), serviceCharge.length(), RoundingMode.HALF_UP);
|
|
|
- feeCenter.setPrice(prepaidAmount.multiply(serviceChargeAmount));
|
|
|
- feeCenter.setAmount(prepaidAmount.multiply(serviceChargeAmount));
|
|
|
+ BigDecimal amount = serviceChargeAmount.multiply(prepaidAmount).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ if (amount.compareTo(new BigDecimal("1000")) > 0) {
|
|
|
+ feeCenter.setPrice(new BigDecimal("1000"));
|
|
|
+ feeCenter.setAmount(new BigDecimal("1000"));
|
|
|
+ } else if (amount.compareTo(new BigDecimal("50")) < 0) {
|
|
|
+ feeCenter.setPrice(new BigDecimal("50"));
|
|
|
+ feeCenter.setAmount(new BigDecimal("50"));
|
|
|
+ } else {
|
|
|
+ feeCenter.setPrice(amount);
|
|
|
+ feeCenter.setAmount(amount);
|
|
|
+ }
|
|
|
}
|
|
|
return feeCenter;
|
|
|
} else if ("YFK".equals(type)) {
|
|
|
@@ -4351,12 +4368,30 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
String serviceCharge = sysClient.getParamServiceByDept("service.charge", AuthUtil.getTenantId(), AuthUtil.getDeptId());
|
|
|
if (ObjectUtils.isNotNull(serviceCharge)) {
|
|
|
BigDecimal serviceChargeAmount = new BigDecimal("1").divide(new BigDecimal(serviceCharge), serviceCharge.length(), RoundingMode.HALF_UP);
|
|
|
- feeCenter.setPrice(prepaidAmount.multiply(serviceChargeAmount));
|
|
|
- feeCenter.setAmount(prepaidAmount.multiply(serviceChargeAmount));
|
|
|
+ BigDecimal amountServiceCharge = serviceChargeAmount.multiply(prepaidAmount).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ if (amountServiceCharge.compareTo(new BigDecimal("1000")) > 0) {
|
|
|
+ feeCenter.setPrice(new BigDecimal("1000"));
|
|
|
+ feeCenter.setAmount(new BigDecimal("1000"));
|
|
|
+ } else if (amountServiceCharge.compareTo(new BigDecimal("50")) < 0) {
|
|
|
+ feeCenter.setPrice(new BigDecimal("50"));
|
|
|
+ feeCenter.setAmount(new BigDecimal("50"));
|
|
|
+ } else {
|
|
|
+ feeCenter.setPrice(amountServiceCharge);
|
|
|
+ feeCenter.setAmount(amountServiceCharge);
|
|
|
+ }
|
|
|
} else {
|
|
|
BigDecimal serviceChargeAmount = new BigDecimal("1").divide(new BigDecimal("1000"), serviceCharge.length(), RoundingMode.HALF_UP);
|
|
|
- feeCenter.setPrice(prepaidAmount.multiply(serviceChargeAmount));
|
|
|
- feeCenter.setAmount(prepaidAmount.multiply(serviceChargeAmount));
|
|
|
+ BigDecimal amountServiceCharge = serviceChargeAmount.multiply(prepaidAmount).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ if (amountServiceCharge.compareTo(new BigDecimal("1000")) > 0) {
|
|
|
+ feeCenter.setPrice(new BigDecimal("1000"));
|
|
|
+ feeCenter.setAmount(new BigDecimal("1000"));
|
|
|
+ } else if (amountServiceCharge.compareTo(new BigDecimal("50")) < 0) {
|
|
|
+ feeCenter.setPrice(new BigDecimal("50"));
|
|
|
+ feeCenter.setAmount(new BigDecimal("50"));
|
|
|
+ } else {
|
|
|
+ feeCenter.setPrice(amountServiceCharge);
|
|
|
+ feeCenter.setAmount(amountServiceCharge);
|
|
|
+ }
|
|
|
}
|
|
|
return feeCenter;
|
|
|
} else if ("YFK".equals(type)) {
|
|
|
@@ -4460,12 +4495,30 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
String serviceCharge = sysClient.getParamServiceByDept("service.charge", AuthUtil.getTenantId(), AuthUtil.getDeptId());
|
|
|
if (ObjectUtils.isNotNull(serviceCharge)) {
|
|
|
BigDecimal serviceChargeAmount = new BigDecimal("1").divide(new BigDecimal(serviceCharge), serviceCharge.length(), RoundingMode.HALF_UP);
|
|
|
- feeCenter.setPrice(prepaidAmount.multiply(serviceChargeAmount));
|
|
|
- feeCenter.setAmount(prepaidAmount.multiply(serviceChargeAmount));
|
|
|
+ BigDecimal amountServiceCharge = serviceChargeAmount.multiply(prepaidAmount).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ if (amountServiceCharge.compareTo(new BigDecimal("1000")) > 0) {
|
|
|
+ feeCenter.setPrice(new BigDecimal("1000"));
|
|
|
+ feeCenter.setAmount(new BigDecimal("1000"));
|
|
|
+ } else if (amountServiceCharge.compareTo(new BigDecimal("50")) < 0) {
|
|
|
+ feeCenter.setPrice(new BigDecimal("50"));
|
|
|
+ feeCenter.setAmount(new BigDecimal("50"));
|
|
|
+ } else {
|
|
|
+ feeCenter.setPrice(amountServiceCharge);
|
|
|
+ feeCenter.setAmount(amountServiceCharge);
|
|
|
+ }
|
|
|
} else {
|
|
|
BigDecimal serviceChargeAmount = new BigDecimal("1").divide(new BigDecimal("1000"), serviceCharge.length(), RoundingMode.HALF_UP);
|
|
|
- feeCenter.setPrice(prepaidAmount.multiply(serviceChargeAmount));
|
|
|
- feeCenter.setAmount(prepaidAmount.multiply(serviceChargeAmount));
|
|
|
+ BigDecimal amountServiceCharge = serviceChargeAmount.multiply(prepaidAmount).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ if (amountServiceCharge.compareTo(new BigDecimal("1000")) > 0) {
|
|
|
+ feeCenter.setPrice(new BigDecimal("1000"));
|
|
|
+ feeCenter.setAmount(new BigDecimal("1000"));
|
|
|
+ } else if (amountServiceCharge.compareTo(new BigDecimal("50")) < 0) {
|
|
|
+ feeCenter.setPrice(new BigDecimal("50"));
|
|
|
+ feeCenter.setAmount(new BigDecimal("50"));
|
|
|
+ } else {
|
|
|
+ feeCenter.setPrice(amountServiceCharge);
|
|
|
+ feeCenter.setAmount(amountServiceCharge);
|
|
|
+ }
|
|
|
}
|
|
|
return feeCenter;
|
|
|
} else if ("YFK".equals(type)) {
|
|
|
@@ -4576,12 +4629,30 @@ public class AgentServiceImpl extends ServiceImpl<AgentMapper, Agent> implements
|
|
|
String serviceCharge = sysClient.getParamServiceByDept("service.charge", AuthUtil.getTenantId(), AuthUtil.getDeptId());
|
|
|
if (ObjectUtils.isNotNull(serviceCharge)) {
|
|
|
BigDecimal serviceChargeAmount = new BigDecimal("1").divide(new BigDecimal(serviceCharge), serviceCharge.length(), RoundingMode.HALF_UP);
|
|
|
- feeCenter.setPrice(prepaidAmount.multiply(serviceChargeAmount));
|
|
|
- feeCenter.setAmount(prepaidAmount.multiply(serviceChargeAmount));
|
|
|
+ BigDecimal amountServiceCharge = serviceChargeAmount.multiply(prepaidAmount).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ if (amountServiceCharge.compareTo(new BigDecimal("1000")) > 0) {
|
|
|
+ feeCenter.setPrice(new BigDecimal("1000"));
|
|
|
+ feeCenter.setAmount(new BigDecimal("1000"));
|
|
|
+ } else if (amountServiceCharge.compareTo(new BigDecimal("50")) < 0) {
|
|
|
+ feeCenter.setPrice(new BigDecimal("50"));
|
|
|
+ feeCenter.setAmount(new BigDecimal("50"));
|
|
|
+ } else {
|
|
|
+ feeCenter.setPrice(amountServiceCharge);
|
|
|
+ feeCenter.setAmount(amountServiceCharge);
|
|
|
+ }
|
|
|
} else {
|
|
|
BigDecimal serviceChargeAmount = new BigDecimal("1").divide(new BigDecimal("1000"), serviceCharge.length(), RoundingMode.HALF_UP);
|
|
|
- feeCenter.setPrice(prepaidAmount.multiply(serviceChargeAmount));
|
|
|
- feeCenter.setAmount(prepaidAmount.multiply(serviceChargeAmount));
|
|
|
+ BigDecimal amountServiceCharge = serviceChargeAmount.multiply(prepaidAmount).setScale(2, RoundingMode.HALF_UP);
|
|
|
+ if (amountServiceCharge.compareTo(new BigDecimal("1000")) > 0) {
|
|
|
+ feeCenter.setPrice(new BigDecimal("1000"));
|
|
|
+ feeCenter.setAmount(new BigDecimal("1000"));
|
|
|
+ } else if (amountServiceCharge.compareTo(new BigDecimal("50")) < 0) {
|
|
|
+ feeCenter.setPrice(new BigDecimal("50"));
|
|
|
+ feeCenter.setAmount(new BigDecimal("50"));
|
|
|
+ } else {
|
|
|
+ feeCenter.setPrice(amountServiceCharge);
|
|
|
+ feeCenter.setAmount(amountServiceCharge);
|
|
|
+ }
|
|
|
}
|
|
|
return feeCenter;
|
|
|
} else if ("YFK".equals(type)) {
|