Bläddra i källkod

获取责任中心对应的科室信息

ljx 4 år sedan
förälder
incheckning
5999b9fe7f

+ 16 - 0
src/main/java/com/imed/costaccount/mapper/CostResponsibilityDepartmentMapper.java

@@ -0,0 +1,16 @@
+package com.imed.costaccount.mapper;
+
+import com.imed.costaccount.model.CostResponsibilityDepartment;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 责任中心科室对照表
+ * 
+ * @author KCYG
+ * @date 2021-07-27 15:59:58
+ */
+@Mapper
+public interface CostResponsibilityDepartmentMapper extends BaseMapper<CostResponsibilityDepartment> {
+	
+}

+ 55 - 0
src/main/java/com/imed/costaccount/model/CostResponsibilityDepartment.java

@@ -0,0 +1,55 @@
+package com.imed.costaccount.model;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+
+/**
+ * 责任中心科室对照表
+ * 
+ * @author KCYG
+ * @email KCYG@xinxicom
+ * @date 2021-07-27 15:59:58
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("cost_responsibility_department")
+public class CostResponsibilityDepartment implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 责任中心Id
+	 */
+	private Integer responsibilityId;
+	/**
+	 * 科室名称Id
+	 */
+	private Integer departmentId;
+	/**
+	 * 医院Id
+	 */
+	private Integer hospId;
+	/**
+	 * 创建时间13位时间戳
+	 */
+	private Long createTime;
+	/**
+	 * 删除时间,如果存在表示已删除13位时间戳
+	 */
+	@TableLogic(value = "0",delval = "UNIX_TIMESTAMP(NOW()) * 1000")
+	private Long deleteTime;
+
+}

+ 27 - 0
src/main/java/com/imed/costaccount/model/vo/CostDepartmentVO.java

@@ -0,0 +1,27 @@
+package com.imed.costaccount.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.*;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.vo
+ * @date 2021-07-27 16:21
+ */
+@Getter
+@Setter
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@ApiModel
+public class CostDepartmentVO {
+    @ApiModelProperty(name = "departmentName",value = "科室Id")
+    private Integer id;
+    @ApiModelProperty(name = "departmentName",value = "科室的名称")
+    private String departmentName;
+    @ApiModelProperty(name = "departmentCode",value = "科室的Id")
+    private String departmentCode;
+    @ApiModelProperty(name = "departmentStatus",value = "科室是否选中的状态")
+    private Integer departmentStatus;
+}

+ 2 - 0
src/main/java/com/imed/costaccount/model/vo/DepartVO.java

@@ -8,4 +8,6 @@ public class DepartVO {
     private Integer departmentId;
 
     private String departmentName;
+
+    private Integer departmentStatus;
 }

+ 25 - 0
src/main/java/com/imed/costaccount/service/CostResponsibilityDepartmentService.java

@@ -0,0 +1,25 @@
+package com.imed.costaccount.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.imed.costaccount.model.CostResponsibilityDepartment;
+import com.imed.costaccount.model.vo.CostDepartmentVO;
+
+import java.util.List;
+
+/**
+ * 责任中心科室对照表
+ *
+ * @author KCYG
+ * @email KCYG@xinxicom
+ * @date 2021-07-27 15:59:58
+ */
+public interface CostResponsibilityDepartmentService extends IService<CostResponsibilityDepartment> {
+
+    /**
+     * 根据责任中心的Id获取对应的科室信息的集合
+     * @param responsibilityId
+     * @return
+     */
+    List<CostDepartmentVO> getByResponsibilityId(Integer responsibilityId);
+}
+

+ 56 - 0
src/main/java/com/imed/costaccount/service/impl/CostResponsibilityDepartmentServiceImpl.java

@@ -0,0 +1,56 @@
+package com.imed.costaccount.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.imed.costaccount.common.exception.CostException;
+import com.imed.costaccount.constants.NumberConstant;
+import com.imed.costaccount.mapper.CostResponsibilityDepartmentMapper;
+import com.imed.costaccount.model.CostResponsibilityDepartment;
+import com.imed.costaccount.model.Department;
+import com.imed.costaccount.model.User;
+import com.imed.costaccount.model.vo.CostDepartmentVO;
+import com.imed.costaccount.service.CostResponsibilityDepartmentService;
+import com.imed.costaccount.utils.BeanUtil;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+
+@Service("costResponsibilityDepartmentService")
+public class CostResponsibilityDepartmentServiceImpl extends ServiceImpl<CostResponsibilityDepartmentMapper, CostResponsibilityDepartment> implements CostResponsibilityDepartmentService {
+
+    @Autowired
+    private DepartmentServiceImpl departmentService;
+    /**
+     * 根据责任中心的Id获取对应的科室信息的集合
+     *
+     * @param responsibilityId
+     * @return
+     */
+    @Override
+    public List<CostDepartmentVO> getByResponsibilityId(Integer responsibilityId) {
+        if (responsibilityId<=0){
+            throw new CostException("请选择责任中心数据");
+        }
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        // 当前医院责任中心所具有的的科室
+        List<CostResponsibilityDepartment> costResponsibilityDepartmentList = baseMapper.selectList(new QueryWrapper<CostResponsibilityDepartment>().lambda().eq(CostResponsibilityDepartment::getResponsibilityId, responsibilityId));
+        Map<Integer, List<CostResponsibilityDepartment>> costResponsibilityDepartmentMap = costResponsibilityDepartmentList.stream().distinct().collect(Collectors.groupingBy(CostResponsibilityDepartment::getDepartmentId));
+        // 所有科室
+        List<Department> departmentList = departmentService.getByDepartment(null,null,null,user.getHospId());
+        List<CostDepartmentVO> departVOList = BeanUtil.convertList(departmentList, CostDepartmentVO.class);
+        departVOList.forEach(i->{
+            if (!CollectionUtils.isEmpty(costResponsibilityDepartmentMap.get(i.getId()))){
+                i.setDepartmentStatus(NumberConstant.ONE);
+            }else {
+                i.setDepartmentStatus(NumberConstant.ZERO);
+            }
+        });
+        return departVOList;
+    }
+}

+ 86 - 0
src/main/java/com/imed/costaccount/web/CostResponsibilityDepartmentController.java

@@ -0,0 +1,86 @@
+package com.imed.costaccount.web;
+
+import com.imed.costaccount.common.util.Result;
+import com.imed.costaccount.model.CostResponsibilityDepartment;
+import com.imed.costaccount.model.User;
+import com.imed.costaccount.model.vo.CostDepartmentVO;
+import com.imed.costaccount.service.CostResponsibilityDepartmentService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Arrays;
+import java.util.List;
+
+
+/**
+ * 责任中心科室对照表
+ *
+ * @author KCYG
+ * @date 2021-07-27 15:59:58
+ */
+@RestController
+@RequestMapping("/costresponsibilitydepartment")
+@Api(tags = "责任中心科室对照表")
+public class CostResponsibilityDepartmentController {
+    @Autowired
+    private CostResponsibilityDepartmentService costResponsibilityDepartmentService;
+
+    /**
+     * 分页查询列表
+     */
+    @GetMapping("/list")
+    public Result list(@RequestParam(defaultValue = "1", value = "page") Integer page,
+                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize){
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        return Result.ok();
+    }
+
+    /**
+     * 根据责任中心的Id查询对应的科室信息的集合
+     */
+    @GetMapping("/getById")
+    @ApiOperation("根据责任中心的Id获取科室信息的集合")
+    public Result getById(Integer responsibilityId){
+        List<CostDepartmentVO>  departmentList = costResponsibilityDepartmentService.getByResponsibilityId(responsibilityId);
+        return Result.ok(departmentList);
+    }
+    /**
+     * 信息
+     */
+    @GetMapping("/info/{id}")
+    public Result info(@PathVariable("id") Integer id){
+		CostResponsibilityDepartment costResponsibilityDepartment = costResponsibilityDepartmentService.getById(id);
+        return Result.ok(costResponsibilityDepartment);
+    }
+
+    /**
+     * 保存
+     */
+    @PostMapping("/save")
+    public Result save(@RequestBody CostResponsibilityDepartment costResponsibilityDepartment){
+		costResponsibilityDepartmentService.save(costResponsibilityDepartment);
+        return Result.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @PutMapping("/update")
+    public Result update(@RequestBody CostResponsibilityDepartment costResponsibilityDepartment){
+		costResponsibilityDepartmentService.updateById(costResponsibilityDepartment);
+        return Result.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @DeleteMapping("/delete")
+    public Result delete(@RequestBody Integer[] ids){
+		costResponsibilityDepartmentService.removeByIds(Arrays.asList(ids));
+        return Result.ok();
+    }
+
+}

+ 2 - 5
src/main/java/com/imed/costaccount/web/DepartmentController.java

@@ -1,23 +1,20 @@
 package com.imed.costaccount.web;
 
-import java.util.Arrays;
-import java.util.List;
-
 import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.common.util.Result;
 import com.imed.costaccount.model.Department;
 import com.imed.costaccount.model.User;
-import com.imed.costaccount.model.dto.DepartmentDto;
 import com.imed.costaccount.model.dto.DepartmentRequest;
 import com.imed.costaccount.service.DepartmentService;
 import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiOperation;
 import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
+import java.util.Arrays;
+import java.util.List;
 
 
 /**