Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

hr 4 vuotta sitten
vanhempi
commit
1d3edf0515

+ 1 - 1
src/main/java/com/imed/costaccount/model/CostShareParam.java

@@ -41,7 +41,7 @@ public class CostShareParam implements Serializable {
 	/**
 	 * 关联的会计成本的科目的Id
 	 */
-	private String accoutingId;
+	private String accountingId;
 	/**
 	 * 医院Id
 	 */

+ 25 - 0
src/main/java/com/imed/costaccount/model/dto/CostShareParamAccountDto.java

@@ -0,0 +1,25 @@
+package com.imed.costaccount.model.dto;
+
+import lombok.Data;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.dto
+ * @date 2021-07-28 16:34
+ */
+@Data
+public class CostShareParamAccountDto {
+    /**
+     * 传递的会计科目Id集合
+     */
+    private String[] accountIds;
+
+    /**
+     * 要修改的成本参数
+     */
+    private Integer costShareParamId;
+    /**
+     * 关联的医院的Id
+     */
+    private Integer hospId;
+}

+ 8 - 0
src/main/java/com/imed/costaccount/service/CostShareParamService.java

@@ -3,6 +3,7 @@ package com.imed.costaccount.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.imed.costaccount.common.util.PageUtils;
 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.CostShareParamSaveDto;
 
@@ -34,5 +35,12 @@ public interface CostShareParamService extends IService<CostShareParam> {
      * @param costShareParamEditDto
      */
     void updateCostShareParam(CostShareParamEditDto costShareParamEditDto);
+
+    /**
+     * 为按照科目的计算方式添加成本科目
+     * @param costShareParamAccountDto
+     * @return
+     */
+    CostShareParam updateCostShareParamByAccountId(CostShareParamAccountDto costShareParamAccountDto);
 }
 

+ 33 - 1
src/main/java/com/imed/costaccount/service/impl/CostShareParamServiceImpl.java

@@ -1,13 +1,16 @@
 package com.imed.costaccount.service.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.imed.costaccount.common.exception.CostException;
 import com.imed.costaccount.common.util.BeanUtil;
 import com.imed.costaccount.common.util.PageUtils;
+import com.imed.costaccount.constants.NumberConstant;
 import com.imed.costaccount.mapper.CostShareParamMapper;
 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.CostShareParamSaveDto;
 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.StringUtils;
 
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
@@ -98,9 +102,37 @@ public class CostShareParamServiceImpl extends ServiceImpl<CostShareParamMapper,
         if (!CollectionUtils.isEmpty(map.get(costShareParamEditDto.getShareParamCode()))){
             throw new CostException(500,"对不起分摊参数代码已存在");
         }
-        // TODO 如果修改的是按对应科目 修改对应的科目需要补充
         CostShareParam costShareParamRequest = BeanUtil.convertObj(costShareParamEditDto, CostShareParam.class);
         costShareParamRequest.setCreateTime(System.currentTimeMillis());
+        if (NumberConstant.TWO.equals( costShareParamEditDto.getShareParamCode()) && NumberConstant.TWO.equals(costShareParamEditDto.getShareParamCode())){
+            costShareParamRequest.setAccountingId(costShareParam.getAccountingId());
+        }
         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;
+    }
 }

+ 5 - 11
src/main/java/com/imed/costaccount/web/AccountingController.java

@@ -1,28 +1,22 @@
 package com.imed.costaccount.web;
 
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-
 import com.imed.costaccount.common.util.Result;
+import com.imed.costaccount.model.Accounting;
 import com.imed.costaccount.model.User;
 import com.imed.costaccount.model.dto.AccountingEditDTO;
 import com.imed.costaccount.model.dto.AccountingSaveDTO;
 import com.imed.costaccount.model.vo.AccountVO;
-import com.imed.costaccount.model.vo.SelectAccountingVO;
+import com.imed.costaccount.service.AccountingService;
+import com.imed.costaccount.utils.PageUtils;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
-import com.imed.costaccount.model.Accounting;
-import com.imed.costaccount.service.AccountingService;
-import com.imed.costaccount.utils.PageUtils;
-
 import javax.validation.Valid;
+import java.util.Arrays;
+import java.util.List;
 
 
 /**

+ 9 - 3
src/main/java/com/imed/costaccount/web/CostShareParamController.java

@@ -4,6 +4,7 @@ import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.common.util.Result;
 import com.imed.costaccount.model.CostShareParam;
 import com.imed.costaccount.model.User;
+import com.imed.costaccount.model.dto.CostShareParamAccountDto;
 import com.imed.costaccount.model.dto.CostShareParamEditDto;
 import com.imed.costaccount.model.dto.CostShareParamSaveDto;
 import com.imed.costaccount.service.CostShareParamService;
@@ -46,10 +47,15 @@ public class CostShareParamController {
 
     /**
      * 添加对应成本科目
+     * 接受传递过来的数组集合
      */
-    @GetMapping("/info/{id}")
-    public Result info(@PathVariable("id") Integer id){
-		CostShareParam costShareParam = costShareParamService.getById(id);
+    @PostMapping("/updateCostShareParamByAccountId")
+    @ApiOperation("添加对应科目信息")
+    public Result updateCostShareParamByAccountId(@RequestBody CostShareParamAccountDto costShareParamAccountDto){
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        Integer hospId = user.getHospId();
+        costShareParamAccountDto.setHospId(hospId);
+		CostShareParam costShareParam = costShareParamService.updateCostShareParamByAccountId(costShareParamAccountDto);
         return Result.ok(costShareParam);
     }
 

+ 1 - 0
src/main/resources/mapper/CostShareParamMapper.xml

@@ -8,6 +8,7 @@
         <result property="id" column="id"/>
         <result property="shareParamName" column="share_param_name"/>
         <result property="shareParamCode" column="share_param_code"/>
+        <result property="accountingId" column="accounting_id"/>
         <result property="hospId" column="hosp_id"/>
         <result property="calcType" column="calc_type"/>
         <result property="createTime" column="create_time"/>