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;
import cn.pwc.soap.client.domain.GlBalanceParam;
import cn.pwc.soap.client.domain.SoapResponse;
import com.alibaba.fastjson.JSON;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;
import pwc.taxtech.atms.common.ServiceException;
import pwc.taxtech.atms.common.config.SystemConfig;
import pwc.taxtech.atms.common.util.CommonUtil;
import pwc.taxtech.atms.constant.Constant;
import pwc.taxtech.atms.dao.EnterpriseAccountMapper;
import pwc.taxtech.atms.dao.EnterpriseAccountSetOrgMapper;
......@@ -66,11 +68,12 @@ public class LgGlBalanceService extends BaseService {
logger.error("queryGLBalance error." + JSON.toJSONString(response));
throw new ServiceException("ErrorResponse");
}
//分组去重,重复的取第一个元素
//分组求和 需求确认by sherry
response.getData().stream().collect(Collectors.groupingBy(o -> StringUtils.joinWith("_",
o.getSegment1(), o.getSegment3(), o.getSegment4()))).values().forEach(list -> {
GlBalance glBalance = new GlBalance();
beanUtil.copyProperties(list.get(0), glBalance);
GLBalanceDto sum = sum(list);
beanUtil.copyProperties(sum, glBalance);
glBalance.setPeriodName(period);
GlBalanceExample example = new GlBalanceExample();
......@@ -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