Commit e9f08ea4 authored by eddie.woo's avatar eddie.woo

modify

parent 45e9dc37
package pwc.taxtech.atms.common.util;
import java.math.BigDecimal;
public class CommonUtil {
/**
* add
*
* @param v1 BigDecimal
* @param v2 BigDecimal
* @return BigDecimal
*/
public static BigDecimal add(BigDecimal v1, BigDecimal v2) {
v1 = null == v1 ? BigDecimal.ZERO : v1;
v2 = null == v2 ? BigDecimal.ZERO : v2;
return v1.add(v2);
}
}
...@@ -6,10 +6,12 @@ import cn.pwc.soap.client.domain.GLBalanceDto; ...@@ -6,10 +6,12 @@ import cn.pwc.soap.client.domain.GLBalanceDto;
import cn.pwc.soap.client.domain.GlBalanceParam; import cn.pwc.soap.client.domain.GlBalanceParam;
import cn.pwc.soap.client.domain.SoapResponse; import cn.pwc.soap.client.domain.SoapResponse;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import pwc.taxtech.atms.common.ServiceException; import pwc.taxtech.atms.common.ServiceException;
import pwc.taxtech.atms.common.config.SystemConfig; import pwc.taxtech.atms.common.config.SystemConfig;
import pwc.taxtech.atms.common.util.CommonUtil;
import pwc.taxtech.atms.constant.Constant; import pwc.taxtech.atms.constant.Constant;
import pwc.taxtech.atms.dao.EnterpriseAccountMapper; import pwc.taxtech.atms.dao.EnterpriseAccountMapper;
import pwc.taxtech.atms.dao.EnterpriseAccountSetOrgMapper; import pwc.taxtech.atms.dao.EnterpriseAccountSetOrgMapper;
...@@ -66,11 +68,12 @@ public class LgGlBalanceService extends BaseService { ...@@ -66,11 +68,12 @@ public class LgGlBalanceService extends BaseService {
logger.error("queryGLBalance error." + JSON.toJSONString(response)); logger.error("queryGLBalance error." + JSON.toJSONString(response));
throw new ServiceException("ErrorResponse"); throw new ServiceException("ErrorResponse");
} }
//分组去重,重复的取第一个元素 //分组求和 需求确认by sherry
response.getData().stream().collect(Collectors.groupingBy(o -> StringUtils.joinWith("_", response.getData().stream().collect(Collectors.groupingBy(o -> StringUtils.joinWith("_",
o.getSegment1(), o.getSegment3(), o.getSegment4()))).values().forEach(list -> { o.getSegment1(), o.getSegment3(), o.getSegment4()))).values().forEach(list -> {
GlBalance glBalance = new GlBalance(); GlBalance glBalance = new GlBalance();
beanUtil.copyProperties(list.get(0), glBalance); GLBalanceDto sum = sum(list);
beanUtil.copyProperties(sum, glBalance);
glBalance.setPeriodName(period); glBalance.setPeriodName(period);
GlBalanceExample example = new GlBalanceExample(); GlBalanceExample example = new GlBalanceExample();
...@@ -119,4 +122,22 @@ public class LgGlBalanceService extends BaseService { ...@@ -119,4 +122,22 @@ public class LgGlBalanceService extends BaseService {
} }
} }
private GLBalanceDto sum(List<GLBalanceDto> list) {
if (CollectionUtils.isEmpty(list)) {
return null;
}
GLBalanceDto result = list.get(0);
list.subList(1, list.size()).forEach(o -> {
result.setBeginCrBalance(CommonUtil.add(result.getBeginCrBalance(), o.getBeginCrBalance()));
result.setBeginDrBalance(CommonUtil.add(result.getBeginDrBalance(), o.getBeginDrBalance()));
result.setEndCrBalance(CommonUtil.add(result.getEndCrBalance(), o.getEndCrBalance()));
result.setEndDrBalance(CommonUtil.add(result.getEndDrBalance(), o.getEndDrBalance()));
result.setPtdCr(CommonUtil.add(result.getPtdCr(), o.getPtdCr()));
result.setPtdDr(CommonUtil.add(result.getPtdDr(), o.getPtdDr()));
result.setYtdCr(CommonUtil.add(result.getYtdCr(), o.getYtdCr()));
result.setYtdDr(CommonUtil.add(result.getYtdDr(), o.getYtdDr()));
});
return result;
}
} }
Markdown is supported
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