浏览代码

添加分摊对应的时候判断责任中心与成本科目的对应关系

ljx 4 年之前
父节点
当前提交
890509e04e

+ 2 - 0
src/main/java/com/imed/costaccount/common/util/ErrorResult.java

@@ -1,6 +1,7 @@
 package com.imed.costaccount.common.util;
 
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import lombok.AllArgsConstructor;
 import lombok.NoArgsConstructor;
 
@@ -10,6 +11,7 @@ public class ErrorResult {
 
     private Boolean success;
 
+    @JsonInclude(JsonInclude.Include.NON_NULL)
     private Object data;
 
     private Integer errorCode;

+ 29 - 0
src/main/java/com/imed/costaccount/model/vo/CostShareParamStatusVO.java

@@ -0,0 +1,29 @@
+package com.imed.costaccount.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.vo
+ * @date 2021-07-29 17:02
+ */
+@Data
+@ApiModel("成本分摊参数显示是否被成本分摊对应选中")
+public class CostShareParamStatusVO {
+    @ApiModelProperty(name = "id",value = "分摊参数的Id")
+    private Integer id;
+
+    @ApiModelProperty(name = "shareParamName",value = "分摊参数的名称")
+    private String shareParamName;
+
+    @ApiModelProperty(name = "shareParamCode",value = "分摊参数的代码")
+    private String shareParamCode;
+
+    @ApiModelProperty(name = "calcType",value = "分摊参数的计算方式")
+    private Integer calcType;
+    // 显示当前分摊参数是否被选中 选中1  未选中0  默认没有选中
+    private Integer shareParamStatus=0;
+
+}

+ 9 - 0
src/main/java/com/imed/costaccount/service/CostAccountShareService.java

@@ -6,6 +6,7 @@ import com.imed.costaccount.model.CostAccountShare;
 import com.imed.costaccount.model.dto.CostAccountShareEditDto;
 import com.imed.costaccount.model.dto.CostAccountShareSaveDto;
 import com.imed.costaccount.model.dto.ShareParamEditDto;
+import com.imed.costaccount.model.vo.CostShareParamStatusVO;
 import com.imed.costaccount.model.vo.ShareParamProportionVO;
 
 import java.util.List;
@@ -52,5 +53,13 @@ public interface CostAccountShareService extends IService<CostAccountShare> {
      * @return
      */
     List<ShareParamProportionVO> selectShareParamById(Integer id, Integer hospId);
+
+    /**
+     * 成本分摊参数中被分摊参数对应选中的状态
+     * @param id
+     * @param hospId
+     * @return
+     */
+    List<CostShareParamStatusVO> getAllShareParamStatusById(Integer id, Integer hospId);
 }
 

+ 34 - 0
src/main/java/com/imed/costaccount/service/impl/CostAccountShareServiceImpl.java

@@ -13,6 +13,7 @@ import com.imed.costaccount.model.dto.CostAccountShareEditDto;
 import com.imed.costaccount.model.dto.CostAccountShareSaveDto;
 import com.imed.costaccount.model.dto.ShareParamEditDto;
 import com.imed.costaccount.model.vo.CostAccountShareVO;
+import com.imed.costaccount.model.vo.CostShareParamStatusVO;
 import com.imed.costaccount.model.vo.CostShareParamVO;
 import com.imed.costaccount.model.vo.ShareParamProportionVO;
 import com.imed.costaccount.service.CostAccountShareService;
@@ -124,9 +125,13 @@ public class CostAccountShareServiceImpl extends ServiceImpl<CostAccountShareMap
             if (costAccountShareSaveDto.getAccountingId()>0 && NumberConstant.ZERO.equals(costShareLevel.getCalcType())){
                 throw new CostException(500,"合并计算不允许选择成本科目");
             }
+            if (costAccountShareSaveDto.getAccountingId()<= 0 && NumberConstant.ONE.equals(costShareLevel.getCalcType())){
+                throw new CostException(500,"分开计算需要选择成本科目");
+            }
         }else {
             throw new CostException(500,"对不起该责任中心没有对应分摊层级");
         }
+
     }
 
     /**
@@ -229,4 +234,33 @@ public class CostAccountShareServiceImpl extends ServiceImpl<CostAccountShareMap
         return JsonUtil.toList(paramList, ShareParamProportionVO.class);
     }
 
+    /**
+     * 成本分摊参数中被分摊参数对应选中的状态
+     *
+     * @param id
+     * @param hospId
+     * @return
+     */
+    @Override
+    public List<CostShareParamStatusVO> getAllShareParamStatusById(Integer id, Integer hospId) {
+        List<CostShareParamVO> costShareParamServiceAll = costShareParamService.getAll(hospId);
+        CostAccountShare costAccountShare = baseMapper.selectById(id);
+        if (Objects.isNull(costAccountShare)){
+            throw new CostException(500,"成本分摊对应数据不存在");
+        }
+        String paramList = costAccountShare.getParamList();
+        List<CostShareParamStatusVO> costShareParamStatusVOList = BeanUtil.convertList(costShareParamServiceAll, CostShareParamStatusVO.class);
+        if (!StringUtils.isEmpty(paramList)) {
+            List<ShareParamProportionVO> shareParamProportionVOList = JsonUtil.toList(paramList, ShareParamProportionVO.class);
+            Map<Integer, List<ShareParamProportionVO>> map = shareParamProportionVOList.stream().collect(Collectors.groupingBy(ShareParamProportionVO::getId));
+            costShareParamStatusVOList.forEach(i -> {
+                Integer paramId = i.getId();
+                if (!CollectionUtils.isEmpty(map.get(paramId))) {
+                    i.setShareParamStatus(NumberConstant.ONE);
+                }
+            });
+        }
+        return costShareParamStatusVOList;
+    }
+
 }

+ 1 - 3
src/main/java/com/imed/costaccount/service/impl/ResponsibilityDepartmentServiceImpl.java

@@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.imed.costaccount.mapper.ResponsibilityDepartmentMapper;
-import com.imed.costaccount.model.Responsibility;
 import com.imed.costaccount.model.ResponsibilityDepartment;
 import com.imed.costaccount.model.User;
 import com.imed.costaccount.model.dto.DepartDTO;
@@ -18,7 +17,6 @@ import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 import java.util.stream.Collectors;
 
@@ -80,7 +78,7 @@ public class ResponsibilityDepartmentServiceImpl
         }
         List<ResponsibilityDepartment> data = departmentIds.stream().map(item -> {
             ResponsibilityDepartment centerDepart = new ResponsibilityDepartment();
-            return centerDepart.setResponsibilityId(responsibilityId).setCreateTime(new Date().getTime()).setHospId(hospId)
+            return centerDepart.setResponsibilityId(responsibilityId).setCreateTime(System.currentTimeMillis()).setHospId(hospId)
                     .setDepartmentId(item);
         }).collect(Collectors.toList());
 

+ 13 - 1
src/main/java/com/imed/costaccount/web/CostAccountShareController.java

@@ -7,6 +7,7 @@ import com.imed.costaccount.model.User;
 import com.imed.costaccount.model.dto.CostAccountShareEditDto;
 import com.imed.costaccount.model.dto.CostAccountShareSaveDto;
 import com.imed.costaccount.model.dto.ShareParamEditDto;
+import com.imed.costaccount.model.vo.CostShareParamStatusVO;
 import com.imed.costaccount.model.vo.ShareParamProportionVO;
 import com.imed.costaccount.service.CostAccountShareService;
 import io.swagger.annotations.Api;
@@ -28,7 +29,7 @@ import java.util.List;
  */
 @RestController
 @RequestMapping("/costAccount/costaccountshare")
-@Api(tags = "责任中心成本相关操作")
+@Api(tags = "成本分摊参数对应相关操作")
 public class CostAccountShareController {
     @Autowired
     private CostAccountShareService costAccountShareService;
@@ -77,6 +78,17 @@ public class CostAccountShareController {
 		costAccountShareService.updateByCostAccountShare(costAccountShareEditDto);
         return Result.ok();
     }
+    /**
+     * 在全部分摊参数里面显示当前责任中心已经存在的分摊参数
+     */
+    @GetMapping("/getAllShareParamStatusById")
+    @ApiOperation("在全部分摊参数里面显示当前责任中心已经存在的分摊参数")
+    public Result getAllShareParamStatusById(Integer id){
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        Integer hospId = user.getHospId();
+        List<CostShareParamStatusVO> costShareParamStatusVOList= costAccountShareService.getAllShareParamStatusById(id,hospId);
+        return Result.ok(costShareParamStatusVOList);
+    }
 
     /**
      * 获取责任中心成本对应的分摊参数数据