|
@@ -52,6 +52,7 @@ import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.File;
|
|
|
import java.io.IOException;
|
|
|
import java.math.BigDecimal;
|
|
|
+import java.math.RoundingMode;
|
|
|
import java.text.DecimalFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
@@ -317,6 +318,11 @@ public class TqContractServiceImpl implements ITqContractService
|
|
|
return tqContractMapper.updateTqContract(tqContractDto);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * @Author Chenj
|
|
|
+ * @Description 将导出的价格格式化 货币开头 三位一逗且保留两位小数
|
|
|
+ * @Date 15:56 2024/9/14
|
|
|
+ **/
|
|
|
public static String formatBigDecimal(BigDecimal value,String unit) {
|
|
|
if(value != null){
|
|
|
DecimalFormat decimalFormat = new DecimalFormat("#,###.00");
|
|
@@ -399,6 +405,7 @@ public class TqContractServiceImpl implements ITqContractService
|
|
|
item.setContractNoVersionNo(tqContractDto.getContractNo()+"-"+tqContractDto.getVersion());
|
|
|
item.setPermissionChar(SecurityUtils.getPermissionCharIns());
|
|
|
item.setType(tqContractDto.getType());
|
|
|
+ item.setCollectionRatio(countCollectionRatio(item.getReceivedAmount(),item.getAccountsReceivableBalance()));
|
|
|
//将签单币种汇率赋值
|
|
|
if(scheduleListIdAndRateMap.containsKey(Long.parseLong(item.getCurrencyId()))){
|
|
|
item.setRate4ProductionScheduling(scheduleListIdAndRateMap.get(Long.parseLong(item.getCurrencyId())));
|
|
@@ -415,6 +422,17 @@ public class TqContractServiceImpl implements ITqContractService
|
|
|
return tqContractLiftList;
|
|
|
}
|
|
|
|
|
|
+ public static String countCollectionRatio(BigDecimal a,BigDecimal b) {
|
|
|
+ //只有两个金额都在才做计算
|
|
|
+ if(a == null || b== null){
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ // 计算百分比
|
|
|
+ BigDecimal percentage = a.divide(b, 4, RoundingMode.HALF_UP).multiply(new BigDecimal("100"));
|
|
|
+ // 保留两位小数并格式化为字符串
|
|
|
+ String formattedPercentage = percentage.setScale(2, RoundingMode.HALF_UP).toPlainString() + "%";
|
|
|
+ return formattedPercentage;
|
|
|
+ }
|
|
|
|
|
|
|
|
|
/**
|