Browse Source

Merge branch 'master' of huangrui/CostAccount into dev

huangrui 4 years ago
parent
commit
a337655c1c
50 changed files with 1877 additions and 143 deletions
  1. 7 0
      src/main/java/com/imed/costaccount/common/exception/CostException.java
  2. 0 2
      src/main/java/com/imed/costaccount/common/shiro/ShiroConfig.java
  3. 9 27
      src/main/java/com/imed/costaccount/enums/ErrorCodeEnum.java
  4. 16 0
      src/main/java/com/imed/costaccount/mapper/CostResponsibilityDepartmentMapper.java
  5. 16 0
      src/main/java/com/imed/costaccount/mapper/CostShareLevelMapper.java
  6. 26 0
      src/main/java/com/imed/costaccount/mapper/ResponsibilityDepartmentMapper.java
  7. 16 0
      src/main/java/com/imed/costaccount/mapper/ResponsibilityMapper.java
  8. 55 0
      src/main/java/com/imed/costaccount/model/CostResponsibilityDepartment.java
  9. 63 0
      src/main/java/com/imed/costaccount/model/CostShareLevel.java
  10. 81 0
      src/main/java/com/imed/costaccount/model/Responsibility.java
  11. 57 0
      src/main/java/com/imed/costaccount/model/ResponsibilityDepartment.java
  12. 4 0
      src/main/java/com/imed/costaccount/model/User.java
  13. 31 0
      src/main/java/com/imed/costaccount/model/dto/CostShareLevelEditDto.java
  14. 30 0
      src/main/java/com/imed/costaccount/model/dto/CostShareLevelSaveDto.java
  15. 19 0
      src/main/java/com/imed/costaccount/model/dto/DepartDTO.java
  16. 14 27
      src/main/java/com/imed/costaccount/model/dto/HospitalDto.java
  17. 39 0
      src/main/java/com/imed/costaccount/model/dto/HospitalSaveDto.java
  18. 47 0
      src/main/java/com/imed/costaccount/model/dto/ResponsibilityEditDTO.java
  19. 46 0
      src/main/java/com/imed/costaccount/model/dto/ResponsibilitySaveDTO.java
  20. 25 0
      src/main/java/com/imed/costaccount/model/vo/CenterDepartmentVO.java
  21. 27 0
      src/main/java/com/imed/costaccount/model/vo/CostDepartmentVO.java
  22. 51 0
      src/main/java/com/imed/costaccount/model/vo/CostResponsibilityVO.java
  23. 29 0
      src/main/java/com/imed/costaccount/model/vo/CostShareLevelVO.java
  24. 13 0
      src/main/java/com/imed/costaccount/model/vo/DepartVO.java
  25. 24 0
      src/main/java/com/imed/costaccount/model/vo/test.json
  26. 25 0
      src/main/java/com/imed/costaccount/service/CostResponsibilityDepartmentService.java
  27. 49 0
      src/main/java/com/imed/costaccount/service/CostShareLevelService.java
  28. 7 6
      src/main/java/com/imed/costaccount/service/HospitalService.java
  29. 36 0
      src/main/java/com/imed/costaccount/service/ResponsibilityDepartmentService.java
  30. 59 0
      src/main/java/com/imed/costaccount/service/ResponsibilityService.java
  31. 56 0
      src/main/java/com/imed/costaccount/service/impl/CostResponsibilityDepartmentServiceImpl.java
  32. 105 0
      src/main/java/com/imed/costaccount/service/impl/CostShareLevelServiceImpl.java
  33. 7 8
      src/main/java/com/imed/costaccount/service/impl/DepartmentServiceImpl.java
  34. 22 17
      src/main/java/com/imed/costaccount/service/impl/HospitalServiceImpl.java
  35. 85 0
      src/main/java/com/imed/costaccount/service/impl/ResponsibilityDepartmentServiceImpl.java
  36. 248 0
      src/main/java/com/imed/costaccount/service/impl/ResponsibilityServiceImpl.java
  37. 30 25
      src/main/java/com/imed/costaccount/service/impl/UserServiceImpl.java
  38. 86 0
      src/main/java/com/imed/costaccount/web/CostResponsibilityDepartmentController.java
  39. 97 0
      src/main/java/com/imed/costaccount/web/CostShareLevelController.java
  40. 2 5
      src/main/java/com/imed/costaccount/web/DepartmentController.java
  41. 5 6
      src/main/java/com/imed/costaccount/web/ExcelController.java
  42. 13 12
      src/main/java/com/imed/costaccount/web/HospitalController.java
  43. 5 7
      src/main/java/com/imed/costaccount/web/LoginController.java
  44. 70 0
      src/main/java/com/imed/costaccount/web/ResponsibilityController.java
  45. 57 0
      src/main/java/com/imed/costaccount/web/ResponsibilityDepartmentController.java
  46. 1 1
      src/main/resources/application-dev.yml
  47. 19 0
      src/main/resources/mapper/CostShareLevelMapper.xml
  48. 24 0
      src/main/resources/mapper/ResponsibilityDepartmentMapper.xml
  49. 23 0
      src/main/resources/mapper/ResponsibilityMapper.xml
  50. 1 0
      src/main/resources/mapper/UserMapper.xml

+ 7 - 0
src/main/java/com/imed/costaccount/common/exception/CostException.java

@@ -1,6 +1,7 @@
 package com.imed.costaccount.common.exception;
 
 import com.imed.costaccount.common.constants.CommonConstant;
+import com.imed.costaccount.enums.ErrorCodeEnum;
 
 public class CostException extends RuntimeException{
 
@@ -20,6 +21,12 @@ public class CostException extends RuntimeException{
         this.message = message;
     }
 
+    public CostException(ErrorCodeEnum errorCodeEnum) {
+        super(errorCodeEnum.getDescription());
+        this.code = errorCodeEnum.getCode();
+        this.message = errorCodeEnum.getDescription();
+    }
+
 
     public Integer getCode() {
         return code;

+ 0 - 2
src/main/java/com/imed/costaccount/common/shiro/ShiroConfig.java

@@ -45,10 +45,8 @@ public class ShiroConfig {
         filterMap.put("/doc.html", "anon");
         filterMap.put("/swagger-resources/**", "anon");
         filterMap.put("/captcha.jpg", "anon");
-//        filterMap.put("/costAccount/user/**","anon");
         filterMap.put("/costAccount/getHospArea/**","anon");
         filterMap.put("/costAccount/excel/**","anon");
-        filterMap.put("/costAccount/hosptail/**","anon");
         filterMap.put("/costAccount/login", "anon");
         filterMap.put("/**/*.jpg", "anon");
         filterMap.put("/**/*.png", "anon");

+ 9 - 27
src/main/java/com/imed/costaccount/enums/ErrorCodeEnum.java

@@ -1,42 +1,24 @@
 package com.imed.costaccount.enums;
 
 public enum ErrorCodeEnum {
-    VERSION_NO_NOT_EXIST("400", "版本号不能为空"),
-    DATA_NOT_EXIST("DATA_NOT_EXIST", "数据不存在"),
-    USER_NOT_EXIST("USER_NOT_EXIST", "用户不存在"),
-    USER_PASS_FALSE("USER_PASS_FALSE", "用户名或密码错误"),
-    USER_NOT_LOGIN("401", "用户未登录"),
-    NO_PERMISSION("NO_PERMISSION", "权限不足"),
-    SITUATION_NOT_EXIST("4", "情景不存在"),
-    SITUATION_NAME_EXIST("SITUATION_NAME_EXIST", "情景名称已存在"),
-    TASK_NOT_EXIST("6", "改善任务不存在"),
-    NOTICE_TEMPLATE_NOT_EXIST("NOTICE_TEMPLATE_NOT_EXIST","消息模板未配置"),
-    CHECK_GROUP_EMPTY("CHECK_GROUP_EMPTY", "查核组未选择"),
-    PLAN_HAS_START("PLAN_HAS_START", "计划已开始"),
-    HOSP_NOT_EXIST("HOSP_NOT_EXIST", "用户医院不存在"),
-    FILE_UPLOAD("7", "图片上传失败"),
-    FILE_EMP("8", "上传内容不能为空"),
-    PLAN_NOT_EXIST("PLAN_NOT_EXIST", "计划不存在"),
-    CHECK_DETAIL_NOT_EXIST("9", "查核项不存在"),
-    PLAN_CAN_NOT_ADVANCE("PLAN_CAN_NOT_ADVANCE", "本计划不能提前开始"),
-    PLAN_CAN_NOT_ADD("PLAN_CAN_NOT_ADD", "本情景已结束不能新增"),
-    MODIFY_PASSWORD_ERROR_NOT_EQUAL("10", "两次输入密码不相同"),
-    RESPONSIBLE_USER_NOT_EXIST("500", "批量查核前,请选择某个查核项的当事人"),
-    RESPONSIBLE_USER_NEED_CHECKER("500", "非查核组员不允许分配当事人"),
-    NOTICE_TIME_ERROR("500", "计划提前提醒时间不正确"),
-    PARAM_ERROR("500", "参数错误"),
+    DATA_NOT_EXIST(500, "数据不存在"),
+    USER_NOT_EXIST(500, "用户不存在"),
+    USER_PASS_FALSE(500, "用户名或密码错误"),
+    USER_NOT_LOGIN(401, "用户未登录"),
+    NO_PERMISSION(403, "权限不足"),
+    RESPONSIBILITY_CODE_EXIST(500, "责任中心代码重复"),
     ;
 
-    private String code;
+    private Integer code;
 
     private String description;
 
-    ErrorCodeEnum(String code, String description) {
+    ErrorCodeEnum(Integer code, String description) {
         this.code = code;
         this.description = description;
     }
 
-    public String getCode() {
+    public Integer getCode() {
         return code;
     }
 

+ 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> {
+	
+}

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

@@ -0,0 +1,16 @@
+package com.imed.costaccount.mapper;
+
+import com.imed.costaccount.model.CostShareLevel;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 分摊层级对照表
+ * 
+ * @author KCYG
+ * @date 2021-07-27 14:19:09
+ */
+@Mapper
+public interface CostShareLevelMapper extends BaseMapper<CostShareLevel> {
+	
+}

+ 26 - 0
src/main/java/com/imed/costaccount/mapper/ResponsibilityDepartmentMapper.java

@@ -0,0 +1,26 @@
+package com.imed.costaccount.mapper;
+
+import com.imed.costaccount.model.ResponsibilityDepartment;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.imed.costaccount.model.vo.DepartVO;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 责任中心科室对照表
+ * 
+ * @author huangrui
+ * @date 2021-07-27 14:53:53
+ */
+@Mapper
+public interface ResponsibilityDepartmentMapper extends BaseMapper<ResponsibilityDepartment> {
+
+    /**
+     * 通过responsibilityId 获取部门和部门名称
+     * @param responsibilityId
+     * @return
+     */
+    List<DepartVO> getDepartByCenterId(@Param("responsibilityId") Integer responsibilityId);
+}

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

@@ -0,0 +1,16 @@
+package com.imed.costaccount.mapper;
+
+import com.imed.costaccount.model.Responsibility;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 责任中心表
+ * 
+ * @author huangrui
+ * @date 2021-07-27 10:41:59
+ */
+@Mapper
+public interface ResponsibilityMapper extends BaseMapper<Responsibility> {
+	
+}

+ 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;
+
+}

+ 63 - 0
src/main/java/com/imed/costaccount/model/CostShareLevel.java

@@ -0,0 +1,63 @@
+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 14:19:09
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("cost_share_level")
+public class CostShareLevel implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 分摊层级数名称
+	 */
+	private String shareName;
+	/**
+	 * 分摊层级序号
+	 */
+	private Integer leverSort;
+	/**
+	 * 医院Id
+	 */
+	private Integer hospId;
+	/**
+	 * 目标层级
+	 */
+	private Integer targetLevel;
+	/**
+	 * 计算方式
+	 */
+	private Integer calcType;
+	/**
+	 * 创建时间13位时间戳
+	 */
+	private Long createTime;
+	/**
+	 * 删除时间,如果存在表示已删除13位时间戳
+	 */
+	@TableLogic(value = "0",delval = "UNIX_TIMESTAMP(NOW()) * 1000")
+	private Long deleteTime;
+
+}

+ 81 - 0
src/main/java/com/imed/costaccount/model/Responsibility.java

@@ -0,0 +1,81 @@
+package com.imed.costaccount.model;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+/**
+ * 责任中心表
+ * 
+ * @author huangrui
+ * @email 
+ * @date 2021-07-27 10:41:59
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("cost_responsibility")
+public class Responsibility implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 名称
+	 */
+	private String responsibilityName;
+	/**
+	 * 责任中心代码
+	 */
+	private String responsibilityCode;
+	/**
+	 * 责任级别(第一级为1,以此类推)
+	 */
+	private Integer responsibilityLevel;
+	/**
+	 * 上级id
+	 */
+	private Integer parentId;
+	/**
+	 * 医院id
+	 */
+	private Integer hospId;
+	/**
+	 * 是否汇总中心1.是,2.不是
+	 */
+	private Integer isGatherCenter;
+	/**
+	 * 责任类型 1. 收费中心,2.成本(费用)中心
+	 */
+	private Integer responsibilityType;
+	/**
+	 * 分摊级别 如果是顶层默认为0
+	 */
+	private Integer shareLevel;
+	/**
+	 * 分摊级别名称
+	 */
+	private String shareName;
+	/**
+	 * 创建时间13位时间戳
+	 */
+	private Long createTime;
+	/**
+	 * 删除时间,如果存在表示已删除13位时间戳
+	 */
+	@TableLogic(value = "0",delval = "UNIX_TIMESTAMP(NOW()) * 1000")
+	private Long deleteTime;
+
+}

+ 57 - 0
src/main/java/com/imed/costaccount/model/ResponsibilityDepartment.java

@@ -0,0 +1,57 @@
+package com.imed.costaccount.model;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+/**
+ * 责任中心科室对照表
+ * 
+ * @author huangrui
+ * @email 
+ * @date 2021-07-27 14:53:53
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("cost_responsibility_department")
+public class ResponsibilityDepartment 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;
+
+}

+ 4 - 0
src/main/java/com/imed/costaccount/model/User.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.annotation.TableName;
 import java.io.Serializable;
 import java.util.Date;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
@@ -40,6 +41,8 @@ public class User implements Serializable {
 	 * 账号
 	 */
 	private String account;
+
+	private String mobilePhoneNum;
 	/**
 	 * 密码(MD5加密保存)
 	 */
@@ -59,6 +62,7 @@ public class User implements Serializable {
 	/**
 	 * 删除时间,如果存在表示已删除13位时间戳
 	 */
+	@JsonIgnore
 	@TableLogic(value = "0",delval = "UNIX_TIMESTAMP(NOW()) * 1000")
 	private Long deleteTime;
 

+ 31 - 0
src/main/java/com/imed/costaccount/model/dto/CostShareLevelEditDto.java

@@ -0,0 +1,31 @@
+package com.imed.costaccount.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.dto
+ * @date 2021-07-27 15:03
+ */
+@Data
+@ApiModel("编辑分摊层级对象")
+public class CostShareLevelEditDto {
+    @ApiModelProperty(name = "id",value = "分摊层级的Id")
+    private Integer id;
+    @ApiModelProperty(name = "shareName",value = "分摊层级数名称")
+    @NotNull(message = "层级名称不能为空")
+    private String shareName;
+    @ApiModelProperty(name = "leverSort",value = "分摊层级序号")
+    @NotNull(message = "层级序号不能为空")
+    private Integer leverSort;
+    @ApiModelProperty(name = "targetLevel",value = "目标层级")
+    @NotNull(message = "目标层级不能为空")
+    private Integer targetLevel;
+    @ApiModelProperty(name = "calcType",value = "计算方式  0合并计算  1 分开计算")
+    @NotNull(message = "计算方式不能为空")
+    private Integer calcType;
+}

+ 30 - 0
src/main/java/com/imed/costaccount/model/dto/CostShareLevelSaveDto.java

@@ -0,0 +1,30 @@
+package com.imed.costaccount.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.dto
+ * @date 2021-07-27 14:54
+ */
+@Data
+@ApiModel("分摊层级新增实体类")
+public class CostShareLevelSaveDto {
+
+    @ApiModelProperty(name = "shareName",value = "分摊层级数名称")
+    @NotNull(message = "层级名称不能为空")
+    private String shareName;
+    @ApiModelProperty(name = "leverSort",value = "分摊层级序号")
+    @NotNull(message = "层级序号不能为空")
+    private Integer leverSort;
+    @ApiModelProperty(name = "targetLevel",value = "目标层级")
+    @NotNull(message = "目标层级不能为空")
+    private Integer targetLevel;
+    @ApiModelProperty(name = "calcType",value = "计算方式  0合并计算  1 分开计算")
+    @NotNull(message = "计算方式不能为空")
+    private Integer calcType;
+}

+ 19 - 0
src/main/java/com/imed/costaccount/model/dto/DepartDTO.java

@@ -0,0 +1,19 @@
+package com.imed.costaccount.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+@Data
+@ApiModel("修改或新增对照中心dto")
+public class DepartDTO {
+
+    @NotNull(message = "责任中心id不能为空")
+    private Integer responsibilityId;
+
+//    @NotEmpty(message = "选择部门不能为空")
+    private List<Integer> departmentIds;
+}

+ 14 - 27
src/main/java/com/imed/costaccount/model/dto/HosptailDto.java → src/main/java/com/imed/costaccount/model/dto/HospitalDto.java

@@ -4,6 +4,8 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import javax.validation.constraints.NotNull;
+
 /**
  * @author 李加喜
  * @Package com.imed.costaccount.model.dto
@@ -15,40 +17,25 @@ import lombok.Data;
  */
 @Data
 @ApiModel("操作院区参数dto参数")
-public class HosptailDto {
-    /**
-     * 医院或者病区Id
-     */
+public class HospitalDto {
+
     @ApiModelProperty(name = "id",value = "医院或者病区Id")
+    @NotNull(message = "医院/病区的id ")
     private Integer id;
-    /**
-     * 是否是院区(0不是 1是)
-     */
+
     @ApiModelProperty(name = "name",value = "医院或院区名称")
+    @NotNull(message = "医院/病区的名称不能为空")
     private String name;
-    /**
-     * 账号
-     */
-    @ApiModelProperty(name = "is_hosptail",value = "是否为院区(0.不是,1.是)默认为0")
+
+    @ApiModelProperty(name = "is_hospital",value = "是否为院区(0.不是,1.是)默认为0")
+    @NotNull(message = "是否为院区状态不能为空")
     private Integer isHospital;
-    /**
-     * 医院唯一标识
-     */
-    @ApiModelProperty(name = "sign",value = "如果是院区医院的id,默认为0")
-    private String sign;
-    /**
-     * 如果是院区医院的id,默认为0
-     */
+
     @ApiModelProperty(name = "parentId",value = "如果是院区医院的名称,默认为")
+    @NotNull(message = "医院/病区的名称不能为空")
     private Integer parentId;
-    /**
-     * 如果是院区医院的名称,默认为'
-     */
+
     @ApiModelProperty(name = "parentName",value = "医院唯一标识,院区不存在次内容")
+    @NotNull(message = "医院唯一标识parentName不能为空")
     private String parentName;
-    /**
-     * 创建时间13位时间戳
-     */
-    @ApiModelProperty(name = "createTime",value = "创建时间13位时间戳")
-    private Long createTime;
 }

+ 39 - 0
src/main/java/com/imed/costaccount/model/dto/HospitalSaveDto.java

@@ -0,0 +1,39 @@
+package com.imed.costaccount.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.dto
+ * @date 2021-07-27 15:33
+ */
+@Data
+@ApiModel("保存院区参数dto参数")
+public class HospitalSaveDto {
+
+    @ApiModelProperty(name = "name",value = "医院或院区名称")
+    @NotNull(message = "医院/病区的名称不能为空")
+    private String name;
+
+    @ApiModelProperty(name = "is_hospital",value = "是否为院区(0.不是,1.是)默认为0")
+    @NotNull(message = "是否为院区状态不能为空")
+    private Integer isHospital;
+
+    @ApiModelProperty(name = "parentId",value = "如果是院区医院的名称,默认为")
+    @NotNull(message = "医院/病区的名称不能为空")
+    private Integer parentId;
+
+    @ApiModelProperty(name = "parentName",value = "医院唯一标识,院区不存在次内容")
+    @NotNull(message = "医院唯一标识parentName不能为空")
+    private String parentName;
+
+    @ApiModelProperty(name = "sign",value = "医院唯一标识,院区不存在次内容")
+    private String sign;
+
+    @ApiModelProperty(name = "createTime",value = "创建时间")
+    private Long createTime;
+}

+ 47 - 0
src/main/java/com/imed/costaccount/model/dto/ResponsibilityEditDTO.java

@@ -0,0 +1,47 @@
+package com.imed.costaccount.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel("编辑责任中心对象")
+public class ResponsibilityEditDTO {
+
+    @ApiModelProperty(name = "id",value = "责任id主键")
+    @NotNull(message = "责任主键不为空")
+    private Integer id;
+
+    @ApiModelProperty(name = "parentId",value = "父级id,如果不为顶级责任中心,必传")
+    private Integer parentId;
+
+
+    @ApiModelProperty(name = "responsibilityCode",value = "责任中心代码(后台校验唯一性)")
+    @NotBlank(message = "责任中心代码不能为空")
+    private String responsibilityCode;
+
+    @NotBlank(message = "责任中心名称不能为空")
+    @ApiModelProperty(name = "responsibilityName",value = "责任中心名称")
+    private String responsibilityName;
+
+    @NotNull(message = "是否汇总中心不能为空")
+    @ApiModelProperty(name = "isGatherCenter",value = "是否汇总中心(前端校验如果用户责任中心是一级那么必定是汇总中心,反之不是)")
+    private Integer isGatherCenter;
+
+    @NotNull(message = "收益类型 1. 收费中心,2.成本(费用)中心")
+    @ApiModelProperty(name = "responsibilityType",value = "收益类型 1. 收费中心,2.成本(费用)中心")
+    private Integer responsibilityType;
+
+    @NotNull(message = "分摊级别不能为空")
+    @ApiModelProperty(name = "shareLevel",value = "分摊级别(分摊接口中获取,暂时可写死)")
+    private Integer shareLevel;
+
+    @NotNull(message = "分摊级别名称不能为空")
+    @ApiModelProperty(name = "shareName",value = "分摊级别名称(分摊接口中获取,暂时可写死)")
+    private String shareName;
+
+
+}

+ 46 - 0
src/main/java/com/imed/costaccount/model/dto/ResponsibilitySaveDTO.java

@@ -0,0 +1,46 @@
+package com.imed.costaccount.model.dto;
+
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.*;
+
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+
+@Data
+@ApiModel("责任中心新增实体类")
+public class ResponsibilitySaveDTO {
+
+    @ApiModelProperty(name = "ApiModelProperty",value = "责任级别id,新增一级不传,如果是添加二级责任中心,那么必传")
+    private Integer id;
+
+
+    @ApiModelProperty(name = "responsibilityCode",value = "责任中心代码(后台校验唯一性)")
+    @NotBlank(message = "责任中心代码不能为空")
+    private String responsibilityCode;
+
+    @NotBlank(message = "责任中心名称不能为空")
+    @ApiModelProperty(name = "responsibilityName",value = "责任中心名称")
+    private String responsibilityName;
+
+    @NotNull(message = "是否汇总中心不能为空")
+    @ApiModelProperty(name = "isGatherCenter",value = "是否汇总中心(前端校验如果用户责任中心是一级那么必定是汇总中心,反之不是)")
+    private Integer isGatherCenter;
+
+    @NotNull(message = "收益类型 1. 收费中心,2.成本(费用)中心")
+    @ApiModelProperty(name = "responsibilityType",value = "收益类型 1. 收费中心,2.成本(费用)中心")
+    private Integer responsibilityType;
+
+    @NotNull(message = "分摊级别不能为空")
+    @ApiModelProperty(name = "shareLevel",value = "分摊级别(分摊接口中获取,暂时可写死)")
+    private Integer shareLevel;
+
+    @NotNull(message = "分摊级别名称不能为空")
+    @ApiModelProperty(name = "shareName",value = "分摊级别名称(分摊接口中获取,暂时可写死)")
+    private String shareName;
+
+
+
+
+}

+ 25 - 0
src/main/java/com/imed/costaccount/model/vo/CenterDepartmentVO.java

@@ -0,0 +1,25 @@
+package com.imed.costaccount.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.util.List;
+
+@Data
+@ApiModel("责任中心对照视图对象")
+public class CenterDepartmentVO {
+
+//    private Integer id;
+
+    private Integer responsibilityId;
+
+    private String responsibilityName;
+
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    private List<DepartVO> departments;
+
+    @JsonInclude(JsonInclude.Include.NON_NULL)
+    private List<CenterDepartmentVO> child;
+}

+ 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;
+}

+ 51 - 0
src/main/java/com/imed/costaccount/model/vo/CostResponsibilityVO.java

@@ -0,0 +1,51 @@
+package com.imed.costaccount.model.vo;
+
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.fasterxml.jackson.annotation.JsonInclude;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.*;
+
+import java.util.List;
+
+@Getter
+@Setter
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@ApiModel(description = "责任中心列表视图对象")
+public class CostResponsibilityVO{
+
+    @ApiModelProperty(name = "id",value = "主键")
+    private Integer id;
+
+    @ApiModelProperty(name = "responsibilityName",value = "名称")
+    private String responsibilityName;
+
+    @ApiModelProperty(name = "responsibilityCode",value = "责任中心代码")
+    private String responsibilityCode;
+
+    @ApiModelProperty(name = "responsibilityLevel",value = "责任级别(第一级为1,以此类推)")
+    private Integer responsibilityLevel;
+
+    @ApiModelProperty(name = "isGatherCenter",value = "是否汇总中心1.是,2.不是")
+    private Integer isGatherCenter;
+
+    @ApiModelProperty(name = "responsibilityType",value = "责任类型 1. 收费中心,2.成本(费用)中心")
+    private Integer responsibilityType;
+
+    @ApiModelProperty(name = "shareLevel",value = "分摊级别 如果是顶层默认为0")
+    private Integer shareLevel;
+
+    @ApiModelProperty(name = "shareName",value = "分摊级别名称")
+    private String shareName;
+
+    @JsonIgnore
+    private Integer parentId;
+
+    /**
+     * 子责任中心
+     */
+    @JsonInclude(value = JsonInclude.Include.NON_NULL)
+    private List<CostResponsibilityVO> child;
+}

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

@@ -0,0 +1,29 @@
+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 14:33
+ */
+@Getter
+@Setter
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@ApiModel
+public class CostShareLevelVO {
+    @ApiModelProperty(name = "id",value = "分摊层级的Id")
+    private Integer id;
+    @ApiModelProperty(name = "shareName",value = "分摊层级数名称")
+    private String shareName;
+    @ApiModelProperty(name = "leverSort",value = "分摊层级序号")
+    private Integer leverSort;
+    @ApiModelProperty(name = "targetLevel",value = "目标层级")
+    private Integer targetLevel;
+    @ApiModelProperty(name = "calcType",value = "计算方式  0合并计算  1 分开计算")
+    private Integer calcType;
+}

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

@@ -0,0 +1,13 @@
+package com.imed.costaccount.model.vo;
+
+import lombok.Data;
+
+@Data
+public class DepartVO {
+
+    private Integer departmentId;
+
+    private String departmentName;
+
+    private Integer departmentStatus;
+}

+ 24 - 0
src/main/java/com/imed/costaccount/model/vo/test.json

@@ -0,0 +1,24 @@
+[
+  {
+    "id": 1,
+    "responsibilityId": 2,
+    "responsibilityName": "23423",
+    "child": [
+      {
+        "id": 1,
+        "responsibilityId": 3,
+        "responsibilityName": "234223",
+        "departments": [
+          {
+            "departmentId": 1,
+            "departmentName": "234234"
+          },
+          {
+            "departmentId": 1,
+            "departmentName": "234234"
+          }
+        ]
+      }
+    ]
+  }
+]

+ 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);
+}
+

+ 49 - 0
src/main/java/com/imed/costaccount/service/CostShareLevelService.java

@@ -0,0 +1,49 @@
+package com.imed.costaccount.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.imed.costaccount.model.CostShareLevel;
+import com.imed.costaccount.model.dto.CostShareLevelEditDto;
+import com.imed.costaccount.model.dto.CostShareLevelSaveDto;
+import com.imed.costaccount.model.vo.CostShareLevelVO;
+import com.imed.costaccount.utils.PageUtils;
+
+import java.util.List;
+
+/**
+ * 分摊层级对照表
+ *
+ * @author KCYG
+ * @email KCYG@xinxicom
+ * @date 2021-07-27 14:19:09
+ */
+public interface CostShareLevelService extends IService<CostShareLevel> {
+    /**
+     * 分页查询相关分摊层级信息
+     * @param page
+     * @param pageSize
+     * @param name
+     * @param hospId
+     * @return
+     */
+    PageUtils queryList(Integer page, Integer pageSize, String name, Integer hospId);
+
+    /**
+     * 保存
+     * @param costShareLevelSaveDto
+     */
+    void addCostShareLevel(CostShareLevelSaveDto costShareLevelSaveDto);
+
+    /**
+     * 修改分摊层级数据
+     * @param costShareLevelEditDto
+     */
+    void updateByCostShareLevel(CostShareLevelEditDto costShareLevelEditDto);
+
+    /**
+     * 获取所有的分摊层级数据
+     * @param hospId
+     * @return
+     */
+    List<CostShareLevelVO> getAll(Integer hospId);
+}
+

+ 7 - 6
src/main/java/com/imed/costaccount/service/HosptailService.java → src/main/java/com/imed/costaccount/service/HospitalService.java

@@ -3,7 +3,8 @@ package com.imed.costaccount.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.model.Hospital;
-import com.imed.costaccount.model.dto.HosptailDto;
+import com.imed.costaccount.model.dto.HospitalDto;
+import com.imed.costaccount.model.dto.HospitalSaveDto;
 import com.imed.costaccount.model.vo.CommonVO;
 
 import java.util.List;
@@ -15,7 +16,7 @@ import java.util.List;
  * @email KCYG@xinxicom
  * @date 2021-07-26 08:52:56
  */
-public interface HosptailService extends IService<Hospital> {
+public interface HospitalService extends IService<Hospital> {
 
     /**
      * 通过医院标识获取院区下拉列表
@@ -41,14 +42,14 @@ public interface HosptailService extends IService<Hospital> {
 
     /**
      * 添加医院信息
-     * @param hosptailDto
+     * @param hospitalSaveDto
      */
-    void saveHosptail(HosptailDto hosptailDto);
+    void saveHosptail(HospitalSaveDto hospitalSaveDto);
 
     /**
      * 修改医院信息
-     * @param hosptailDto
+     * @param hospitalDto
      */
-    void updateByHosptail(HosptailDto hosptailDto);
+    void updateByHosptail(HospitalDto hospitalDto);
 }
 

+ 36 - 0
src/main/java/com/imed/costaccount/service/ResponsibilityDepartmentService.java

@@ -0,0 +1,36 @@
+package com.imed.costaccount.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.imed.costaccount.model.User;
+import com.imed.costaccount.model.dto.DepartDTO;
+import com.imed.costaccount.model.vo.CenterDepartmentVO;
+import com.imed.costaccount.utils.PageUtils;
+import com.imed.costaccount.model.ResponsibilityDepartment;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 责任中心科室对照表
+ *
+ * @author huangrui
+ * @email 
+ * @date 2021-07-27 14:53:53
+ */
+public interface ResponsibilityDepartmentService extends IService<ResponsibilityDepartment> {
+
+    /**
+     * 获取责任中心对照列表
+     * @param user
+     * @return
+     */
+    List<CenterDepartmentVO> getCenterDepart(User user);
+
+    /**
+     * 保存或修改责任中心对照
+     * @param departDTO
+     * @param user
+     */
+    void saveCenterDepart(DepartDTO departDTO, User user);
+}
+

+ 59 - 0
src/main/java/com/imed/costaccount/service/ResponsibilityService.java

@@ -0,0 +1,59 @@
+package com.imed.costaccount.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.imed.costaccount.model.User;
+import com.imed.costaccount.model.dto.ResponsibilityEditDTO;
+import com.imed.costaccount.model.dto.ResponsibilitySaveDTO;
+import com.imed.costaccount.model.vo.CenterDepartmentVO;
+import com.imed.costaccount.model.vo.CommonVO;
+import com.imed.costaccount.model.vo.CostResponsibilityVO;
+import com.imed.costaccount.model.Responsibility;
+
+import java.util.List;
+
+/**
+ * 责任中心表
+ *
+ * @author huangrui
+ * @email 
+ * @date 2021-07-27 10:41:59
+ */
+public interface ResponsibilityService extends IService<Responsibility> {
+
+    /**
+     * 责任中心列表不分页
+     * @return
+     * @param user
+     */
+    List<CostResponsibilityVO> getList(User user);
+
+    /**
+     * 新增责任中心
+     * @param responsibilitySaveDTO {@link ResponsibilitySaveDTO }
+     * @param user
+     */
+    void addResponsibilityCenter(ResponsibilitySaveDTO responsibilitySaveDTO, User user);
+
+    /**
+     * 编辑责任中心
+     * @param responsibilityEditDTO {@link ResponsibilityEditDTO}
+     * @param user
+     */
+    void editResponsibility(ResponsibilityEditDTO responsibilityEditDTO, User user);
+
+    /**
+     * 删除责任中心
+     * @param id
+     */
+    void deleteCenter(Integer id);
+
+    /**
+     * 获取部门树列表
+     * @param user
+     * @return
+     */
+    List<CenterDepartmentVO> getParentSon(User user);
+
+    List<CommonVO> getParentList(User user);
+}
+

+ 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;
+    }
+}

+ 105 - 0
src/main/java/com/imed/costaccount/service/impl/CostShareLevelServiceImpl.java

@@ -0,0 +1,105 @@
+package com.imed.costaccount.service.impl;
+
+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.mapper.CostShareLevelMapper;
+import com.imed.costaccount.model.CostShareLevel;
+import com.imed.costaccount.model.User;
+import com.imed.costaccount.model.dto.CostShareLevelEditDto;
+import com.imed.costaccount.model.dto.CostShareLevelSaveDto;
+import com.imed.costaccount.model.vo.CostShareLevelVO;
+import com.imed.costaccount.service.CostShareLevelService;
+import com.imed.costaccount.utils.BeanUtil;
+import com.imed.costaccount.utils.PageUtils;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
+
+import java.util.List;
+import java.util.Objects;
+
+
+@Service("costShareLevelService")
+public class CostShareLevelServiceImpl extends ServiceImpl<CostShareLevelMapper, CostShareLevel> implements CostShareLevelService {
+
+
+    /**
+     * 分页查询相关分摊层级信息
+     *
+     * @param page
+     * @param pageSize
+     * @param name
+     * @param hospId
+     * @return
+     */
+    @Override
+    public PageUtils queryList(Integer page, Integer pageSize, String name, Integer hospId) {
+        Page<CostShareLevel> costShareLevelPage = new Page<>(page, pageSize);
+        Page<CostShareLevel> pages = this.page(costShareLevelPage, new QueryWrapper<CostShareLevel>().lambda()
+                .eq(!StringUtils.isEmpty(hospId), CostShareLevel::getHospId, hospId)
+                .like(!StringUtils.isEmpty(name), CostShareLevel::getShareName, name)
+                .orderByDesc(CostShareLevel::getLeverSort));
+        List<CostShareLevel> costShareLevelList = pages.getRecords();
+        List<CostShareLevelVO> costShareLevelVOList = BeanUtil.convertList(costShareLevelList, CostShareLevelVO.class);
+        PageUtils pageUtils = new PageUtils(pages);
+        pageUtils.setList(costShareLevelVOList);
+        return pageUtils;
+    }
+
+    /**
+     * 保存
+     *
+     * @param costShareLevelSaveDto
+     */
+    @Override
+    public void addCostShareLevel(CostShareLevelSaveDto costShareLevelSaveDto) {
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        Integer hospId = user.getHospId();
+        CostShareLevel costShareLevel = BeanUtil.convertObj(costShareLevelSaveDto, CostShareLevel.class);
+        costShareLevel.setCreateTime(System.currentTimeMillis());
+        costShareLevel.setHospId(hospId);
+        baseMapper.insert(costShareLevel);
+    }
+
+    /**
+     * 修改分摊层级数据
+     *
+     * @param costShareLevelEditDto
+     */
+    @Override
+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    public void updateByCostShareLevel(CostShareLevelEditDto costShareLevelEditDto) {
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        Integer hospId = user.getHospId();
+        Integer id = costShareLevelEditDto.getId();
+        CostShareLevel costShareLevel = baseMapper.selectById(id);
+        if (Objects.isNull(costShareLevel)){
+            throw new CostException("分摊层级数据不存在");
+        }
+        baseMapper.deleteById(id);
+        CostShareLevel costShareLevelRequest = BeanUtil.convertObj(costShareLevelEditDto, CostShareLevel.class);
+        costShareLevelRequest.setId(null);
+        costShareLevelRequest.setCreateTime(System.currentTimeMillis());
+        costShareLevelRequest.setHospId(hospId);
+        baseMapper.insert(costShareLevelRequest);
+    }
+
+    /**
+     * 获取所有的分摊层级数据
+     *
+     * @param hospId
+     * @return
+     */
+    @Override
+    public List<CostShareLevelVO> getAll(Integer hospId) {
+        QueryWrapper<CostShareLevel> wrapper = new QueryWrapper<>();
+        wrapper.eq(!StringUtils.isEmpty(hospId),"hosp_id",hospId);
+        List<CostShareLevel> costShareLevels = baseMapper.selectList(wrapper);
+        List<CostShareLevelVO> costShareLevelVOList = BeanUtil.convertList(costShareLevels, CostShareLevelVO.class);
+        return costShareLevelVOList;
+    }
+}

+ 7 - 8
src/main/java/com/imed/costaccount/service/impl/DepartmentServiceImpl.java

@@ -1,25 +1,23 @@
 package com.imed.costaccount.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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.mapper.DepartmentMapper;
 import com.imed.costaccount.model.Department;
-import com.imed.costaccount.model.dto.DepartmentDto;
 import com.imed.costaccount.model.dto.DepartmentRequest;
 import com.imed.costaccount.model.vo.DepartmentVO;
 import com.imed.costaccount.service.DepartmentService;
 import org.springframework.stereotype.Service;
+import org.springframework.util.StringUtils;
 
 import java.util.List;
 import java.util.Objects;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import org.springframework.util.StringUtils;
-
 @Service("departmentService")
 public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Department> implements DepartmentService {
 
@@ -92,8 +90,9 @@ public class DepartmentServiceImpl extends ServiceImpl<DepartmentMapper, Departm
         }
         baseMapper.deleteById(id);
         // 新增操作
-        department.setId(null);
-        department.setCreateTime(System.currentTimeMillis());
-        baseMapper.insert(department);
+        Department departmentResponse = BeanUtil.convertObj(departmentRequest, Department.class);
+        departmentResponse.setId(null);
+        departmentResponse.setCreateTime(System.currentTimeMillis());
+        baseMapper.insert(departmentResponse);
     }
 }

+ 22 - 17
src/main/java/com/imed/costaccount/service/impl/HosptailServiceImpl.java → src/main/java/com/imed/costaccount/service/impl/HospitalServiceImpl.java

@@ -2,29 +2,34 @@ package com.imed.costaccount.service.impl;
 
 import cn.hutool.core.collection.CollUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+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.PageUtils;
 import com.imed.costaccount.mapper.HospitalMapper;
 import com.imed.costaccount.model.Hospital;
-import com.imed.costaccount.model.dto.HosptailDto;
+import com.imed.costaccount.model.dto.HospitalDto;
+import com.imed.costaccount.model.dto.HospitalSaveDto;
 import com.imed.costaccount.model.vo.CommonVO;
 import com.imed.costaccount.model.vo.HosptailVO;
-import com.imed.costaccount.service.HosptailService;
+import com.imed.costaccount.service.HospitalService;
 import com.imed.costaccount.utils.BeanUtil;
 import org.springframework.stereotype.Service;
-
-import java.util.*;
-
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.transaction.annotation.Propagation;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
+
 
+/**
+ * @author 11290
+ */
 @Service("hosptailService")
-public class HosptailServiceImpl extends ServiceImpl<HospitalMapper, Hospital> implements HosptailService {
+public class HospitalServiceImpl extends ServiceImpl<HospitalMapper, Hospital> implements HospitalService {
 
     /**
      * 分页查询所有的医院信息
@@ -49,13 +54,11 @@ public class HosptailServiceImpl extends ServiceImpl<HospitalMapper, Hospital> i
     /**
      * 添加医院信息
      *
-     * @param hosptailDto
+     * @param hospitalSaveDto
      */
     @Override
-    public void saveHosptail(HosptailDto hosptailDto) {
-        hosptailDto.setCreateTime(System.currentTimeMillis());
-        // TODO 可能需要补充没有传递的数据
-        Hospital hospital = BeanUtil.convertObj(hosptailDto, Hospital.class);
+    public void saveHosptail(HospitalSaveDto hospitalSaveDto) {
+        Hospital hospital = BeanUtil.convertObj(hospitalSaveDto, Hospital.class);
         hospital.setCreateTime(System.currentTimeMillis());
         baseMapper.insert(hospital);
     }
@@ -63,19 +66,21 @@ public class HosptailServiceImpl extends ServiceImpl<HospitalMapper, Hospital> i
     /**
      * 修改医院信息
      *
-     * @param hosptailDto
+     * @param hospitalDto
      */
     @Override
     @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
-    public void updateByHosptail(HosptailDto hosptailDto) {
+    public void updateByHosptail(HospitalDto hospitalDto) {
         Hospital hospital = baseMapper.selectOne(new QueryWrapper<Hospital>().lambda().
-                eq(!StringUtils.isEmpty(hosptailDto.getId()), Hospital::getId, hosptailDto.getId()));
+                eq(!StringUtils.isEmpty(hospitalDto.getId()), Hospital::getId, hospitalDto.getId()));
         if (Objects.isNull(hospital)) {
             throw new CostException("不存在相关医院信息");
         }
         baseMapper.deleteById(hospital.getId());
-        Hospital hospitalRequest = BeanUtil.convertObj(hospital, Hospital.class);
+        Hospital hospitalRequest = BeanUtil.convertObj(hospitalDto, Hospital.class);
         hospitalRequest.setId(null);
+        hospitalRequest.setCreateTime(System.currentTimeMillis());
+        hospitalRequest.setSign(hospital.getSign());
         baseMapper.insert(hospitalRequest);
     }
 

+ 85 - 0
src/main/java/com/imed/costaccount/service/impl/ResponsibilityDepartmentServiceImpl.java

@@ -0,0 +1,85 @@
+package com.imed.costaccount.service.impl;
+
+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;
+import com.imed.costaccount.model.vo.CenterDepartmentVO;
+import com.imed.costaccount.model.vo.DepartVO;
+import com.imed.costaccount.service.ResponsibilityDepartmentService;
+import com.imed.costaccount.service.ResponsibilityService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+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;
+
+@Slf4j
+@Service("responsibilityDepartmentService")
+public class ResponsibilityDepartmentServiceImpl
+        extends ServiceImpl<ResponsibilityDepartmentMapper, ResponsibilityDepartment> implements ResponsibilityDepartmentService {
+
+    private ResponsibilityService responsibilityService;
+
+    public ResponsibilityDepartmentServiceImpl(ResponsibilityService responsibilityService) {
+        this.responsibilityService = responsibilityService;
+    }
+
+    /**
+     * 获取责任中心对照列表
+     *
+     * @param user 当前登录用户
+     * @return
+     */
+    @Override
+    public List<CenterDepartmentVO> getCenterDepart(User user) {
+        List<CenterDepartmentVO> list = responsibilityService.getParentSon(user);
+        for (CenterDepartmentVO centerDepartmentVO : list) {
+            for (CenterDepartmentVO departmentVO : centerDepartmentVO.getChild()) {
+                List<DepartVO> departVOS = baseMapper.getDepartByCenterId(departmentVO.getResponsibilityId());
+                departmentVO.setDepartments(departVOS);
+            }
+        }
+        return list;
+    }
+
+    /**
+     * 保存或修改责任中心对照
+     *
+     * @param departDTO
+     * @param user
+     */
+    @Override
+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    public void saveCenterDepart(DepartDTO departDTO, User user) {
+        Integer responsibilityId = departDTO.getResponsibilityId();
+        Integer hospId = user.getHospId();
+        List<ResponsibilityDepartment> list = this.list(
+                new LambdaQueryWrapper<ResponsibilityDepartment>().select(ResponsibilityDepartment::getId)
+                        .eq(ResponsibilityDepartment::getResponsibilityId, responsibilityId)
+                        .eq(ResponsibilityDepartment::getHospId, hospId)
+        );
+        if (CollUtil.isNotEmpty(list)) {
+            this.removeByIds(list);
+        }
+        List<Integer> departmentIds = departDTO.getDepartmentIds();
+        if (CollUtil.isEmpty(departmentIds)) {
+            return ;
+        }
+        List<ResponsibilityDepartment> data = departmentIds.stream().map(item -> {
+            ResponsibilityDepartment centerDepart = new ResponsibilityDepartment();
+            return centerDepart.setResponsibilityId(responsibilityId).setCreateTime(new Date().getTime()).setHospId(hospId)
+                    .setDepartmentId(item);
+        }).collect(Collectors.toList());
+
+        this.saveBatch(data);
+    }
+}

+ 248 - 0
src/main/java/com/imed/costaccount/service/impl/ResponsibilityServiceImpl.java

@@ -0,0 +1,248 @@
+package com.imed.costaccount.service.impl;
+
+import cn.hutool.core.collection.CollUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.imed.costaccount.common.exception.CostException;
+import com.imed.costaccount.enums.ErrorCodeEnum;
+import com.imed.costaccount.model.User;
+import com.imed.costaccount.model.dto.ResponsibilityEditDTO;
+import com.imed.costaccount.model.dto.ResponsibilitySaveDTO;
+import com.imed.costaccount.model.vo.CenterDepartmentVO;
+import com.imed.costaccount.model.vo.CommonVO;
+import com.imed.costaccount.model.vo.CostResponsibilityVO;
+import com.imed.costaccount.utils.BeanUtil;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.beanutils.BeanUtilsBean;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+
+import com.imed.costaccount.mapper.ResponsibilityMapper;
+import com.imed.costaccount.model.Responsibility;
+import com.imed.costaccount.service.ResponsibilityService;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+@Slf4j
+@Service("responsibilityService")
+public class ResponsibilityServiceImpl extends ServiceImpl<ResponsibilityMapper, Responsibility> implements ResponsibilityService {
+
+
+    /**
+     * 责任中心列表不分页
+     *
+     * @param user
+     * @return
+     */
+    @Override
+    public List<CostResponsibilityVO> getList(User user) {
+        // 1. 获取所有的列表然后组装
+        List<Responsibility> list = this.list(
+                new LambdaQueryWrapper<Responsibility>()
+                        .eq(Responsibility::getHospId, user.getHospId())
+        );
+        if (CollUtil.isEmpty(list)) {
+            return Collections.emptyList();
+        }
+        // 拷贝组合
+        List<CostResponsibilityVO> costResponsibilityVOS = BeanUtil.convertList(list, CostResponsibilityVO.class);
+        List<CostResponsibilityVO> parentCostResponsibility = costResponsibilityVOS.stream()
+                .filter(i -> i.getResponsibilityLevel().equals(1)).collect(Collectors.toList());
+
+        parentCostResponsibility.forEach(i -> costResponsibilityVOS.forEach(j -> {
+            if (j.getParentId().equals(i.getId())) {
+                i.getChild().add(j);
+            }
+        }));
+
+        return parentCostResponsibility;
+    }
+
+
+    /**
+     * 新增责任中心
+     *
+     * @param responsibilitySaveDTO {@link ResponsibilitySaveDTO }
+     * @param user
+     */
+    @Override
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+    public void addResponsibilityCenter(ResponsibilitySaveDTO responsibilitySaveDTO, User user) {
+        // 如果是一级分类parentId为0
+        Integer id = responsibilitySaveDTO.getId();
+        if (Objects.isNull(id)) {
+            id = 0;
+        }
+        // 校验责任代码唯一性
+        Responsibility one = this.getOne(
+                new LambdaQueryWrapper<Responsibility>().select(Responsibility::getId)
+                        .eq(Responsibility::getResponsibilityCode, responsibilitySaveDTO.getResponsibilityCode())
+                        .eq(Responsibility::getHospId, user.getHospId()).last("limit 1")
+        );
+        if (Objects.nonNull(one)) {
+            throw new CostException(ErrorCodeEnum.RESPONSIBILITY_CODE_EXIST);
+        }
+
+        Responsibility center = BeanUtil.convertObj(responsibilitySaveDTO, Responsibility.class);
+        center.setCreateTime(new Date().getTime()).setId(null).setParentId(id);
+        if (id == 0) {
+            center.setShareLevel(0);
+            center.setShareName("");
+        }
+        this.save(center);
+    }
+
+
+    /**
+     * 编辑责任中心
+     *
+     * @param responsibilityEditDTO {@link ResponsibilityEditDTO}
+     * @param user
+     */
+    @Override
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+    public void editResponsibility(ResponsibilityEditDTO responsibilityEditDTO, User user) {
+        Integer id = responsibilityEditDTO.getId();
+        Responsibility center = this.getById(id);
+        if (Objects.isNull(center)) {
+            throw new CostException(ErrorCodeEnum.DATA_NOT_EXIST);
+        }
+        // 如果修改父节点节点(只有两层的情况)
+        if (center.getResponsibilityLevel() == 1) {
+            this.updateParent(responsibilityEditDTO, center);
+            return;
+        }
+
+        this.updateCurrent(responsibilityEditDTO, center);
+    }
+
+    /**
+     * 修的是父节点
+     *
+     * @param dto
+     * @param responsibility
+     */
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+    public void updateParent(ResponsibilityEditDTO dto, Responsibility responsibility) {
+        // 删除原有的父节点数据
+        Integer id = dto.getId();
+        this.removeById(id);
+        // 新增父节点数据
+        Responsibility newResponsibility = BeanUtil.convertObj(dto, Responsibility.class);
+        newResponsibility.setId(null).setHospId(responsibility.getHospId()).setCreateTime(new Date().getTime());
+        this.save(newResponsibility);
+        // 将原来所有父节点下数据关联到新的父节点下
+        List<Responsibility> list = this.list(new QueryWrapper<Responsibility>().lambda().eq(Responsibility::getParentId, id));
+        list.forEach(i -> i.setParentId(newResponsibility.getId()));
+        this.updateBatchById(list);
+
+    }
+
+    /**
+     * 修改当前的节点
+     *
+     * @param responsibility
+     * @param dto
+     */
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+    public void updateCurrent(ResponsibilityEditDTO dto, Responsibility responsibility) {
+        // 删除原有的父节点数据
+        Integer id = dto.getId();
+        this.removeById(id);
+        // 新增父节点数据
+        Responsibility newResponsibility = BeanUtil.convertObj(dto, Responsibility.class);
+        newResponsibility.setId(null).setHospId(responsibility.getHospId()).setCreateTime(new Date().getTime());
+        this.save(newResponsibility);
+    }
+
+
+    /**
+     * 删除责任中心
+     *
+     * @param id
+     */
+    @Override
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+    public void deleteCenter(Integer id) {
+        Responsibility center = this.getById(id);
+        if (Objects.isNull(center)) {
+            throw new CostException(ErrorCodeEnum.DATA_NOT_EXIST);
+        }
+        Integer parentId = center.getParentId();
+        if (parentId == 0) {
+            this.deleteAllSonCenter(id);
+            return;
+        }
+        this.removeById(id);
+    }
+
+    /**
+     * 删除父节点以及所有子节点责任中心
+     *
+     * @param id
+     */
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
+    public void deleteAllSonCenter(Integer id) {
+        this.removeById(id);
+        this.remove(new LambdaQueryWrapper<Responsibility>().eq(Responsibility::getParentId, id));
+    }
+
+    /**
+     * 获取部门树列表
+     *
+     * @param user
+     * @return
+     */
+    @Override
+    public List<CenterDepartmentVO> getParentSon(User user) {
+        // 1. 获取所有的列表然后组装
+        List<Responsibility> parentList = this.list(
+                new LambdaQueryWrapper<Responsibility>()
+                        .eq(Responsibility::getHospId, user.getHospId())
+                        .eq(Responsibility::getParentId, 0)
+        );
+        if (CollUtil.isEmpty(parentList)) {
+            throw new CostException(ErrorCodeEnum.DATA_NOT_EXIST);
+        }
+        List<Responsibility> sonList = this.list(
+                new LambdaQueryWrapper<Responsibility>()
+                        .eq(Responsibility::getHospId, user.getHospId())
+                        .ne(Responsibility::getParentId, 0)
+        );
+        List<CenterDepartmentVO> list = new ArrayList<>();
+        // 拷贝组合
+        for (Responsibility parent : parentList) {
+            CenterDepartmentVO centerDepartmentVO = new CenterDepartmentVO();
+            centerDepartmentVO.setResponsibilityId(parent.getId());
+            centerDepartmentVO.setResponsibilityName(parent.getResponsibilityName());
+            for (Responsibility son : sonList) {
+                CenterDepartmentVO sonVO = new CenterDepartmentVO();
+                if (parent.getId().equals(son.getParentId())) {
+                    sonVO.setResponsibilityId(son.getId());
+                    sonVO.setResponsibilityName(son.getResponsibilityName());
+                    centerDepartmentVO.getChild().add(sonVO);
+                }
+            }
+            list.add(centerDepartmentVO);
+        }
+        return list;
+    }
+
+
+    @Override
+    public List<CommonVO> getParentList(User user) {
+        List<Responsibility> list = this.list(
+                new LambdaQueryWrapper<Responsibility>().select(Responsibility::getId, Responsibility::getResponsibilityName)
+                        .eq(Responsibility::getHospId, user.getHospId())
+        );
+        return list.stream().map(i -> {
+            CommonVO commonVO = new CommonVO();
+            commonVO.setId(i.getId());
+            commonVO.setName(i.getResponsibilityName());
+            return commonVO;
+        }).collect(Collectors.toList());
+    }
+}

+ 30 - 25
src/main/java/com/imed/costaccount/service/impl/UserServiceImpl.java

@@ -19,7 +19,7 @@ import com.imed.costaccount.model.dto.LoginDTO;
 import com.imed.costaccount.model.dto.UserDto;
 import com.imed.costaccount.model.vo.LoginVO;
 import com.imed.costaccount.model.vo.UserVO;
-import com.imed.costaccount.service.HosptailService;
+import com.imed.costaccount.service.HospitalService;
 import com.imed.costaccount.service.UserService;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.SecurityUtils;
@@ -29,7 +29,6 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 
 import java.util.ArrayList;
-import java.util.Date;
 import java.util.List;
 import java.util.Objects;
 import java.util.stream.Collectors;
@@ -44,9 +43,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
 
     private JwtUtil jwtUtil;
 
-    private HosptailService hosptailService;
+    private HospitalService hosptailService;
 
-    public UserServiceImpl(JwtUtil jwtUtil, HosptailService hosptailService) {
+    public UserServiceImpl(JwtUtil jwtUtil, HospitalService hosptailService) {
         this.jwtUtil = jwtUtil;
         this.hosptailService = hosptailService;
     }
@@ -93,9 +92,9 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
      * @return
      */
     @Override
-    public PageUtils queryList(Integer page, Integer pageSize, Integer hospId,String name) {
+    public PageUtils queryList(Integer page, Integer pageSize, Integer hospId, String name) {
         Page<User> userPage = new Page<>(page, pageSize);
-        Page<User> pages = this.page(userPage, new QueryWrapper<User>().lambda().eq(User::getHospId, hospId).like(!StringUtils.isEmpty(name),User::getName,name));
+        Page<User> pages = this.page(userPage, new QueryWrapper<User>().lambda().eq(User::getHospId, hospId).like(!StringUtils.isEmpty(name), User::getName, name));
         List<User> records = pages.getRecords();
         List<UserVO> userVOS = BeanUtil.convertList(records, UserVO.class);
         PageUtils pageUtils = new PageUtils(pages);
@@ -111,7 +110,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
      */
     @Override
     public List<UserVO> getByUserName(String name) {
-        List<User> users = baseMapper.selectList(new QueryWrapper<User>().lambda().like(!StringUtils.isEmpty(name),User::getName,name));
+        List<User> users = baseMapper.selectList(new QueryWrapper<User>().lambda().like(!StringUtils.isEmpty(name), User::getName, name));
         List<UserVO> userVOS = BeanUtil.convertList(users, UserVO.class);
         return userVOS;
     }
@@ -122,14 +121,14 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
      * @param userDto
      */
     @Override
-    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public void saveUser(UserDto userDto) {
         User user = (User) SecurityUtils.getSubject().getPrincipal();
         // 医院的Id
         Integer hospId = user.getHospId();
 
         User userRequest = BeanUtil.convertObj(userDto, User.class);
-        if (StringUtils.isEmpty(userDto.getPassword())){
+        if (StringUtils.isEmpty(userDto.getPassword())) {
             throw new CostException("密码不能为空");
         }
         userRequest.setPassword(SecureUtil.md5(userDto.getPassword()));
@@ -144,18 +143,18 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
      * @param userDto
      */
     @Override
-    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public void updateByUser(UserDto userDto) {
         User user = baseMapper.selectOne(new QueryWrapper<User>().lambda().like(
-                !StringUtils.isEmpty(userDto.getId()),User::getId,userDto.getId()));
+                !StringUtils.isEmpty(userDto.getId()), User::getId, userDto.getId()));
         if (Objects.isNull(user)) {
             throw new CostException("用户不存在");
         }
         baseMapper.deleteById(user.getId());
-        User userRequest = BeanUtil.convertObj(user,User.class);
+        User userRequest = BeanUtil.convertObj(user, User.class);
         user.setId(null);
         user.setHospitalStatus(userDto.getHospitalStatus());
-        if (!StringUtils.isEmpty(userDto.getPassword()) ){
+        if (!StringUtils.isEmpty(userDto.getPassword())) {
             String newPassWord = SecureUtil.md5(userDto.getPassword());
             user.setPassword(newPassWord);
         }
@@ -163,12 +162,13 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
     }
 
     /**
-     *  导入用户
-     * @param list 上传的文件读取的内容
+     * 导入用户
+     *
+     * @param list        上传的文件读取的内容
      * @param currentUser 当前登录用户
      */
     @Override
-    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
     public Result importUser(List<List<Object>> list, User currentUser) {
         // TODO: 2021/7/26 校验excel格式是否正确
         for (int i = list.size() - 1; i >= 0; i--) {
@@ -181,34 +181,39 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements Us
         List<String> errRowNums = new ArrayList<>();
         for (int i = 0; i < list.size(); i++) {
             List<Object> data = list.get(i);
-            log.info("得到用户输入的数据为:{}",data);
+            log.info("得到用户输入的数据为:{}", data);
             User user = new User();
             user.setHospId(currentUser.getHospId());
-            user.setCreateTime(new Date().getTime());
+            user.setCreateTime(System.currentTimeMillis());
             int size = data.size();
-            if (size != 3) {
+            if (size != 5) {
                 // 补充读取的null问题
-                if (size == 2) {
+                if (size == 4) {
                     data.add(StrUtil.EMPTY);
                 }
-                for (int j = 0; j < 3; j++) {
+                for (int j = 0; j < 5; j++) {
                     if (Objects.isNull(data.get(j))) {
                         data.set(j, StrUtil.EMPTY);
                     }
                 }
             }
-            for (int j = 0; j < 3; j++) {
+            for (int j = 0; j < 5; j++) {
                 String str = String.valueOf(data.get(j));
-                log.info("得到的字符串{}",str);
+                log.info("得到的字符串{}", str);
                 if (StrUtil.isBlank(str)) {
                     errRowNums.add("" + (i + 5));
                 }
                 if (j == 0) {
-                    user.setName(str);
+                    // TODO: 2021/7/27 查询到具体院区
+                    user.setHospId(8);
                 } else if (j == 1) {
+                    user.setName(str);
+                } else if (j == 2) {
                     user.setAccount(str);
-                } else {
+                } else if (j == 3) {
                     user.setPassword(SecureUtil.md5(str));
+                } else {
+                    user.setMobilePhoneNum(str);
                 }
             }
             users.add(user);

+ 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();
+    }
+
+}

+ 97 - 0
src/main/java/com/imed/costaccount/web/CostShareLevelController.java

@@ -0,0 +1,97 @@
+package com.imed.costaccount.web;
+
+import com.imed.costaccount.common.util.Result;
+import com.imed.costaccount.model.User;
+import com.imed.costaccount.model.dto.CostShareLevelEditDto;
+import com.imed.costaccount.model.dto.CostShareLevelSaveDto;
+import com.imed.costaccount.model.vo.CostShareLevelVO;
+import com.imed.costaccount.service.CostShareLevelService;
+import com.imed.costaccount.utils.PageUtils;
+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 javax.validation.Valid;
+import java.util.Arrays;
+import java.util.List;
+
+
+/**
+ * 分摊层级对照表
+ *
+ * @author KCYG
+ * @date 2021-07-27 14:19:09
+ */
+@RestController
+@RequestMapping("/costsharelevel")
+@Api(tags = "分摊层级相关操作")
+public class CostShareLevelController {
+    @Autowired
+    private CostShareLevelService costShareLevelService;
+
+    /**
+     * 分页查询列表
+     */
+    @GetMapping("/list")
+    @ApiOperation("分页查询分摊层级数据")
+    public Result list(@RequestParam(defaultValue = "1", value = "page") Integer page,
+                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
+                       @RequestParam(value = "name", required = false) String name){
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        Integer hospId = user.getHospId();
+        PageUtils pageUtils= costShareLevelService.queryList(page,pageSize,name,hospId);
+        return Result.ok(pageUtils);
+    }
+
+
+//    /**
+//     * 信息
+//     */
+//    @RequestMapping("/info/{id}")
+//    public Result info(@PathVariable("id") Integer id){
+//		CostShareLevel costShareLevel = costShareLevelService.getById(id);
+//        return Result.ok(costShareLevel);
+//    }
+
+    @GetMapping("/getAll")
+    @ApiOperation("查询所有分摊层级数据")
+    public Result getAll(){
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        Integer hospId = user.getHospId();
+        List<CostShareLevelVO> costShareLevelVOList = costShareLevelService.getAll(hospId);
+        return Result.ok(costShareLevelVOList);
+    }
+
+    /**
+     * 保存
+     */
+    @PostMapping("/save")
+    @ApiOperation("保存分摊层级数据")
+    public Result save(@RequestBody @Valid CostShareLevelSaveDto costShareLevelSaveDto){
+		costShareLevelService.addCostShareLevel(costShareLevelSaveDto);
+        return Result.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @PutMapping("/update")
+    @ApiOperation("修改分摊层级数据")
+    public Result update(@RequestBody CostShareLevelEditDto costShareLevelEditDto){
+		costShareLevelService.updateByCostShareLevel(costShareLevelEditDto);
+        return Result.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @DeleteMapping("/delete")
+    @ApiOperation("删除分摊层级数据")
+    public Result delete(@RequestBody Integer[] ids){
+		costShareLevelService.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;
 
 
 /**

+ 5 - 6
src/main/java/com/imed/costaccount/web/ExcelController.java

@@ -49,18 +49,17 @@ public class ExcelController {
         String url = System.getProperty("java.io.tmpdir") + File.separator + uuid + File.separator + uuid + ".xls";
         FileUtil.del(FileUtil.file(url));
 
-        ExcelWriter writer = new ExcelWriter(url, "sheet0");
+        ExcelWriter writer = new ExcelWriter(url);
         // 样式
         Sheet sheet = writer.getSheet();
-        sheet.setColumnWidth(0, 20);
-
+        sheet.setDefaultColumnWidth(1000 * 256);
         // 内容
-        writer.merge(0, 1, 0, 2, "为了保证成功导入,请勿修改模板格式", false);
+        writer.merge(0, 1, 0, 4, "为了保证成功导入,请勿修改模板格式", false);
         writer.passCurrentRow();
         writer.passCurrentRow();
-        writer.merge(2, 2, 0, 2, "测试医院用户导入", false);
+        writer.merge(2, 2, 0, 4, "测试医院用户导入", false);
         writer.passCurrentRow();
-        writer.writeRow(Arrays.asList("姓名", "账户", "密码"));
+        writer.writeRow(Arrays.asList("院区","姓名", "账户", "密码","手机号码"));
 
         // 写入响应
         response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");

+ 13 - 12
src/main/java/com/imed/costaccount/web/HospitalController.java

@@ -1,19 +1,20 @@
 package com.imed.costaccount.web;
 
-import java.util.Arrays;
-
 import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.common.util.Result;
 import com.imed.costaccount.model.Hospital;
 import com.imed.costaccount.model.User;
-import com.imed.costaccount.model.dto.HosptailDto;
-import com.imed.costaccount.service.HosptailService;
+import com.imed.costaccount.model.dto.HospitalDto;
+import com.imed.costaccount.model.dto.HospitalSaveDto;
+import com.imed.costaccount.service.HospitalService;
 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;
+
 
 /**
  * 医院表
@@ -26,7 +27,7 @@ import org.springframework.web.bind.annotation.*;
 @Api(tags = "医院相关操作")
 public class HospitalController {
     @Autowired
-    private HosptailService hosptailService;
+    private HospitalService hospitalService;
 
 //    /**
 //     * 列表
@@ -48,7 +49,7 @@ public class HospitalController {
                        @RequestParam(value = "name",required = false) String name){
         User user = (User) SecurityUtils.getSubject().getPrincipal();
         Integer hospId = user.getHospId();
-        PageUtils pageUtils = hosptailService.queryList(page,pageSize,hospId,name);
+        PageUtils pageUtils = hospitalService.queryList(page,pageSize,hospId,name);
         return Result.ok(pageUtils);
     }
 
@@ -58,7 +59,7 @@ public class HospitalController {
     @GetMapping("/getById")
     @ApiOperation("根据Id查询医院信息")
     public Result info(Integer id){
-		Hospital hospital = hosptailService.getById(id);
+		Hospital hospital = hospitalService.getById(id);
         return Result.ok(hospital);
     }
 
@@ -67,8 +68,8 @@ public class HospitalController {
      */
     @PostMapping("/save")
     @ApiOperation("保存医院信息")
-    public Result save(@RequestBody HosptailDto hosptailDto){
-		hosptailService.saveHosptail(hosptailDto);
+    public Result save(@RequestBody HospitalSaveDto hospitalSaveDto){
+        hospitalService.saveHosptail(hospitalSaveDto);
         return Result.ok();
     }
 
@@ -78,9 +79,9 @@ public class HospitalController {
      */
     @PutMapping("/update")
     @ApiOperation("修改医院信息")
-    public Result update(@RequestBody HosptailDto hosptailDto){
+    public Result update(@RequestBody HospitalDto hospitalDto){
         // 作废操作
-        hosptailService.updateByHosptail(hosptailDto);
+        hospitalService.updateByHosptail(hospitalDto);
         return Result.ok();
     }
 
@@ -90,7 +91,7 @@ public class HospitalController {
     @DeleteMapping("/delete")
     @ApiOperation("删除医院信息")
     public Result delete(@RequestBody Integer[] ids){
-		hosptailService.removeByIds(Arrays.asList(ids));
+        hospitalService.removeByIds(Arrays.asList(ids));
         return Result.ok();
     }
 

+ 5 - 7
src/main/java/com/imed/costaccount/web/LoginController.java

@@ -4,15 +4,13 @@ import com.imed.costaccount.common.util.Result;
 import com.imed.costaccount.model.dto.LoginDTO;
 import com.imed.costaccount.model.vo.CommonVO;
 import com.imed.costaccount.model.vo.LoginVO;
-import com.imed.costaccount.service.HosptailService;
+import com.imed.costaccount.service.HospitalService;
 import com.imed.costaccount.service.UserService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
-import org.apache.ibatis.annotations.Param;
 import org.springframework.web.bind.annotation.*;
 
 import javax.validation.Valid;
-import java.sql.ResultSet;
 import java.util.List;
 
 @Api(tags = "登录相关模块")
@@ -21,11 +19,11 @@ import java.util.List;
 public class LoginController {
 
     private UserService userService;
-    private HosptailService hosptailService;
+    private HospitalService hospitalService;
 
-    public LoginController(UserService userService, HosptailService hosptailService) {
+    public LoginController(UserService userService, HospitalService hospitalService) {
         this.userService = userService;
-        this.hosptailService = hosptailService;
+        this.hospitalService = hospitalService;
     }
 
 
@@ -49,7 +47,7 @@ public class LoginController {
     @ApiOperation("获取院区")
     @GetMapping("/getHospArea")
     public Result getHospArea(@RequestParam String sign) {
-        List<CommonVO> commonVOs = hosptailService.getHospArea(sign);
+        List<CommonVO> commonVOs = hospitalService.getHospArea(sign);
         return Result.ok(commonVOs);
     }
 }

+ 70 - 0
src/main/java/com/imed/costaccount/web/ResponsibilityController.java

@@ -0,0 +1,70 @@
+package com.imed.costaccount.web;
+
+import com.imed.costaccount.common.util.Result;
+import com.imed.costaccount.model.User;
+import com.imed.costaccount.model.dto.ResponsibilityEditDTO;
+import com.imed.costaccount.model.dto.ResponsibilitySaveDTO;
+import com.imed.costaccount.model.vo.CommonVO;
+import com.imed.costaccount.model.vo.CostResponsibilityVO;
+import com.imed.costaccount.service.ResponsibilityService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.shiro.SecurityUtils;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.List;
+
+@Api(tags = "责任中心")
+@Slf4j
+@RestController
+@RequestMapping("/costAccount/responsibility")
+public class ResponsibilityController {
+
+    private ResponsibilityService responsibilityService;
+
+    public ResponsibilityController(ResponsibilityService responsibilityService) {
+        this.responsibilityService = responsibilityService;
+    }
+
+    @ApiOperation("责任中心列表")
+    @GetMapping("/list")
+    public Result list() {
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        List<CostResponsibilityVO> list = responsibilityService.getList(user);
+        return Result.ok(list);
+    }
+
+    @ApiOperation("新增责任中心")
+    @PostMapping("/save")
+    public Result save(@RequestBody @Valid ResponsibilitySaveDTO responsibilitySaveDTO) {
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        responsibilityService.addResponsibilityCenter(responsibilitySaveDTO, user);
+        return Result.ok();
+    }
+
+    @ApiOperation("编辑责任中心")
+    @PostMapping("/edit")
+    public Result edit(@RequestBody @Valid ResponsibilityEditDTO responsibilityEditDTO) {
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        responsibilityService.editResponsibility(responsibilityEditDTO, user);
+        return Result.ok();
+    }
+
+    @ApiOperation("删除某个责任中心")
+    @PostMapping("/delete")
+    public Result delete(@RequestParam Integer id) {
+        responsibilityService.deleteCenter(id);
+        return Result.ok();
+    }
+
+
+    @ApiOperation("所有第一层父节点")
+    @GetMapping("/getParentList")
+    public Result getParentList() {
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        List<CommonVO> list = responsibilityService.getParentList(user);
+        return Result.ok(list);
+    }
+}

+ 57 - 0
src/main/java/com/imed/costaccount/web/ResponsibilityDepartmentController.java

@@ -0,0 +1,57 @@
+package com.imed.costaccount.web;
+
+import java.util.Arrays;
+import java.util.List;
+
+import com.imed.costaccount.common.util.Result;
+import com.imed.costaccount.model.User;
+import com.imed.costaccount.model.dto.DepartDTO;
+import com.imed.costaccount.model.vo.CenterDepartmentVO;
+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 com.imed.costaccount.model.ResponsibilityDepartment;
+import com.imed.costaccount.service.ResponsibilityDepartmentService;
+import com.imed.costaccount.utils.PageUtils;
+
+import javax.validation.Valid;
+
+
+/**
+ * 责任中心科室对照表
+ *
+ * @author huangrui
+ * @date 2021-07-27 14:53:53
+ */
+@Api(tags="对照中心")
+@RestController
+@RequestMapping("/costAccount/centerDepartment")
+public class ResponsibilityDepartmentController {
+    private ResponsibilityDepartmentService responsibilityDepartmentService;
+
+    public ResponsibilityDepartmentController(ResponsibilityDepartmentService responsibilityDepartmentService) {
+        this.responsibilityDepartmentService = responsibilityDepartmentService;
+    }
+
+
+    @ApiOperation("列表")
+    @GetMapping("/list")
+    public Result list(){
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        List<CenterDepartmentVO> list = responsibilityDepartmentService.getCenterDepart(user);
+        return Result.ok(list);
+    }
+
+    @ApiOperation("保存或修改责任中心对照")
+    @PostMapping("/save")
+    public Result saveOrUpdate(@RequestBody @Valid DepartDTO departDTO) {
+        User user = (User) SecurityUtils.getSubject().getPrincipal();
+        responsibilityDepartmentService.saveCenterDepart(departDTO,user);
+        return Result.ok();
+    }
+
+
+}

+ 1 - 1
src/main/resources/application-dev.yml

@@ -43,7 +43,7 @@ mybatis-plus:
   global-config:
     db-config:
       id-type: auto
-      logic-not-delete-value: NULL
+      logic-not-delete-value: 0
       logic-delete-value: UNIX_TIMESTAMP(NOW()) * 1000
     banner: false
 

+ 19 - 0
src/main/resources/mapper/CostShareLevelMapper.xml

@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.imed.costaccount.mapper.CostShareLevelMapper">
+
+	<!-- 可根据自己的需求,是否要使用 -->
+    <resultMap type="com.imed.costaccount.model.CostShareLevel" id="costShareLevelMap">
+        <result property="id" column="id"/>
+        <result property="shareName" column="share_name"/>
+        <result property="leverSort" column="lever_sort"/>
+        <result property="hospId" column="hosp_id"/>
+        <result property="targetLevel" column="target_level"/>
+        <result property="calcType" column="calc_type"/>
+        <result property="createTime" column="create_time"/>
+        <result property="deleteTime" column="delete_time"/>
+    </resultMap>
+
+
+</mapper>

+ 24 - 0
src/main/resources/mapper/ResponsibilityDepartmentMapper.xml

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.imed.costaccount.mapper.ResponsibilityDepartmentMapper">
+
+	<!-- 可根据自己的需求,是否要使用 -->
+    <resultMap type="com.imed.costaccount.model.ResponsibilityDepartment" id="responsibilityDepartmentMap">
+        <result property="id" column="id"/>
+        <result property="responsibilityId" column="responsibility_id"/>
+        <result property="departmentId" column="department_id"/>
+        <result property="hospId" column="hosp_id"/>
+        <result property="createTime" column="create_time"/>
+        <result property="deleteTime" column="delete_time"/>
+    </resultMap>
+
+
+    <select id="getDepartByCenterId" resultType="com.imed.costaccount.model.vo.DepartVO">
+        select sd.id as departmentId,concat(sd.department_name,sd.department_code) as departmentName
+            from cost_responsibility_department crd left join  sys_department sd on sd.id = crd.department_id
+        where crd.responsibility_id = #{responsibilityId}
+    </select>
+
+
+</mapper>

+ 23 - 0
src/main/resources/mapper/ResponsibilityMapper.xml

@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+
+<mapper namespace="com.imed.costaccount.mapper.ResponsibilityMapper">
+
+	<!-- 可根据自己的需求,是否要使用 -->
+    <resultMap type="com.imed.costaccount.model.Responsibility" id="responsibilityMap">
+        <result property="id" column="id"/>
+        <result property="responsibilityName" column="responsibility_name"/>
+        <result property="responsibilityCode" column="responsibility_code"/>
+        <result property="responsibilityLevel" column="responsibility_level"/>
+        <result property="parentId" column="parent_id"/>
+        <result property="hospId" column="hosp_id"/>
+        <result property="isGatherCenter" column="is_gather_center"/>
+        <result property="responsibilityType" column="responsibility_type"/>
+        <result property="shareLevel" column="share_level"/>
+        <result property="shareName" column="share_name"/>
+        <result property="createTime" column="create_time"/>
+        <result property="deleteTime" column="delete_time"/>
+    </resultMap>
+
+
+</mapper>

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

@@ -8,6 +8,7 @@
         <result property="id" column="id"/>
         <result property="name" column="name"/>
         <result property="account" column="account"/>
+        <result property="mobilePhoneNum" column="mobile_phone_num"/>
         <result property="password" column="password"/>
         <result property="hospId" column="hosp_id"/>
         <result property="hospitalStatus" column="hospital" />