|
@@ -1,13 +1,16 @@
|
|
package com.imed.costaccount.service.impl;
|
|
package com.imed.costaccount.service.impl;
|
|
|
|
|
|
|
|
+import cn.hutool.core.collection.CollectionUtil;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.imed.costaccount.common.exception.CostException;
|
|
import com.imed.costaccount.common.exception.CostException;
|
|
import com.imed.costaccount.common.util.BeanUtil;
|
|
import com.imed.costaccount.common.util.BeanUtil;
|
|
import com.imed.costaccount.common.util.PageUtils;
|
|
import com.imed.costaccount.common.util.PageUtils;
|
|
|
|
+import com.imed.costaccount.constants.NumberConstant;
|
|
import com.imed.costaccount.mapper.CostShareParamMapper;
|
|
import com.imed.costaccount.mapper.CostShareParamMapper;
|
|
import com.imed.costaccount.model.CostShareParam;
|
|
import com.imed.costaccount.model.CostShareParam;
|
|
|
|
+import com.imed.costaccount.model.dto.CostShareParamAccountDto;
|
|
import com.imed.costaccount.model.dto.CostShareParamEditDto;
|
|
import com.imed.costaccount.model.dto.CostShareParamEditDto;
|
|
import com.imed.costaccount.model.dto.CostShareParamSaveDto;
|
|
import com.imed.costaccount.model.dto.CostShareParamSaveDto;
|
|
import com.imed.costaccount.model.vo.CostShareParamVO;
|
|
import com.imed.costaccount.model.vo.CostShareParamVO;
|
|
@@ -18,6 +21,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.CollectionUtils;
|
|
import org.springframework.util.StringUtils;
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
|
|
+import java.util.Arrays;
|
|
import java.util.List;
|
|
import java.util.List;
|
|
import java.util.Map;
|
|
import java.util.Map;
|
|
import java.util.Objects;
|
|
import java.util.Objects;
|
|
@@ -98,9 +102,37 @@ public class CostShareParamServiceImpl extends ServiceImpl<CostShareParamMapper,
|
|
if (!CollectionUtils.isEmpty(map.get(costShareParamEditDto.getShareParamCode()))){
|
|
if (!CollectionUtils.isEmpty(map.get(costShareParamEditDto.getShareParamCode()))){
|
|
throw new CostException(500,"对不起分摊参数代码已存在");
|
|
throw new CostException(500,"对不起分摊参数代码已存在");
|
|
}
|
|
}
|
|
- // TODO 如果修改的是按对应科目 修改对应的科目需要补充
|
|
|
|
CostShareParam costShareParamRequest = BeanUtil.convertObj(costShareParamEditDto, CostShareParam.class);
|
|
CostShareParam costShareParamRequest = BeanUtil.convertObj(costShareParamEditDto, CostShareParam.class);
|
|
costShareParamRequest.setCreateTime(System.currentTimeMillis());
|
|
costShareParamRequest.setCreateTime(System.currentTimeMillis());
|
|
|
|
+ if (NumberConstant.TWO.equals( costShareParamEditDto.getShareParamCode()) && NumberConstant.TWO.equals(costShareParamEditDto.getShareParamCode())){
|
|
|
|
+ costShareParamRequest.setAccountingId(costShareParam.getAccountingId());
|
|
|
|
+ }
|
|
baseMapper.insert(costShareParamRequest);
|
|
baseMapper.insert(costShareParamRequest);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 为按照科目的计算方式添加成本科目
|
|
|
|
+ *
|
|
|
|
+ * @param costShareParamAccountDto
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
|
|
|
|
+ public CostShareParam updateCostShareParamByAccountId(CostShareParamAccountDto costShareParamAccountDto) {
|
|
|
|
+ Integer costShareParamId = costShareParamAccountDto.getCostShareParamId();
|
|
|
|
+ CostShareParam costShareParam = baseMapper.selectById(costShareParamId);
|
|
|
|
+ // 判断当前操作的分层参数的计算方式是不是按科目计算
|
|
|
|
+ if (NumberConstant.TWO.equals(costShareParam.getCalcType())){
|
|
|
|
+ String[] accountIds = costShareParamAccountDto.getAccountIds();
|
|
|
|
+ List<String> accountList = Arrays.asList(accountIds);
|
|
|
|
+ if (!CollectionUtil.isEmpty(accountList)){
|
|
|
|
+ String accounds = accountList.stream().map(String::valueOf).collect(Collectors.joining(","));
|
|
|
|
+ costShareParam.setAccountingId(accounds);
|
|
|
|
+ baseMapper.updateById(costShareParam);
|
|
|
|
+ }
|
|
|
|
+ }else {
|
|
|
|
+ throw new CostException(500,"计算方式不是按会计科目计算");
|
|
|
|
+ }
|
|
|
|
+ return null;
|
|
|
|
+ }
|
|
}
|
|
}
|