2
0
Эх сурвалжийг харах

Merge branch 'master' of huangrui/CostAccount into dev

lijiaxi 4 жил өмнө
parent
commit
0c9d4a384f
31 өөрчлөгдсөн 1305 нэмэгдсэн , 102 устгасан
  1. 8 8
      src/main/java/com/imed/costaccount/common/config/CorsConfig.java
  2. 16 0
      src/main/java/com/imed/costaccount/mapper/CostNumberBedSetMapper.java
  3. 16 0
      src/main/java/com/imed/costaccount/mapper/CostOtherPaymentsMapper.java
  4. 75 0
      src/main/java/com/imed/costaccount/model/CostNumberBedSet.java
  5. 53 0
      src/main/java/com/imed/costaccount/model/CostOtherPayments.java
  6. 18 0
      src/main/java/com/imed/costaccount/model/dto/CheckShareParamStatusDto.java
  7. 20 0
      src/main/java/com/imed/costaccount/model/dto/CostNumberBedSetEditDto.java
  8. 50 0
      src/main/java/com/imed/costaccount/model/dto/CostNumberBedSetSaveDto.java
  9. 21 0
      src/main/java/com/imed/costaccount/model/dto/CostOtherPaymentsEditDto.java
  10. 19 0
      src/main/java/com/imed/costaccount/model/vo/CheckShareParamStatusVO.java
  11. 42 0
      src/main/java/com/imed/costaccount/model/vo/CostNumberBedSetVO.java
  12. 27 0
      src/main/java/com/imed/costaccount/model/vo/CostOtherPaymentsSaveDto.java
  13. 30 0
      src/main/java/com/imed/costaccount/model/vo/CostOtherPaymentsVO.java
  14. 0 16
      src/main/java/com/imed/costaccount/model/vo/CostResponsibilityTreeVO.java
  15. 19 0
      src/main/java/com/imed/costaccount/model/vo/ReportFormCheckStatusVO.java
  16. 5 0
      src/main/java/com/imed/costaccount/model/vo/ReportFormVO.java
  17. 70 0
      src/main/java/com/imed/costaccount/service/CostNumberBedSetService.java
  18. 47 0
      src/main/java/com/imed/costaccount/service/CostOtherPaymentsService.java
  19. 1 0
      src/main/java/com/imed/costaccount/service/CostShareParamService.java
  20. 1 1
      src/main/java/com/imed/costaccount/service/impl/AccountingServiceImpl.java
  21. 108 76
      src/main/java/com/imed/costaccount/service/impl/CostIncomeGroupServiceImpl.java
  22. 299 0
      src/main/java/com/imed/costaccount/service/impl/CostNumberBedSetServiceImpl.java
  23. 111 0
      src/main/java/com/imed/costaccount/service/impl/CostOtherPaymentsServiceImpl.java
  24. 5 1
      src/main/java/com/imed/costaccount/service/impl/CostShareParamServiceImpl.java
  25. 2 0
      src/main/java/com/imed/costaccount/service/impl/ReportFormServiceImpl.java
  26. 113 0
      src/main/java/com/imed/costaccount/web/CostNumberBedSetController.java
  27. 87 0
      src/main/java/com/imed/costaccount/web/CostOtherPaymentsController.java
  28. 1 0
      src/main/java/com/imed/costaccount/web/CostShareParamController.java
  29. 2 0
      src/main/resources/application-dev.yml
  30. 22 0
      src/main/resources/mapper/CostNumberBedSetMapper.xml
  31. 17 0
      src/main/resources/mapper/CostOtherPaymentsMapper.xml

+ 8 - 8
src/main/java/com/imed/costaccount/common/config/CorsConfig.java

@@ -17,8 +17,8 @@ public class CorsConfig implements WebMvcConfigurer {
 
 
 
-//    @Value("${file.filelocal}")
-//    private String fileLocal;
+    @Value("${file.filelocal}")
+    private String fileLocal;
 
     @Bean
     public CorsFilter corsFilter() {
@@ -43,12 +43,12 @@ public class CorsConfig implements WebMvcConfigurer {
      * 对于解决其他目录的需要重新修改
      * @param registry
      */
-//    @Override
-//    public void addResourceHandlers(ResourceHandlerRegistry registry) {
-//        registry.addResourceHandler("/**")
-//                .addResourceLocations("classpath:/static/**")
-//                .addResourceLocations(fileLocal);//映射本地静态资源
-//    }
+    @Override
+    public void addResourceHandlers(ResourceHandlerRegistry registry) {
+        registry.addResourceHandler("/**")
+                .addResourceLocations("classpath:/static/**")
+                .addResourceLocations(fileLocal);//映射本地静态资源
+    }
 
 
 

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

@@ -0,0 +1,16 @@
+package com.imed.costaccount.mapper;
+
+import com.imed.costaccount.model.CostNumberBedSet;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 诊次/床日设置
+ * 
+ * @author KCYG
+ * @date 2021-08-09 11:11:06
+ */
+@Mapper
+public interface CostNumberBedSetMapper extends BaseMapper<CostNumberBedSet> {
+	
+}

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

@@ -0,0 +1,16 @@
+package com.imed.costaccount.mapper;
+
+import com.imed.costaccount.model.CostOtherPayments;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 全院其他收支设置
+ * 
+ * @author KCYG
+ * @date 2021-08-09 17:53:22
+ */
+@Mapper
+public interface CostOtherPaymentsMapper extends BaseMapper<CostOtherPayments> {
+	
+}

+ 75 - 0
src/main/java/com/imed/costaccount/model/CostNumberBedSet.java

@@ -0,0 +1,75 @@
+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-08-09 11:48:01
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("cost_number_bed_set")
+public class CostNumberBedSet implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键  文件编号
+	 */
+	@TableId
+	private Long id;
+	/**
+	 * 分配方式 1按照收入比例分配 2 按照固定比例分配
+	 */
+	private Integer allocation;
+	/**
+	 * 收入方式 1 门诊方式 2 住院方式
+	 */
+	private Integer incomeType;
+	/**
+	 * 成本分摊参数
+	 */
+	private String shareParamCode;
+	/**
+	 * 收入字段 对应报表的编号
+	 */
+	private Integer incomeFieldNum;
+	/**
+	 * 收入字段名称
+	 */
+	private String incomeFileName;
+	/**
+	 * 成本对应 对应的是报表项目的编号
+	 */
+	private Integer costCorresponding;
+	/**
+	 * 成本对应名称
+	 */
+	private String costCorrespondingName;
+	/**
+	 * 医院Id
+	 */
+	private Long hospId;
+	/**
+	 * 创建时间13位时间戳
+	 */
+	private Long createTime;
+	/**
+	 * 删除时间,如果存在表示已删除13位时间戳
+	 */
+	@TableLogic(value = "0",delval = "UNIX_TIMESTAMP(NOW()) * 1000")
+	private Long deleteTime;
+
+}

+ 53 - 0
src/main/java/com/imed/costaccount/model/CostOtherPayments.java

@@ -0,0 +1,53 @@
+package com.imed.costaccount.model;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+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-08-09 17:53:22
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("cost_other_payments")
+public class CostOtherPayments implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Long id;
+	/**
+	 * 收支类型 1收入 2支出
+	 */
+	private Integer paymentsType;
+	/**
+	 * 收支名称
+	 */
+	private String paymentsName;
+	/**
+	 * 医院的Id
+	 */
+	private Long hospId;
+	/**
+	 * 创建时间
+	 */
+	private Long createTime;
+	/**
+	 * 删除时间
+	 */
+	private Long deleteTime;
+
+}

+ 18 - 0
src/main/java/com/imed/costaccount/model/dto/CheckShareParamStatusDto.java

@@ -0,0 +1,18 @@
+package com.imed.costaccount.model.dto;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.dto
+ * @date 2021-08-09 15:17
+ */
+@Data
+@ApiModel("显示分摊参数与关联对应的状态")
+public class CheckShareParamStatusDto {
+    /**
+     * 诊次/床日的Id
+     */
+    private Long costNumberBedSetId;
+}

+ 20 - 0
src/main/java/com/imed/costaccount/model/dto/CostNumberBedSetEditDto.java

@@ -0,0 +1,20 @@
+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-08-09 15:03
+ */
+@Data
+@ApiModel("诊次/床日设置修改实体类")
+public class CostNumberBedSetEditDto extends CostNumberBedSetSaveDto{
+    @ApiModelProperty(name = "id",value = "设置的Id")
+    @NotNull(message = "原始Id不能为空")
+    private Long id;
+}

+ 50 - 0
src/main/java/com/imed/costaccount/model/dto/CostNumberBedSetSaveDto.java

@@ -0,0 +1,50 @@
+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-08-09 14:28
+ */
+@Data
+@ApiModel("诊次/床日设置数据保存的实体类")
+public class CostNumberBedSetSaveDto {
+    @ApiModelProperty(name = "allocation",value = "分配方式 1按照收入比例分配 2 按照固定比例分配")
+    @NotNull(message = "分配方式不能为空")
+    private Integer allocation;
+
+    @ApiModelProperty(name = "incomeType",value = "收入方式 1 门诊方式 2 住院方式")
+    @NotNull(message = "收入方式不能为空")
+    private Integer incomeType;
+
+    @ApiModelProperty(name = "shareParamCode",value = "成本分摊参数代码")
+    @NotNull(message = "成本分摊参数的代码不能为空")
+    private String shareParamCode;
+
+    @ApiModelProperty(name = "shareParamName",value = "成本分摊参数名称")
+    private String shareParamName;
+
+    @ApiModelProperty(name = "incomeFieldNum",value = "收入字段 对应报表的编号")
+    @NotNull(message = "收入字段的编号不能为空")
+    private Integer incomeFieldNum;
+
+    @ApiModelProperty(name = "incomeFileName",value = "收入字段名称")
+    private String incomeFileName;
+
+    @ApiModelProperty(name = "costCorresponding",value = "成本对应 对应的是报表项目的编号")
+    @NotNull(message = "成本对应的编号不能为空")
+    private Integer costCorresponding;
+
+    @ApiModelProperty(name = "costCorrespondingName",value = "成本对应名称")
+    private String costCorrespondingName;
+    /**
+     * 报表类型
+     */
+    private Integer reportType;
+
+}

+ 21 - 0
src/main/java/com/imed/costaccount/model/dto/CostOtherPaymentsEditDto.java

@@ -0,0 +1,21 @@
+package com.imed.costaccount.model.dto;
+
+import com.imed.costaccount.model.vo.CostOtherPaymentsSaveDto;
+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-08-09 19:18
+ */
+@Data
+@ApiModel("修改全院其他收支设置")
+public class CostOtherPaymentsEditDto extends CostOtherPaymentsSaveDto {
+    @ApiModelProperty(name = "id",value = "主键")
+    @NotNull(message = "原始Id不能为空")
+    private Long id;
+}

+ 19 - 0
src/main/java/com/imed/costaccount/model/vo/CheckShareParamStatusVO.java

@@ -0,0 +1,19 @@
+package com.imed.costaccount.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.vo
+ * @date 2021-08-09 15:19
+ */
+@Data
+@ApiModel("显示分摊参数状态")
+public class CheckShareParamStatusVO extends CostShareParamVO {
+    /**
+     * 分摊参数是否存在关联指定的 诊次/床日的状态 0没有 1 有
+     */
+
+    private Integer shareParamNumberBedSetStatus=0;
+}

+ 42 - 0
src/main/java/com/imed/costaccount/model/vo/CostNumberBedSetVO.java

@@ -0,0 +1,42 @@
+package com.imed.costaccount.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.vo
+ * @date 2021-08-09 13:35
+ */
+@Data
+@ApiModel("诊次/床日分页查询实体类")
+public class CostNumberBedSetVO {
+
+    @ApiModelProperty(name = "id",value = "诊次/床日设置的Id")
+    private Long id;
+
+    @ApiModelProperty(name = "allocation",value = "分配方式 1按照收入比例分配 2 按照固定比例分配")
+    private Integer allocation;
+
+    @ApiModelProperty(name = "incomeType",value = "收入方式 1 门诊方式 2 住院方式")
+    private Integer incomeType;
+
+    @ApiModelProperty(name = "shareParamCode",value = "成本分摊参数代码")
+    private String shareParamCode;
+
+    @ApiModelProperty(name = "shareParamName",value = "成本分摊参数名称")
+    private String shareParamName;
+
+    @ApiModelProperty(name = "incomeFieldNum",value = "收入字段 对应报表的编号")
+    private Integer incomeFieldNum;
+
+    @ApiModelProperty(name = "incomeFileName",value = "收入字段名称")
+    private String incomeFileName;
+
+    @ApiModelProperty(name = "costCorresponding",value = "成本对应 对应的是报表项目的编号")
+    private Integer costCorresponding;
+
+    @ApiModelProperty(name = "costCorrespondingName",value = "成本对应名称")
+    private String costCorrespondingName;
+}

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

@@ -0,0 +1,27 @@
+package com.imed.costaccount.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotNull;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.vo
+ * @date 2021-08-09 18:27
+ */
+@Data
+@ApiModel("保存全院其他收支设置")
+public class CostOtherPaymentsSaveDto{
+
+    @ApiModelProperty(name = "paymentsType",value = "收支类型 1收入 2支出")
+    @NotNull(message = "收支类型不能为空")
+    private Integer paymentsType;
+    /**
+     * 收支名称
+     */
+    @ApiModelProperty(name = "paymentsName",value = "收支名称")
+    @NotNull(message = "收支名称不能为空")
+    private String paymentsName;
+}

+ 30 - 0
src/main/java/com/imed/costaccount/model/vo/CostOtherPaymentsVO.java

@@ -0,0 +1,30 @@
+package com.imed.costaccount.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.vo
+ * @date 2021-08-09 18:02
+ */
+@Data
+@ApiModel("全员其他收支设置分页返回实体类")
+public class CostOtherPaymentsVO {
+    /**
+     * 主键
+     */
+    @ApiModelProperty(name = "id",value = "主键")
+    private Long id;
+    /**
+     * 收支类型 1收入 2支出
+     */
+    @ApiModelProperty(name = "paymentsType",value = "收支类型 1收入 2支出")
+    private Integer paymentsType;
+    /**
+     * 收支名称
+     */
+    @ApiModelProperty(name = "paymentsName",value = "收支名称")
+    private String paymentsName;
+}

+ 0 - 16
src/main/java/com/imed/costaccount/model/vo/CostResponsibilityTreeVO.java

@@ -1,16 +0,0 @@
-package com.imed.costaccount.model.vo;
-
-import io.swagger.annotations.ApiModel;
-import lombok.Data;
-
-/**
- * @author 李加喜
- * @Package com.imed.costaccount.model.vo
- * @date 2021-08-03 10:46
- */
-@Data
-@ApiModel("责任中心的树形结构")
-public class CostResponsibilityTreeVO extends CostResponsibilityVO{
-
-
-}

+ 19 - 0
src/main/java/com/imed/costaccount/model/vo/ReportFormCheckStatusVO.java

@@ -0,0 +1,19 @@
+package com.imed.costaccount.model.vo;
+
+import io.swagger.annotations.ApiModel;
+import lombok.Data;
+
+/**
+ * @author 李加喜
+ * @Package com.imed.costaccount.model.vo
+ * @date 2021-08-09 16:56
+ */
+@Data
+@ApiModel("检查报表与诊次/床日")
+public class ReportFormCheckStatusVO extends ReportFormVO{
+
+    /**
+     * 报表与诊次床日关联的状态
+     */
+    private Integer reportNumberSetStatus;
+}

+ 5 - 0
src/main/java/com/imed/costaccount/model/vo/ReportFormVO.java

@@ -40,4 +40,9 @@ public class ReportFormVO {
     @JsonInclude(JsonInclude.Include.NON_NULL)
     private List<RelationVO> reportRelations;
 
+    /**
+     * 报表与诊次床日关联的状态
+     */
+    private Integer reportNumberSetStatus=0;
+
 }

+ 70 - 0
src/main/java/com/imed/costaccount/service/CostNumberBedSetService.java

@@ -0,0 +1,70 @@
+package com.imed.costaccount.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.imed.costaccount.common.util.PageUtils;
+import com.imed.costaccount.model.CostNumberBedSet;
+import com.imed.costaccount.model.dto.CostNumberBedSetEditDto;
+import com.imed.costaccount.model.dto.CostNumberBedSetSaveDto;
+import com.imed.costaccount.model.vo.CheckShareParamStatusVO;
+import com.imed.costaccount.model.vo.CostNumberBedSetVO;
+import com.imed.costaccount.model.vo.ReportFormVO;
+
+import java.util.List;
+
+/**
+ * 诊次/床日设置
+ *
+ * @author KCYG
+ * @email KCYG@xinxicom
+ * @date 2021-08-09 11:11:06
+ */
+public interface CostNumberBedSetService extends IService<CostNumberBedSet> {
+    /**
+     * 分页查询诊次/床日设置
+     * @param current
+     * @param pageSize
+     * @param name
+     * @param hospId
+     * @return
+     */
+    PageUtils queryList(Integer current, Integer pageSize, String name, Long hospId);
+
+    /**
+     * 根据Id获取诊次/床日设置的数据
+     * @param id
+     * @return
+     */
+    CostNumberBedSetVO getByNumberBedId(Long id);
+
+    /**
+     * 添加诊次/床日设置的数据
+     * @param costNumberBedSetSaveDto
+     * @param hospId
+     */
+    void addNumberBedSet(CostNumberBedSetSaveDto costNumberBedSetSaveDto, Long hospId);
+
+    /**
+     * 修改诊次/床日的设置数据
+     * @param costNumberBedSetEditDto
+     * @param hospId
+     */
+    void updateNumberBedById(CostNumberBedSetEditDto costNumberBedSetEditDto, Long hospId);
+
+    /**
+     * 获取当前诊次/床日设置里面关联的成本分摊参数
+     * @param id
+     * @param hospId
+     * @return
+     */
+    List<CheckShareParamStatusVO> checkStatus(Long id, Long hospId);
+
+    /**
+     * 获取报表  显示报表被选中的状态
+     * @param reportType 报表类型
+     * @param hospId 医院Id
+     * @param id
+     * @return
+     */
+    List<ReportFormVO> getReportNumberBedStatus(Integer reportType, Long hospId, Integer id);
+}
+

+ 47 - 0
src/main/java/com/imed/costaccount/service/CostOtherPaymentsService.java

@@ -0,0 +1,47 @@
+package com.imed.costaccount.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.imed.costaccount.common.util.PageUtils;
+import com.imed.costaccount.model.CostOtherPayments;
+import com.imed.costaccount.model.dto.CostOtherPaymentsEditDto;
+import com.imed.costaccount.model.vo.CostOtherPaymentsSaveDto;
+import com.imed.costaccount.model.vo.CostOtherPaymentsVO;
+
+/**
+ * 全院其他收支设置
+ *
+ * @author KCYG
+ * @email KCYG@xinxicom
+ * @date 2021-08-09 17:53:22
+ */
+public interface CostOtherPaymentsService extends IService<CostOtherPayments> {
+    /**
+     * 分压查询全院其他收支设置
+     * @param current
+     * @param pageSize
+     * @param name
+     * @param hospId
+     * @return
+     */
+    PageUtils  queryList(Integer current, Integer pageSize, String name, Long hospId);
+
+    /**
+     * 根据Id获取对应的数据
+     * @param id
+     * @return
+     */
+    CostOtherPaymentsVO getByParamsId(Long id);
+
+    /**
+     *添加全院其他收支设置
+     * @param costOtherPaymentsSaveDto
+     */
+    void addOtherPayment(CostOtherPaymentsSaveDto costOtherPaymentsSaveDto);
+
+    /**
+     * 修改全院其他收支设置
+     * @param costOtherPaymentsEditDto
+     */
+    void updateOtherPaymentById(CostOtherPaymentsEditDto costOtherPaymentsEditDto);
+}
+

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

@@ -63,5 +63,6 @@ public interface CostShareParamService extends IService<CostShareParam> {
 
     List<Integer> selectIsSelect(Integer shareParamId);
 
+
 }
 

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

@@ -112,7 +112,7 @@ public class AccountingServiceImpl extends ServiceImpl<AccountingMapper, Account
      * @param user
      */
     @Override
-    @Transactional(propagation = Propagation.REQUIRED)
+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
     public void saveAccounting(AccountingSaveDTO accountingSaveDTO, User user) {
         // 校验会计科目代码
         this.checkAccountingCode(accountingSaveDTO.getAccountingCode(), user.getHospId());

+ 108 - 76
src/main/java/com/imed/costaccount/service/impl/CostIncomeGroupServiceImpl.java

@@ -65,29 +65,29 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
     @Override
     public PageUtils queryList(Integer current, Integer pageSize, String dateTime, String responsibilityCode, String accountCode, Long hospId) {
         int year = 0;
-        int month=0;
-        if (StrUtil.isNotBlank(dateTime)){
+        int month = 0;
+        if (StrUtil.isNotBlank(dateTime)) {
             year = DateUtils.getYear(dateTime);
-            month=DateUtils.getMonth(dateTime);
+            month = DateUtils.getMonth(dateTime);
         }
         Page<CostIncomeGroup> costIncomeGroupPage = new Page<>(current, pageSize);
-        Page<CostIncomeGroup> pages= this.page(costIncomeGroupPage,new QueryWrapper<CostIncomeGroup>().lambda()
-                .eq(Objects.nonNull(hospId),CostIncomeGroup::getHospId,hospId)
-                .eq(!NumberConstant.ZERO.equals(year),CostIncomeGroup::getDateYear,year)
-                .eq(!NumberConstant.ONE.equals(month),CostIncomeGroup::getDateMonth,month)
-                .and(StrUtil.isNotBlank(responsibilityCode),i->i.like(CostIncomeGroup::getOpenResponsibilityCode,responsibilityCode)
-                .or().like(CostIncomeGroup::getStartResponsibilityCode, responsibilityCode))
-                .like(StrUtil.isNotBlank(accountCode),CostIncomeGroup::getAccountCode,accountCode));
+        Page<CostIncomeGroup> pages = this.page(costIncomeGroupPage, new QueryWrapper<CostIncomeGroup>().lambda()
+                .eq(Objects.nonNull(hospId), CostIncomeGroup::getHospId, hospId)
+                .eq(!NumberConstant.ZERO.equals(year), CostIncomeGroup::getDateYear, year)
+                .eq(!NumberConstant.ONE.equals(month), CostIncomeGroup::getDateMonth, month)
+                .and(StrUtil.isNotBlank(responsibilityCode), i -> i.like(CostIncomeGroup::getOpenResponsibilityCode, responsibilityCode)
+                        .or().like(CostIncomeGroup::getStartResponsibilityCode, responsibilityCode))
+                .like(StrUtil.isNotBlank(accountCode), CostIncomeGroup::getAccountCode, accountCode));
         List<CostIncomeGroup> records = pages.getRecords();
         List<CostIncomeGroupBeforeVO> costIncomeGroupBeforeVOList = BeanUtil.convertList(records, CostIncomeGroupBeforeVO.class);
         // 查询所有的责任中心 科室 会计科目  成本项目的数据  处理名字
         setCodeName(hospId, costIncomeGroupBeforeVOList);
         // 进行金额合并
-        List<CostIncomeGroupAllAmountVO> costIncomeGroupAllAmountVoS =baseMapper.countMoney(costIncomeGroupBeforeVOList);
+        List<CostIncomeGroupAllAmountVO> costIncomeGroupAllAmountVoS = baseMapper.countMoney(costIncomeGroupBeforeVOList);
         //  对,的金额进行合并
-        costIncomeGroupAllAmountVoS.forEach(i->{
+        costIncomeGroupAllAmountVoS.forEach(i -> {
             String allMoney = i.getAllMoney();
-            if (allMoney.contains(StrUtil.COMMA)){
+            if (allMoney.contains(StrUtil.COMMA)) {
                 // 存在,在进行求和
                 long sum;
                 List<Long> list = Arrays.stream(allMoney.split(StrUtil.COMMA)).map(Long::valueOf).collect(Collectors.toList());
@@ -103,12 +103,12 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
     /**
      * 批量导入收入数据
      *
-     * @param list 输入的文件
+     * @param list   输入的文件
      * @param hospId 医院Id
      * @return
      */
     @Override
-    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
     public Result importIncomeGroup(List<List<Object>> list, Long hospId) {
         // 移除前几行的抬头内容  list的大小对应的就是行数的大小
         for (int i = list.size() - 1; i >= 0; i--) {
@@ -121,142 +121,174 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
         List<IncomeErrorMessage> incomeErrorMessageList = new ArrayList<>();
         //获取所有的科室 成本项目 责任中心 会计科目
         Map<String, Department> departmentMap = departmentService.list(new QueryWrapper<Department>().lambda().eq(Department::getHospId, hospId)).stream().collect(Collectors.toMap(k -> k.getDepartmentCode() + k.getDepartmentName(), synOe -> synOe));
-        Map<String,Product> productMap= productService.list(new QueryWrapper<Product>().lambda().eq(Product::getHospId, hospId)).stream().collect(Collectors.toMap(k -> k.getProductCode() + k.getProductName(), synOe -> synOe));
-        Map<Long, Responsibility> responsibilityMap = responsibilityService.list(new QueryWrapper<Responsibility>().lambda().eq(Responsibility::getHospId, hospId)).stream().collect(Collectors.toMap(Responsibility::getId,synOe->synOe));
+        Map<String, Product> productMap = productService.list(new QueryWrapper<Product>().lambda().eq(Product::getHospId, hospId)).stream().collect(Collectors.toMap(k -> k.getProductCode() + k.getProductName(), synOe -> synOe));
+        Map<Long, Responsibility> responsibilityMap = responsibilityService.list(new QueryWrapper<Responsibility>().lambda().eq(Responsibility::getHospId, hospId)).stream().collect(Collectors.toMap(Responsibility::getId, synOe -> synOe));
         Map<Long, Accounting> accountingMap = accountingService.list(new QueryWrapper<Accounting>().lambda().eq(Accounting::getHospId, hospId)).stream().collect(Collectors.toMap(Accounting::getId, synOe -> synOe));
         List<ResponsibilityDepartment> responsibilityDepartmentList = responsibilityDepartmentService.list(new QueryWrapper<ResponsibilityDepartment>().lambda()
                 .eq(ResponsibilityDepartment::getHospId, hospId));
-        if (CollectionUtils.isEmpty(responsibilityDepartmentList)){
-            throw new CostException(500,"没有科室责任中心对照数据");
+        if (CollectionUtils.isEmpty(responsibilityDepartmentList)) {
+            throw new CostException(500, "没有科室责任中心对照数据");
         }
         List<AccountingProduct> accountingProductList = accountingProductService.list(new QueryWrapper<AccountingProduct>().lambda().eq(AccountingProduct::getHospId, hospId));
-        if (CollectionUtils.isEmpty(accountingProductList)){
-            throw new CostException(500,"没有成本会计对照数据");
+        if (CollectionUtils.isEmpty(accountingProductList)) {
+            throw new CostException(500, "没有成本会计对照数据");
         }
         Map<Long, Long> responsibilityDepMap = responsibilityDepartmentList.stream().collect(Collectors.toMap(ResponsibilityDepartment::getDepartmentId, ResponsibilityDepartment::getResponsibilityId));
         Map<Long, Long> accountProMap = accountingProductList.stream().collect(Collectors.toMap(AccountingProduct::getProductId, AccountingProduct::getAccountingId));
-        checkImportData(list, incomeErrorMessageList, departmentMap, productMap, responsibilityMap, accountingMap, responsibilityDepMap, accountProMap);
-        if (!CollectionUtils.isEmpty(incomeErrorMessageList)){
+        List<CostIncomeGroup> costIncomeGroupArrayList = new ArrayList<>();
+        checkImportData(list, incomeErrorMessageList,costIncomeGroupArrayList, departmentMap, productMap, responsibilityMap, accountingMap, responsibilityDepMap, accountProMap);
+
+        if (!CollectionUtils.isEmpty(incomeErrorMessageList)) {
             // 说明存在错误数据
             // TODO 不讲数据保存在收入归集表里面  直将信息保存在提交记录里面
-        }else {
-            // 实现厨具的存储
-
+        } else {
+            // 实现数据的存储
+            for (int i = 0; i < list.size(); i++) {
+                CostIncomeGroup costIncomeGroup = new CostIncomeGroup();
+                List<Object> data = list.get(i);
+                // 成本项目的代码和名称
+                String productCode = data.get(0).toString();
+                // 开单科室 执行科室的代码和名称
+                String openDepartmentCode = data.get(3).toString();
+                String startDepartmentCode = data.get(5).toString();
+                String beforeMoney = data.get(6).toString();
+//                if ()
+            }
         }
         return Result.ok();
     }
 
     /**
-     *检验数据
-     * @param list 表单数据
+     * 检验数据
+     *  @param list                   表单数据
      * @param incomeErrorMessageList 存储错误信息的集合
-     * @param departmentMap 科室Map
-     * @param productMap 成本项目map
-     * @param responsibilityMap 责任中心Map
-     * @param accountingMap 会计科目Map
-     * @param responsibilityDepMap 责任中心科室对照Map
-     * @param accountProMap 责任中心Map
+     * @param costIncomeGroupArrayList
+     * @param departmentMap          科室Map
+     * @param productMap             成本项目map
+     * @param responsibilityMap      责任中心Map
+     * @param accountingMap          会计科目Map
+     * @param responsibilityDepMap   责任中心科室对照Map
+     * @param accountProMap          责任中心Map
      */
-    private void checkImportData(List<List<Object>> list, List<IncomeErrorMessage> incomeErrorMessageList, Map<String, Department> departmentMap, Map<String, Product> productMap, Map<Long, Responsibility> responsibilityMap, Map<Long, Accounting> accountingMap, Map<Long, Long> responsibilityDepMap, Map<Long, Long> accountProMap) {
+    private void checkImportData(List<List<Object>> list, List<IncomeErrorMessage> incomeErrorMessageList, List<CostIncomeGroup> costIncomeGroupArrayList, Map<String, Department> departmentMap, Map<String, Product> productMap, Map<Long, Responsibility> responsibilityMap, Map<Long, Accounting> accountingMap, Map<Long, Long> responsibilityDepMap, Map<Long, Long> accountProMap) {
         for (int i = 0; i < list.size(); i++) {
+            CostIncomeGroup costIncomeGroup = new CostIncomeGroup();
             // 用来检验数据合理性的循环
             IncomeErrorMessage incomeErrorMessage = new IncomeErrorMessage();
             List<Object> data = list.get(i);
-            log.info("用户输入的数据是{}",data);
+            log.info("用户输入的数据是{}", data);
             Object money = data.get(data.size() - 1);
-            if (!Objects.isNull(money) && !NumberConstant.ZERO.equals(Integer.parseInt(money.toString()))){
+            // 成本项目的代码和名称
+            String productCode = data.get(0).toString();
+            String productName = data.get(1).toString();
+            // 开单科室 执行科室的代码和名称
+            String openDepartmentName = data.get(2).toString();
+            String openDepartmentCode = data.get(3).toString();
+            String startDepartmentName = data.get(4).toString();
+            String startDepartmentCode = data.get(5).toString();
+            BigDecimal beforeMoney = (BigDecimal)data.get(6);
+            if (!Objects.isNull(money) && !NumberConstant.ZERO.equals(Integer.parseInt(money.toString()))) {
                 // 要求这一行的数据必须全部填写
-                for (int j=0;j<data.size();j++){
-                    if (Objects.isNull(data.get(j))){
+                for (int j = 0; j < data.size(); j++) {
+                    if (Objects.isNull(data.get(j))) {
                         incomeErrorMessage.setTotal(i);
-                        int row=i+1;
-                        int column=j+1;
-                        incomeErrorMessage.setErrMessage("第{"+row+"}行第{"+column+"}列数据为空");
+                        int row = i + 1;
+                        int column = j + 1;
+                        incomeErrorMessage.setErrMessage("第{" + row + "}行第{" + column + "}列数据为空");
                         incomeErrorMessageList.add(incomeErrorMessage);
                     }
                 }
                 // TODO 暂时不走循环  直接获取数据的处理
-                // 成本项目的代码和名称
-                String productCode = data.get(0).toString();
-                String productName = data.get(1).toString();
-                // 开单科室 执行科室的代码和名称
-                String openDepartmentName = data.get(2).toString();
-                String openDepartmentCode = data.get(3).toString();
-                String startDepartmentName = data.get(4).toString();
-                String startDepartmentCode = data.get(5).toString();
                 // 检验数据是否存在
                 Product product = productMap.get(productCode + productName);
                 Department department = departmentMap.get(openDepartmentCode + openDepartmentName);
                 Department department1 = departmentMap.get(startDepartmentCode + startDepartmentName);
-                if (Objects.isNull(product)){
+                if (Objects.isNull(product)) {
                     incomeErrorMessage.setTotal(i);
-                    incomeErrorMessage.setErrMessage("代码:"+productCode+" 名称:"+productName+"成本项目不存在");
+                    incomeErrorMessage.setErrMessage("代码:" + productCode + " 名称:" + productName + "成本项目不存在");
                     incomeErrorMessageList.add(incomeErrorMessage);
-                }else {
+                } else {
                     // 检验对应的会计科目是否存在
                     Long id = product.getId();
                     Long accountId = accountProMap.get(id);
-                    if (Objects.isNull(accountingMap.get(accountId))){
+                    if (Objects.isNull(accountingMap.get(accountId))) {
                         incomeErrorMessage.setTotal(i);
-                        incomeErrorMessage.setErrMessage("代码:"+productCode+" 名称:"+productName+"成本项目对应的会计科目不存在");
+                        incomeErrorMessage.setErrMessage("代码:" + productCode + " 名称:" + productName + "成本项目对应的会计科目不存在");
                         incomeErrorMessageList.add(incomeErrorMessage);
+                    }else{
+                        costIncomeGroup.setProductCode(productCode);
+                        costIncomeGroup.setAccountCode(accountingMap.get(accountId).getAccountingCode());
                     }
                 }
                 // 开单科室
-                if (Objects.isNull(department)){
+                if (Objects.isNull(department)) {
                     incomeErrorMessage.setTotal(i);
-                    incomeErrorMessage.setErrMessage("代码:"+productCode+" 名称:"+productName+"开单科室不存在");
+                    incomeErrorMessage.setErrMessage("代码:" + productCode + " 名称:" + productName + "开单科室不存在");
                     incomeErrorMessageList.add(incomeErrorMessage);
-                }else{
+                } else {
                     Long id = department.getId();
                     Long responsibilityId = responsibilityDepMap.get(id);
-                    if (Objects.isNull(responsibilityMap.get(responsibilityId))){
+                    if (Objects.isNull(responsibilityMap.get(responsibilityId))) {
                         incomeErrorMessage.setTotal(i);
-                        incomeErrorMessage.setErrMessage("代码:"+openDepartmentCode+" 名称:"+openDepartmentName+"科室对应的责任中心不存在");
+                        incomeErrorMessage.setErrMessage("代码:" + openDepartmentCode + " 名称:" + openDepartmentName + "科室对应的责任中心不存在");
                         incomeErrorMessageList.add(incomeErrorMessage);
+                    }else {
+                        costIncomeGroup.setOpenDepartmentCode(openDepartmentCode);
+                        costIncomeGroup.setOpenResponsibilityCode(responsibilityMap.get(responsibilityId).getResponsibilityCode());
                     }
                 }
                 //执行科室
-                if (Objects.isNull(department1)){
+                if (Objects.isNull(department1)) {
                     incomeErrorMessage.setTotal(i);
-                    incomeErrorMessage.setErrMessage("代码:"+productCode+" 名称:"+productName+"执行科室不存在");
+                    incomeErrorMessage.setErrMessage("代码:" + productCode + " 名称:" + productName + "执行科室不存在");
                     incomeErrorMessageList.add(incomeErrorMessage);
-                }else{
+                } else {
                     Long id = department1.getId();
                     Long responsibilityId = responsibilityDepMap.get(id);
-                    if (Objects.isNull(responsibilityMap.get(responsibilityId))){
+                    if (Objects.isNull(responsibilityMap.get(responsibilityId))) {
                         incomeErrorMessage.setTotal(i);
-                        incomeErrorMessage.setErrMessage("代码:"+openDepartmentCode+" 名称:"+openDepartmentName+"科室对应的责任中心不存在");
+                        incomeErrorMessage.setErrMessage("代码:" + openDepartmentCode + " 名称:" + openDepartmentName + "科室对应的责任中心不存在");
                         incomeErrorMessageList.add(incomeErrorMessage);
+                    }else {
+                        costIncomeGroup.setStartDepartmentCode(startDepartmentCode);
+                        costIncomeGroup.setStartResponsibilityCode(responsibilityMap.get(responsibilityId).getResponsibilityCode());
                     }
                 }
+                costIncomeGroup.setAmount(beforeMoney);
+            }else {
+                // 最后一位是0 或者是null的情况
+                if (StrUtil.isNotBlank(productCode)){
+                    costIncomeGroup.setProductCode(productCode);
+//                    costIncomeGroup.setAccountCode(accountingMap.get(accountId))
+                }
             }
         }
     }
 
     /**
      * 设置相关名称
+     *
      * @param hospId
      * @param costIncomeGroupBeforeVOList
      */
     private void setCodeName(Long hospId, List<CostIncomeGroupBeforeVO> costIncomeGroupBeforeVOList) {
         List<Responsibility> responsibilityList = responsibilityService.list(new QueryWrapper<Responsibility>().lambda().eq(Responsibility::getHospId, hospId));
-        Map<String, String> responsibilityMap = responsibilityList.stream().collect(Collectors.toMap(Responsibility::getResponsibilityCode,Responsibility::getResponsibilityName));
+        Map<String, String> responsibilityMap = responsibilityList.stream().collect(Collectors.toMap(Responsibility::getResponsibilityCode, Responsibility::getResponsibilityName));
         List<Department> departmentList = departmentService.list(new QueryWrapper<Department>().lambda().eq(Department::getHospId, hospId));
-        Map<String, String> departmentMap = departmentList.stream().collect(Collectors.toMap(Department::getDepartmentCode,Department::getDepartmentName));
+        Map<String, String> departmentMap = departmentList.stream().collect(Collectors.toMap(Department::getDepartmentCode, Department::getDepartmentName));
         List<Product> productList = productService.list(new QueryWrapper<Product>().lambda().eq(Product::getHospId, hospId));
-        Map<String, String> productMap = productList.stream().collect(Collectors.toMap(Product::getProductCode,Product::getProductName));
+        Map<String, String> productMap = productList.stream().collect(Collectors.toMap(Product::getProductCode, Product::getProductName));
         List<Accounting> accountingList = accountingService.list(new QueryWrapper<Accounting>().lambda().eq(Accounting::getHospId, hospId));
-        Map<String, String> accountMap = accountingList.stream().collect(Collectors.toMap(Accounting::getAccountingCode,Accounting::getAccountingName));
-        costIncomeGroupBeforeVOList.forEach(i->{
+        Map<String, String> accountMap = accountingList.stream().collect(Collectors.toMap(Accounting::getAccountingCode, Accounting::getAccountingName));
+        costIncomeGroupBeforeVOList.forEach(i -> {
             // 以为这里的数据导入的  在导入的时候进行数据校验
             // 设置开单科室名称 执行科室名称  开单责任中心名称  执行责任中心名称 成本项目的名称 会计科目名称
-            i.setOpenDepartmentCodeName("["+i.getOpenDepartmentCode()+"]"+departmentMap.get(i.getOpenDepartmentCode()));
-            i.setOpenResponsibilityCodeName("["+i.getOpenResponsibilityCode()+"]"+responsibilityMap.get(i.getOpenResponsibilityCode()));
-            i.setStartDepartmentCodeName("["+i.getStartDepartmentCode()+"]"+departmentMap.get(i.getStartDepartmentCode()));
-            i.setStartResponsibilityCodeName("["+i.getStartResponsibilityCode()+"]"+responsibilityMap.get(i.getStartResponsibilityCode()));
-            i.setProductCodeName("["+i.getProductCode()+"]"+productMap.get(i.getProductCode()));
-            i.setAccountCodeName("["+i.getAccountCode()+"]"+accountMap.get(i.getAccountCode()));
+            i.setOpenDepartmentCodeName("[" + i.getOpenDepartmentCode() + "]" + departmentMap.get(i.getOpenDepartmentCode()));
+            i.setOpenResponsibilityCodeName("[" + i.getOpenResponsibilityCode() + "]" + responsibilityMap.get(i.getOpenResponsibilityCode()));
+            i.setStartDepartmentCodeName("[" + i.getStartDepartmentCode() + "]" + departmentMap.get(i.getStartDepartmentCode()));
+            i.setStartResponsibilityCodeName("[" + i.getStartResponsibilityCode() + "]" + responsibilityMap.get(i.getStartResponsibilityCode()));
+            i.setProductCodeName("[" + i.getProductCode() + "]" + productMap.get(i.getProductCode()));
+            i.setAccountCodeName("[" + i.getAccountCode() + "]" + accountMap.get(i.getAccountCode()));
         });
     }
     /**

+ 299 - 0
src/main/java/com/imed/costaccount/service/impl/CostNumberBedSetServiceImpl.java

@@ -0,0 +1,299 @@
+package com.imed.costaccount.service.impl;
+
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
+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.common.util.UserContext;
+import com.imed.costaccount.constants.NumberConstant;
+import com.imed.costaccount.mapper.CostNumberBedSetMapper;
+import com.imed.costaccount.model.CostNumberBedSet;
+import com.imed.costaccount.model.CostShareParam;
+import com.imed.costaccount.model.ReportForm;
+import com.imed.costaccount.model.dto.CostNumberBedSetEditDto;
+import com.imed.costaccount.model.dto.CostNumberBedSetSaveDto;
+import com.imed.costaccount.model.vo.CheckShareParamStatusVO;
+import com.imed.costaccount.model.vo.CostNumberBedSetVO;
+import com.imed.costaccount.model.vo.ReportFormVO;
+import com.imed.costaccount.service.CostNumberBedSetService;
+import com.imed.costaccount.service.CostShareParamService;
+import com.imed.costaccount.service.ReportFormService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+
+@Service("costNumberBedSetService")
+public class CostNumberBedSetServiceImpl extends ServiceImpl<CostNumberBedSetMapper, CostNumberBedSet> implements CostNumberBedSetService {
+
+
+    private final CostShareParamService costShareParamService;
+
+    private final ReportFormService reportFormService;
+
+    public CostNumberBedSetServiceImpl(CostShareParamService costShareParamService, ReportFormService reportFormService) {
+        this.costShareParamService = costShareParamService;
+        this.reportFormService = reportFormService;
+    }
+
+    /**
+     * 分页查询诊次/床日设置
+     *
+     * @param current
+     * @param pageSize
+     * @param name
+     * @param hospId
+     * @return
+     */
+    @Override
+    public PageUtils queryList(Integer current, Integer pageSize, String name, Long hospId) {
+        Page<CostNumberBedSet> costNumberBedSetPage = new Page<>(current, pageSize);
+        Page<CostNumberBedSet> pages = this.page(costNumberBedSetPage, new QueryWrapper<CostNumberBedSet>().lambda()
+                .eq(CostNumberBedSet::getHospId, hospId)
+                .like(StrUtil.isNotBlank(name),CostNumberBedSet::getIncomeFileName,name));
+        List<CostNumberBedSet> records = pages.getRecords();
+        List<CostNumberBedSetVO> costNumberBedSetVOList = BeanUtil.convertList(records, CostNumberBedSetVO.class);
+        // 具体的名称根据Code  Id 进行获取
+        Map<String, String> costShareParamMap = costShareParamService.list(new QueryWrapper<CostShareParam>().lambda()
+                .eq(CostShareParam::getHospId, hospId)).stream().collect(Collectors.toMap(CostShareParam::getShareParamCode, CostShareParam::getShareParamName));
+        Map<Integer, ReportForm> reportFormMap = reportFormService.list(new QueryWrapper<ReportForm>().lambda().eq(ReportForm::getHospId, hospId)).stream().collect(Collectors.toMap(ReportForm::getNum, synOe -> synOe));
+        costNumberBedSetVOList.forEach(i->{
+            setName(costShareParamMap, reportFormMap, i);
+        });
+        PageUtils pageUtils = new PageUtils(pages);
+        pageUtils.setList(costNumberBedSetVOList);
+        return pageUtils;
+    }
+
+    /**
+     * 设置成本分摊参数的名称  相关报表的名称
+     * @param costShareParamMap
+     * @param reportFormMap
+     * @param i
+     */
+    private void setName(Map<String, String> costShareParamMap, Map<Integer, ReportForm> reportFormMap, CostNumberBedSetVO i) {
+        String shareParamCode = i.getShareParamCode();
+        String shareParamName = costShareParamMap.get(shareParamCode);
+        if (StrUtil.isNotBlank(shareParamName)){
+            i.setShareParamName(shareParamName);
+        }
+        Integer incomeFieldNum = i.getIncomeFieldNum();
+        Integer costCorresponding = i.getCostCorresponding();
+        ReportForm reportForm = reportFormMap.get(incomeFieldNum);
+        ReportForm reportForm1 = reportFormMap.get(costCorresponding);
+        if (Objects.nonNull(reportForm)){
+            Integer reportType = reportForm.getReportType();
+            String reportName = reportForm.getReportName();
+            reportName = getString(reportType, reportName);
+            i.setIncomeFileName(reportName);
+        }
+        if (Objects.nonNull(reportForm1)){
+            Integer reportType = reportForm1.getReportType();
+            String costCorrespondingName = reportForm1.getReportName();
+            costCorrespondingName = getString(reportType, costCorrespondingName);
+            i.setCostCorrespondingName(costCorrespondingName);
+        }
+    }
+
+    /**
+     * 根据Id获取诊次/床日设置的数据
+     *
+     * @param id
+     * @return
+     */
+    @Override
+    public CostNumberBedSetVO getByNumberBedId(Long id) {
+        Long hospId = UserContext.getHospId();
+        CostNumberBedSet costNumberBedSet = this.getById(id);
+        // 具体的名称根据Code  Id 进行获取
+        Map<String, String> costShareParamMap = costShareParamService.list(new QueryWrapper<CostShareParam>().lambda()
+                .eq(CostShareParam::getHospId, hospId)).stream().collect(Collectors.toMap(CostShareParam::getShareParamCode, CostShareParam::getShareParamName));
+        Map<Integer, ReportForm> reportFormMap = reportFormService.list(new QueryWrapper<ReportForm>().lambda().eq(ReportForm::getHospId, hospId)).stream().collect(Collectors.toMap(ReportForm::getNum, synOe -> synOe));
+        CostNumberBedSetVO costNumberBedSetVO = BeanUtil.convertObj(costNumberBedSet, CostNumberBedSetVO.class);
+        if (Objects.nonNull(costNumberBedSet)){
+            setName(costShareParamMap,reportFormMap,costNumberBedSetVO);
+            return costNumberBedSetVO;
+        }
+        return null;
+    }
+    private String getString(Integer reportType, String reportName) {
+        switch (reportType) {
+            case 0:
+                reportName = "损益表" + reportName;
+                break;
+            case 1:
+                reportName = "完全成本法表" + reportName;
+                break;
+            case 2:
+                reportName = "变动成本表" + reportName;
+                break;
+            case 3:
+                reportName = "全院损益表" + reportName;
+                break;
+            case 4:
+                reportName = "全成本报表" + reportName;
+                break;
+            default:
+                reportName = "";
+        }
+        return reportName;
+    }
+    /**
+     * 添加诊次/床日设置的数据
+     *  后台要考虑支持多选
+     * @param costNumberBedSetSaveDto
+     * @param hospId
+     */
+    @Override
+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    public void addNumberBedSet(CostNumberBedSetSaveDto costNumberBedSetSaveDto, Long hospId) {
+        Integer reportType = costNumberBedSetSaveDto.getReportType();
+        if (Objects.isNull(reportType) || !NumberConstant.ZERO.equals(reportType) || NumberConstant.THREE.equals(reportType)){
+            throw new CostException(500,"报表类型错误");
+        }
+        String shareParamCodes = costNumberBedSetSaveDto.getShareParamCode();
+        Integer incomeFieldNums = costNumberBedSetSaveDto.getIncomeFieldNum();
+        CostNumberBedSet costNumberBedSet = this.getOne(new QueryWrapper<CostNumberBedSet>().lambda().eq(CostNumberBedSet::getHospId, hospId)
+                .eq(CostNumberBedSet::getShareParamCode, shareParamCodes)
+                .eq(CostNumberBedSet::getIncomeFieldNum, incomeFieldNums));
+        if (Objects.nonNull(costNumberBedSet)){
+            throw new CostException(500,"数据已经存在");
+        }
+        CostNumberBedSet costNumberBedSetRequest = BeanUtil.convertObj(costNumberBedSetSaveDto, CostNumberBedSet.class);
+        costNumberBedSetRequest.setCreateTime(System.currentTimeMillis());
+        costNumberBedSetRequest.setHospId(hospId);
+        this.save(costNumberBedSetRequest);
+    }
+
+    /**
+     * 修改诊次/床日的设置数据
+     *
+     * @param costNumberBedSetEditDto
+     * @param hospId
+     */
+    @Override
+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    public void updateNumberBedById(CostNumberBedSetEditDto costNumberBedSetEditDto, Long hospId) {
+        Integer reportType = costNumberBedSetEditDto.getReportType();
+        if (Objects.isNull(reportType) || !NumberConstant.ZERO.equals(reportType) || NumberConstant.THREE.equals(reportType)){
+            throw new CostException(500,"报表类型错误");
+        }
+        Long id = costNumberBedSetEditDto.getId();
+        CostNumberBedSet costNumberBedSet = this.getById(id);
+        if (Objects.isNull(costNumberBedSet)){
+            throw new CostException(500,"原始数据不存在");
+        }
+        String shareParamCodes = costNumberBedSetEditDto.getShareParamCode();
+        Integer incomeFieldNums = costNumberBedSetEditDto.getIncomeFieldNum();
+        CostNumberBedSet costNumberBedSetResponse = this.getOne(new QueryWrapper<CostNumberBedSet>().lambda().eq(CostNumberBedSet::getHospId, hospId)
+                .eq(CostNumberBedSet::getShareParamCode, shareParamCodes)
+                .eq(CostNumberBedSet::getIncomeFieldNum, incomeFieldNums));
+        if (Objects.nonNull(costNumberBedSetResponse)){
+            throw new CostException(500,"数据已经存在");
+        }
+        this.removeById(id);
+        CostNumberBedSet costNumberBedSetRequest = BeanUtil.convertObj(costNumberBedSetEditDto, CostNumberBedSet.class);
+        costNumberBedSetRequest.setHospId(hospId);
+        costNumberBedSetRequest.setCreateTime(System.currentTimeMillis());
+        costNumberBedSetRequest.setId(null);
+        this.save(costNumberBedSetRequest);
+    }
+
+    /**
+     * 获取当前诊次/床日设置里面关联的成本分摊参数
+     *
+     * @param id
+     * @param hospId
+     * @return
+     */
+    @Override
+    public List<CheckShareParamStatusVO> checkStatus(Long id, Long hospId) {
+        List<CostShareParam> costShareParamList = costShareParamService.list(new QueryWrapper<CostShareParam>().lambda()
+                .eq(CostShareParam::getHospId, hospId));
+        CostNumberBedSet costNumberBedSet = this.getById(id);
+        String shareParamCode=null;
+        if (Objects.nonNull(costNumberBedSet)){
+            shareParamCode = costNumberBedSet.getShareParamCode();
+        }
+        List<CheckShareParamStatusVO> checkShareParamStatusVOList = BeanUtil.convertList(costShareParamList, CheckShareParamStatusVO.class);
+        String finalShareParamCode = shareParamCode;
+        checkShareParamStatusVOList.forEach(i->{
+            String code = i.getShareParamCode();
+            if (code.equals(finalShareParamCode)){
+                i.setShareParamNumberBedSetStatus(NumberConstant.ONE);
+            }
+        });
+        return checkShareParamStatusVOList;
+    }
+
+    /**
+     * 获取报表  显示报表被选中的状态
+     *
+     * @param reportType 报表类型
+     * @param hospId     医院Id
+     * @param id
+     * @return
+     */
+    @Override
+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    public List<ReportFormVO> getReportNumberBedStatus(Integer reportType, Long hospId, Integer id) {
+        List<ReportForm> list = reportFormService.list(new QueryWrapper<ReportForm>().lambda()
+                .eq(ReportForm::getReportType, reportType)
+                .eq(ReportForm::getHospId, hospId)
+                .orderByAsc(ReportForm::getSort));
+
+        if (CollUtil.isEmpty(list)) {
+            return Collections.emptyList();
+        }
+        List<ReportFormVO> reportFormVOS = list.stream().map(i -> {
+            ReportFormVO reportFormVO = BeanUtil.convertObj(i, ReportFormVO.class);
+            if (i.getCalcType() == 1) {
+                reportFormVO.setShowAddRelation(1);
+            } else if (i.getCalcType() == 2) {
+                reportFormVO.setShowAddRelation(2);
+            }
+            return reportFormVO;
+        }).collect(Collectors.toList());
+
+        if (Objects.nonNull(id)){
+            CostNumberBedSet costNumberBedSet = this.getById(id);
+            if (Objects.nonNull(costNumberBedSet)){
+                Integer incomeFieldNum = costNumberBedSet.getIncomeFieldNum();
+                Integer costCorresponding = costNumberBedSet.getCostCorresponding();
+                reportFormVOS.forEach(i->{
+                    if (incomeFieldNum.equals(i.getNum()) && NumberConstant.ZERO.equals(reportType)){
+                        i.setReportNumberSetStatus(NumberConstant.ONE);
+                    }else if (costCorresponding.equals(i.getNum()) && NumberConstant.THREE.equals(reportType)){
+                        i.setReportNumberSetStatus(NumberConstant.ONE);
+                    }
+                });
+            }
+        }
+
+
+        List<ReportFormVO> roots = reportFormVOS.stream().filter(i -> i.getParentId() == 0L).collect(Collectors.toList());
+        for (ReportFormVO root : roots) {
+            List<ReportFormVO> children = root.getChildren();
+            if (CollUtil.isEmpty(children)) {
+                children = new ArrayList<>();
+            }
+            for (ReportFormVO reportFormVO : reportFormVOS) {
+                if (reportFormVO.getParentId().equals(root.getId())) {
+                    children.add(reportFormVO);
+//                    this.setRelation(reportFormVO, user.getHospId());
+                }
+            }
+            root.setChildren(children);
+        }
+        return roots;
+    }
+
+
+}

+ 111 - 0
src/main/java/com/imed/costaccount/service/impl/CostOtherPaymentsServiceImpl.java

@@ -0,0 +1,111 @@
+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.common.util.BeanUtil;
+import com.imed.costaccount.common.util.PageUtils;
+import com.imed.costaccount.common.util.UserContext;
+import com.imed.costaccount.mapper.CostOtherPaymentsMapper;
+import com.imed.costaccount.model.CostOtherPayments;
+import com.imed.costaccount.model.dto.CostOtherPaymentsEditDto;
+import com.imed.costaccount.model.vo.CostOtherPaymentsSaveDto;
+import com.imed.costaccount.model.vo.CostOtherPaymentsVO;
+import com.imed.costaccount.service.CostOtherPaymentsService;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+import java.util.Objects;
+
+
+@Service("costOtherPaymentsService")
+public class CostOtherPaymentsServiceImpl extends ServiceImpl<CostOtherPaymentsMapper, CostOtherPayments> implements CostOtherPaymentsService {
+
+
+    /**
+     * 分压查询全院其他收支设置
+     *
+     * @param current
+     * @param pageSize
+     * @param name
+     * @param hospId
+     * @return
+     */
+    @Override
+    public PageUtils queryList(Integer current, Integer pageSize, String name, Long hospId) {
+        Page<CostOtherPayments> costOtherPaymentsPage = new Page<>(current, pageSize);
+        Page<CostOtherPayments> pages = this.page(costOtherPaymentsPage, new QueryWrapper<CostOtherPayments>().lambda().eq(CostOtherPayments::getHospId, hospId));
+        List<CostOtherPayments> records = pages.getRecords();
+        List<CostOtherPaymentsVO> costOtherPaymentsVOList = BeanUtil.convertList(records, CostOtherPaymentsVO.class);
+        PageUtils pageUtils = new PageUtils(pages);
+        pageUtils.setList(costOtherPaymentsVOList);
+        return pageUtils;
+    }
+
+    /**
+     * 根据Id获取对应的数据
+     *
+     * @param id
+     * @return
+     */
+    @Override
+    public CostOtherPaymentsVO getByParamsId(Long id) {
+        CostOtherPayments costOtherPayments = this.getById(id);
+        if (Objects.isNull(costOtherPayments)){
+            return null;
+        }
+        CostOtherPaymentsVO costOtherPaymentsVO = BeanUtil.convertObj(costOtherPayments, CostOtherPaymentsVO.class);
+        return costOtherPaymentsVO;
+    }
+
+    /**
+     * @param costOtherPaymentsSaveDto
+     */
+    @Override
+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    public void addOtherPayment(CostOtherPaymentsSaveDto costOtherPaymentsSaveDto) {
+        Long hospId = UserContext.getHospId();
+        CostOtherPayments otherPayments = this.getOne(new QueryWrapper<CostOtherPayments>().lambda().eq(CostOtherPayments::getHospId, hospId)
+        .eq(CostOtherPayments::getPaymentsName,costOtherPaymentsSaveDto.getPaymentsName())
+        .eq(CostOtherPayments::getPaymentsType,costOtherPaymentsSaveDto.getPaymentsType()));
+        if (Objects.nonNull(otherPayments)){
+            throw new CostException(500,"数据已存在");
+        }
+        CostOtherPayments costOtherPayments = BeanUtil.convertObj(costOtherPaymentsSaveDto, CostOtherPayments.class);
+        costOtherPayments.setHospId(hospId);
+        costOtherPayments.setCreateTime(System.currentTimeMillis());
+        this.save(costOtherPayments);
+    }
+
+    /**
+     * 修改全院其他收支设置
+     *
+     * @param costOtherPaymentsEditDto
+     */
+    @Override
+    @Transactional(propagation = Propagation.REQUIRED,rollbackFor = Exception.class)
+    public void updateOtherPaymentById(CostOtherPaymentsEditDto costOtherPaymentsEditDto) {
+        Long hospId = UserContext.getHospId();
+        Long id = costOtherPaymentsEditDto.getId();
+        CostOtherPayments otherPayments = this.getOne(new QueryWrapper<CostOtherPayments>().lambda().eq(CostOtherPayments::getHospId, hospId)
+                .eq(CostOtherPayments::getId,id));
+        if (Objects.isNull(otherPayments)){
+            throw new CostException(500,"原始数据不存在");
+        }
+        CostOtherPayments otherPaymentResponse = this.getOne(new QueryWrapper<CostOtherPayments>().lambda().eq(CostOtherPayments::getHospId, hospId)
+                .eq(CostOtherPayments::getPaymentsName,costOtherPaymentsEditDto.getPaymentsName())
+                .eq(CostOtherPayments::getPaymentsType,costOtherPaymentsEditDto.getPaymentsType()));
+        if (Objects.nonNull(otherPaymentResponse)){
+            throw new CostException(500,"修改后的数据已存在");
+        }
+        this.removeById(id);
+        CostOtherPayments costOtherPayments = BeanUtil.convertObj(costOtherPaymentsEditDto, CostOtherPayments.class);
+        costOtherPayments.setCreateTime(System.currentTimeMillis());
+        costOtherPayments.setId(null);
+        costOtherPayments.setHospId(hospId);
+        this.save(costOtherPayments);
+    }
+}

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

@@ -8,13 +8,18 @@ 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.common.util.UserContext;
 import com.imed.costaccount.constants.NumberConstant;
 import com.imed.costaccount.mapper.CostShareParamMapper;
+import com.imed.costaccount.model.CostNumberBedSet;
 import com.imed.costaccount.model.CostShareParam;
+import com.imed.costaccount.model.dto.CheckShareParamStatusDto;
 import com.imed.costaccount.model.dto.CostShareParamAccountDto;
 import com.imed.costaccount.model.dto.CostShareParamEditDto;
 import com.imed.costaccount.model.dto.CostShareParamSaveDto;
+import com.imed.costaccount.model.vo.CheckShareParamStatusVO;
 import com.imed.costaccount.model.vo.CostShareParamVO;
+import com.imed.costaccount.service.CostNumberBedSetService;
 import com.imed.costaccount.service.CostShareParamService;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.stereotype.Service;
@@ -30,7 +35,6 @@ import java.util.stream.Collectors;
 @Service("costShareParamService")
 public class CostShareParamServiceImpl extends ServiceImpl<CostShareParamMapper, CostShareParam> implements CostShareParamService {
 
-
     /**
      * 分页查询相关的分摊参数数据
      *

+ 2 - 0
src/main/java/com/imed/costaccount/service/impl/ReportFormServiceImpl.java

@@ -66,6 +66,8 @@ public class ReportFormServiceImpl extends ServiceImpl<ReportFormMapper, ReportF
             return reportFormVO;
         }).collect(Collectors.toList());
 
+
+
         List<ReportFormVO> roots = reportFormVOS.stream().filter(i -> i.getParentId() == 0L).collect(Collectors.toList());
         for (ReportFormVO root : roots) {
             List<ReportFormVO> children = root.getChildren();

+ 113 - 0
src/main/java/com/imed/costaccount/web/CostNumberBedSetController.java

@@ -0,0 +1,113 @@
+package com.imed.costaccount.web;
+
+import com.imed.costaccount.common.util.PageUtils;
+import com.imed.costaccount.common.util.Result;
+import com.imed.costaccount.common.util.UserContext;
+import com.imed.costaccount.model.dto.CostNumberBedSetEditDto;
+import com.imed.costaccount.model.dto.CostNumberBedSetSaveDto;
+import com.imed.costaccount.model.vo.CheckShareParamStatusVO;
+import com.imed.costaccount.model.vo.CostNumberBedSetVO;
+import com.imed.costaccount.model.vo.ReportFormVO;
+import com.imed.costaccount.service.CostNumberBedSetService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+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-08-09 11:11:06
+ */
+@RestController
+@RequestMapping("/costAccount/costnumberbedset")
+@Api(tags = "诊次/床日设置操作")
+public class CostNumberBedSetController {
+    @Autowired
+    private CostNumberBedSetService costNumberBedSetService;
+
+    /**
+     * 分页查询列表
+     * 查询的是
+     */
+    @GetMapping("/list")
+    @ApiOperation("分页查询诊次/床日成本设置")
+    public Result list(@RequestParam(value = "current", defaultValue = "1") Integer current,
+                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
+                       @RequestParam(value = "name",required = false) String name){
+        Long hospId = UserContext.getHospId();
+        PageUtils pageUtils = costNumberBedSetService.queryList(current,pageSize,name,hospId);
+        return Result.ok(pageUtils);
+    }
+
+
+    /**
+     * 信息
+     */
+    @GetMapping("/info/{id}")
+    @ApiOperation("根据Id获取诊次/床日成本设置")
+    public Result info(@PathVariable("id") Long id){
+		CostNumberBedSetVO costNumberBedSetVO = costNumberBedSetService.getByNumberBedId(id);
+        return Result.ok(costNumberBedSetVO);
+    }
+
+    /**
+     * 保存
+     */
+    @PostMapping("/save")
+    @ApiOperation("保存诊次/床日成本设置")
+    public Result save(@RequestBody @Valid CostNumberBedSetSaveDto costNumberBedSetSaveDto){
+        Long hospId = UserContext.getHospId();
+        costNumberBedSetService.addNumberBedSet(costNumberBedSetSaveDto,hospId);
+        return Result.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @PostMapping("/update")
+    @ApiOperation("修改获取诊次/床日成本设置")
+    public Result update(@RequestBody CostNumberBedSetEditDto costNumberBedSetEditDto){
+        Long hospId = UserContext.getHospId();
+        costNumberBedSetService.updateNumberBedById(costNumberBedSetEditDto,hospId);
+        return Result.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @PostMapping("/delete")
+    @ApiOperation("根据Id的集合删除")
+    public Result delete(@RequestBody Long[] ids){
+		costNumberBedSetService.removeByIds(Arrays.asList(ids));
+        return Result.ok();
+    }
+    /**
+     * 获取当前诊次/床日设置里面关联的成本分摊参数
+     */
+    @GetMapping("/getNumberBedSetShareParam")
+    @ApiOperation("获取所有分摊参数里面与当前对用有关联的")
+    public Result getNumberBedSetShareParam(Long id){
+        Long hospId = UserContext.getHospId();
+        List<CheckShareParamStatusVO> checkShareParamStatusVOList=costNumberBedSetService.checkStatus(id,hospId);
+        return Result.ok(checkShareParamStatusVOList);
+    }
+    /**
+     * 获取报表  显示报表被选中的状态
+     * @param reportType 报表类型
+     */
+    @GetMapping("/getReportNumberBedStatus")
+    @ApiOperation("获取损益表 全院损益表关联的状态")
+    public Result getReportNumberBedStatus(Integer reportType,Integer id){
+        Long hospId = UserContext.getHospId();
+        List<ReportFormVO> reportNumberBedStatus = costNumberBedSetService.getReportNumberBedStatus(reportType, hospId,id);
+        return Result.ok(reportNumberBedStatus);
+    }
+
+}

+ 87 - 0
src/main/java/com/imed/costaccount/web/CostOtherPaymentsController.java

@@ -0,0 +1,87 @@
+package com.imed.costaccount.web;
+
+import com.imed.costaccount.common.util.PageUtils;
+import com.imed.costaccount.common.util.Result;
+import com.imed.costaccount.common.util.UserContext;
+import com.imed.costaccount.model.dto.CostOtherPaymentsEditDto;
+import com.imed.costaccount.model.vo.CostOtherPaymentsSaveDto;
+import com.imed.costaccount.model.vo.CostOtherPaymentsVO;
+import com.imed.costaccount.service.CostOtherPaymentsService;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.validation.Valid;
+import java.util.Arrays;
+
+
+/**
+ * 全院其他收支设置
+ *
+ * @author KCYG
+ * @date 2021-08-09 17:53:22
+ */
+@RestController
+@RequestMapping("/costAccount/costotherpayments")
+@Api(tags = "全院其他收支设置操作")
+public class CostOtherPaymentsController {
+    @Autowired
+    private CostOtherPaymentsService costOtherPaymentsService;
+
+    /**
+     * 分页查询列表
+     * 查询的是
+     */
+    @GetMapping("/list")
+    @ApiOperation("分压查询全院其他收支设置")
+    public Result list(@RequestParam(value = "current", defaultValue = "1") Integer current,
+                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
+                       @RequestParam(value = "name",required = false) String name){
+        Long hospId = UserContext.getHospId();
+        PageUtils pageUtils = costOtherPaymentsService.queryList(current,pageSize,name,hospId);
+        return Result.ok(pageUtils);
+    }
+
+
+    /**
+     * 信息
+     */
+    @GetMapping("/info/{id}")
+    @ApiOperation("根据Id查询全院其他收支设置数据")
+    public Result info(@PathVariable("id") Long id){
+		CostOtherPaymentsVO costOtherPaymentsVO = costOtherPaymentsService.getByParamsId(id);
+        return Result.ok(costOtherPaymentsVO);
+    }
+
+    /**
+     * 保存
+     */
+    @PostMapping("/save")
+    @ApiOperation("保存全院其他收支设置数据")
+    public Result save(@RequestBody @Valid CostOtherPaymentsSaveDto costOtherPaymentsSaveDto){
+		costOtherPaymentsService.addOtherPayment(costOtherPaymentsSaveDto);
+        return Result.ok();
+    }
+
+    /**
+     * 修改
+     */
+    @PostMapping("/update")
+    @ApiOperation("修改全院其他收支设置数据")
+    public Result update(@RequestBody @Valid CostOtherPaymentsEditDto costOtherPaymentsEditDto){
+		costOtherPaymentsService.updateOtherPaymentById(costOtherPaymentsEditDto);
+        return Result.ok();
+    }
+
+    /**
+     * 删除
+     */
+    @PostMapping("/delete")
+    @ApiOperation("删除全院其他收支设置数据")
+    public Result delete(@RequestBody Long[] ids){
+		costOtherPaymentsService.removeByIds(Arrays.asList(ids));
+        return Result.ok();
+    }
+
+}

+ 1 - 0
src/main/java/com/imed/costaccount/web/CostShareParamController.java

@@ -117,4 +117,5 @@ public class CostShareParamController {
         return Result.ok();
     }
 
+
 }

+ 2 - 0
src/main/resources/application-dev.yml

@@ -53,4 +53,6 @@ logging:
   config: classpath:log4j2.xml
   level:
     io.swagger.models.parameters.AbstractSerializableParameter: error
+file:
+  filelocal:
 

+ 22 - 0
src/main/resources/mapper/CostNumberBedSetMapper.xml

@@ -0,0 +1,22 @@
+<?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.CostNumberBedSetMapper">
+
+	<!-- 可根据自己的需求,是否要使用 -->
+    <resultMap type="com.imed.costaccount.model.CostNumberBedSet" id="costNumberBedSetMap">
+        <result property="id" column="id"/>
+        <result property="allocation" column="allocation"/>
+        <result property="incomeType" column="income_type"/>
+        <result property="shareParamCode" column="share_param_code"/>
+        <result property="incomeFieldNum" column="income_field_num"/>
+        <result property="incomeFileName" column="income_file_name"/>
+        <result property="costCorresponding" column="cost_corresponding"/>
+        <result property="costCorrespondingName" column="cost_corresponding_name"/>
+        <result property="hospId" column="hosp_id"/>
+        <result property="createTime" column="create_time"/>
+        <result property="deleteTime" column="delete_time"/>
+    </resultMap>
+
+
+</mapper>

+ 17 - 0
src/main/resources/mapper/CostOtherPaymentsMapper.xml

@@ -0,0 +1,17 @@
+<?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.CostOtherPaymentsMapper">
+
+	<!-- 可根据自己的需求,是否要使用 -->
+    <resultMap type="com.imed.costaccount.model.CostOtherPayments" id="costOtherPaymentsMap">
+        <result property="id" column="id"/>
+        <result property="paymentsType" column="payments_type"/>
+        <result property="paymentsName" column="payments_name"/>
+        <result property="hospId" column="hosp_id"/>
+        <result property="createTime" column="create_time"/>
+        <result property="deleteTime" column="delete_time"/>
+    </resultMap>
+
+
+</mapper>