Prechádzať zdrojové kódy

完全成本法添加项目计算,分摊参数计算,标准项目计算

wangyongsheng 1 rok pred
rodič
commit
4266a41c90
100 zmenil súbory, kde vykonal 2788 pridanie a 139 odobranie
  1. 6 0
      pom.xml
  2. 31 0
      qodana.yaml
  3. 21 0
      src/main/java/com/kcim/common/constants/Constant.java
  4. 1 1
      src/main/java/com/kcim/common/constants/NumberConstant.java
  5. 4 0
      src/main/java/com/kcim/common/constants/ParameterConstant.java
  6. 57 9
      src/main/java/com/kcim/common/enums/DefaultComputeColumnEnum.java
  7. 2 0
      src/main/java/com/kcim/common/enums/ErrorCodeEnum.java
  8. 14 0
      src/main/java/com/kcim/common/util/DateUtils.java
  9. 3 2
      src/main/java/com/kcim/common/util/PageUtils.java
  10. 5 0
      src/main/java/com/kcim/common/util/excel/entity/ItemImportEntity.java
  11. 1 1
      src/main/java/com/kcim/common/util/excel/entity/MaterialImportEntity.java
  12. 8 8
      src/main/java/com/kcim/common/xss/XssHttpServletRequestWrapper.java
  13. 21 0
      src/main/java/com/kcim/dao/mapper/ComputePatientProjectCostDetailMapper.java
  14. 16 0
      src/main/java/com/kcim/dao/mapper/ComputePatientProjectCostMapper.java
  15. 16 0
      src/main/java/com/kcim/dao/mapper/ComputePatientProjectGroupCostDetailMapper.java
  16. 9 2
      src/main/java/com/kcim/dao/mapper/ComputeProjectCostDetailMapper.java
  17. 10 0
      src/main/java/com/kcim/dao/mapper/ComputeProjectCostMapper.java
  18. 16 0
      src/main/java/com/kcim/dao/mapper/ComputeStandPatientProjectCostDetailMapper.java
  19. 21 0
      src/main/java/com/kcim/dao/mapper/ComputeStandPatientProjectCostMapper.java
  20. 16 0
      src/main/java/com/kcim/dao/mapper/ComputeStandPatientProjectGroupCostDetailMapper.java
  21. 23 0
      src/main/java/com/kcim/dao/mapper/ComputeStandProjectCostDetailMapper.java
  22. 21 0
      src/main/java/com/kcim/dao/mapper/ComputeStandProjectCostMapper.java
  23. 16 0
      src/main/java/com/kcim/dao/mapper/ComputeStandProjectGroupCostDetailMapper.java
  24. 23 0
      src/main/java/com/kcim/dao/mapper/ComputeStandShareParamDetailMapper.java
  25. 24 0
      src/main/java/com/kcim/dao/mapper/ComputeStandShareParamMapper.java
  26. 1 0
      src/main/java/com/kcim/dao/mapper/CostCostingGroupMapper.java
  27. 34 11
      src/main/java/com/kcim/dao/mapper/ImportPatientItemMapper.java
  28. 2 0
      src/main/java/com/kcim/dao/mapper/IncomeCollectionMapper.java
  29. 16 0
      src/main/java/com/kcim/dao/mapper/KpiComputeImportMapper.java
  30. 22 0
      src/main/java/com/kcim/dao/model/Accounting.java
  31. 116 0
      src/main/java/com/kcim/dao/model/ComputePatientProjectCost.java
  32. 97 0
      src/main/java/com/kcim/dao/model/ComputePatientProjectCostDetail.java
  33. 93 0
      src/main/java/com/kcim/dao/model/ComputePatientProjectGroupCostDetail.java
  34. 7 4
      src/main/java/com/kcim/dao/model/ComputeProjectCost.java
  35. 116 0
      src/main/java/com/kcim/dao/model/ComputeStandPatientProjectCost.java
  36. 97 0
      src/main/java/com/kcim/dao/model/ComputeStandPatientProjectCostDetail.java
  37. 93 0
      src/main/java/com/kcim/dao/model/ComputeStandPatientProjectGroupCostDetail.java
  38. 112 0
      src/main/java/com/kcim/dao/model/ComputeStandProjectCost.java
  39. 98 0
      src/main/java/com/kcim/dao/model/ComputeStandProjectCostDetail.java
  40. 94 0
      src/main/java/com/kcim/dao/model/ComputeStandProjectGroupCostDetail.java
  41. 113 0
      src/main/java/com/kcim/dao/model/ComputeStandShareParam.java
  42. 93 0
      src/main/java/com/kcim/dao/model/ComputeStandShareParamDetail.java
  43. 3 0
      src/main/java/com/kcim/dao/model/CostCostingGroup.java
  44. 6 0
      src/main/java/com/kcim/dao/model/CostDepartmentProfit.java
  45. 1 1
      src/main/java/com/kcim/dao/model/CostIncomeGroup.java
  46. 9 0
      src/main/java/com/kcim/dao/model/FreeCostMap.java
  47. 15 6
      src/main/java/com/kcim/dao/model/Item.java
  48. 3 1
      src/main/java/com/kcim/dao/model/ItemEmpMap.java
  49. 3 1
      src/main/java/com/kcim/dao/model/ItemEquipmentMap.java
  50. 6 0
      src/main/java/com/kcim/dao/model/ItemNoValuationDrugMaterialMap.java
  51. 5 1
      src/main/java/com/kcim/dao/model/ItemSpaceMap.java
  52. 4 0
      src/main/java/com/kcim/dao/model/ItemValuationDrugMaterialMap.java
  53. 103 0
      src/main/java/com/kcim/dao/model/KpiComputeImport.java
  54. 14 0
      src/main/java/com/kcim/dao/model/Responsibility.java
  55. 11 0
      src/main/java/com/kcim/dao/model/ShareParamCost.java
  56. 5 6
      src/main/java/com/kcim/dao/model/StandItemEmpMap.java
  57. 5 6
      src/main/java/com/kcim/dao/model/StandItemEquipmentMap.java
  58. 5 6
      src/main/java/com/kcim/dao/model/StandItemSpaceMap.java
  59. 11 0
      src/main/java/com/kcim/dao/model/dto/AccountingEditDTO.java
  60. 10 0
      src/main/java/com/kcim/dao/model/dto/AccountingSaveDTO.java
  61. 2 0
      src/main/java/com/kcim/dao/model/dto/CollectDTO.java
  62. 36 0
      src/main/java/com/kcim/dao/model/dto/PatientItemDepartmentGroupVo.java
  63. 9 1
      src/main/java/com/kcim/dao/model/dto/ResponsibilityEditDTO.java
  64. 12 1
      src/main/java/com/kcim/dao/model/dto/ResponsibilitySaveDTO.java
  65. 9 0
      src/main/java/com/kcim/dao/repository/AccountingRepository.java
  66. 39 0
      src/main/java/com/kcim/dao/repository/ComputePatientProjectCostDetailRepository.java
  67. 53 0
      src/main/java/com/kcim/dao/repository/ComputePatientProjectCostRepository.java
  68. 31 0
      src/main/java/com/kcim/dao/repository/ComputePatientProjectGroupCostDetailRepository.java
  69. 7 7
      src/main/java/com/kcim/dao/repository/ComputeProjectCostDetailRepository.java
  70. 45 7
      src/main/java/com/kcim/dao/repository/ComputeProjectCostRepository.java
  71. 6 4
      src/main/java/com/kcim/dao/repository/ComputeShareParamDetailRepository.java
  72. 3 3
      src/main/java/com/kcim/dao/repository/ComputeShareParamRepository.java
  73. 32 0
      src/main/java/com/kcim/dao/repository/ComputeStandPatientProjectCostDetailRepository.java
  74. 58 0
      src/main/java/com/kcim/dao/repository/ComputeStandPatientProjectCostRepository.java
  75. 31 0
      src/main/java/com/kcim/dao/repository/ComputeStandPatientProjectGroupCostDetailRepository.java
  76. 38 0
      src/main/java/com/kcim/dao/repository/ComputeStandProjectCostDetailRepository.java
  77. 67 0
      src/main/java/com/kcim/dao/repository/ComputeStandProjectCostRepository.java
  78. 30 0
      src/main/java/com/kcim/dao/repository/ComputeStandProjectGroupCostDetailRepository.java
  79. 39 0
      src/main/java/com/kcim/dao/repository/ComputeStandShareParamDetailRepository.java
  80. 75 0
      src/main/java/com/kcim/dao/repository/ComputeStandShareParamRepository.java
  81. 135 38
      src/main/java/com/kcim/dao/repository/ImportPatientItemRepository.java
  82. 9 0
      src/main/java/com/kcim/dao/repository/ItemEmpMapRepository.java
  83. 8 0
      src/main/java/com/kcim/dao/repository/ItemEquipmentMapRepository.java
  84. 8 0
      src/main/java/com/kcim/dao/repository/ItemNoValuationDrugMaterialMapRepository.java
  85. 23 1
      src/main/java/com/kcim/dao/repository/ItemRepository.java
  86. 8 0
      src/main/java/com/kcim/dao/repository/ItemSpaceMapRepository.java
  87. 9 0
      src/main/java/com/kcim/dao/repository/ItemValuationDrugMaterialMapRepository.java
  88. 44 0
      src/main/java/com/kcim/dao/repository/KpiComputeImportRepository.java
  89. 27 0
      src/main/java/com/kcim/dao/repository/ResponsibilityRepository.java
  90. 1 1
      src/main/java/com/kcim/endPoint/CenterEndPoint.java
  91. 4 1
      src/main/java/com/kcim/service/AccountingService.java
  92. 2 0
      src/main/java/com/kcim/service/CostAccountShareService.java
  93. 6 1
      src/main/java/com/kcim/service/CostDataService.java
  94. 1 0
      src/main/java/com/kcim/service/FreeCostService.java
  95. 4 0
      src/main/java/com/kcim/service/ItemCostShareService.java
  96. 8 8
      src/main/java/com/kcim/service/ItemService.java
  97. 44 0
      src/main/java/com/kcim/service/KpiComputeImportService.java
  98. 12 0
      src/main/java/com/kcim/service/ProjectCostService.java
  99. 1 0
      src/main/java/com/kcim/service/ReportFormService.java
  100. 4 0
      src/main/java/com/kcim/service/ResponsibilityService.java

+ 6 - 0
pom.xml

@@ -281,6 +281,12 @@
             <artifactId>hanlp</artifactId>
             <version>portable-1.8.4</version>
         </dependency>
+        <dependency>
+            <groupId>org.jetbrains</groupId>
+            <artifactId>annotations</artifactId>
+            <version>24.0.0</version>
+            <scope>compile</scope>
+        </dependency>
     </dependencies>
 
     <build>

+ 31 - 0
qodana.yaml

@@ -0,0 +1,31 @@
+#-------------------------------------------------------------------------------#
+#               Qodana analysis is configured by qodana.yaml file               #
+#             https://www.jetbrains.com/help/qodana/qodana-yaml.html            #
+#-------------------------------------------------------------------------------#
+version: "1.0"
+
+#Specify inspection profile for code analysis
+profile:
+  name: qodana.starter
+
+#Enable inspections
+#include:
+#  - name: <SomeEnabledInspectionId>
+
+#Disable inspections
+#exclude:
+#  - name: <SomeDisabledInspectionId>
+#    paths:
+#      - <path/where/not/run/inspection>
+
+projectJDK: 8 #(Applied in CI/CD pipeline)
+
+#Execute shell command before Qodana execution (Applied in CI/CD pipeline)
+#bootstrap: sh ./prepare-qodana.sh
+
+#Install IDE plugins before Qodana execution (Applied in CI/CD pipeline)
+#plugins:
+#  - id: <plugin.id> #(plugin id can be found at https://plugins.jetbrains.com)
+
+#Specify Qodana linter for analysis (Applied in CI/CD pipeline)
+linter: jetbrains/qodana-jvm:latest

+ 21 - 0
src/main/java/com/kcim/common/constants/Constant.java

@@ -187,5 +187,26 @@ public interface Constant {
      * 损益报表类型
      */
     String PROFIT_REPORT_TYPE ="PROFIT_REPORT_TYPE";
+    /**
+     * 会计科目类别
+     */
+    String ACCOUNTING_TYPE = "ACCOUNTING_TYPE";
+    /**
+     * 标准分摊层级
+     */
+    String STANDARD_SHARE_LEVEL = "STANDARD_SHARE_LEVEL";
+    /**
+     * 责任中心类型
+     */
+    String RESPONSIBILITY_TYPE = "RESPONSIBILITY_TYPE";
+    /**
+     * 特殊导入
+     */
+    String 	SPECIAL_SHEET_MAP = "SPECIAL_SHEET_MAP";
+
+    /**
+     *项目成本列类型
+     */
+    String ITEM_COST_COLUMN_TYPE = "ITEM_COST_COLUNM_TYPE";
 
 }

+ 1 - 1
src/main/java/com/kcim/common/constants/NumberConstant.java

@@ -39,7 +39,7 @@ public final class NumberConstant {
      * 五
      */
     public static final Integer FIVE = 5;
-
+    public static final String FIVE_S = "5";
     /**
      * 六
      */

+ 4 - 0
src/main/java/com/kcim/common/constants/ParameterConstant.java

@@ -27,6 +27,10 @@ public interface ParameterConstant {
 
 
     Long AUTO_MATCH_PERCENT = 1764922833697378304L;
+    /**
+     *1按规则归集 2按自定义SQL归集
+     */
+    Long INCOME_COLLECTION_TYPE = 1791289260914118656L;
 
 
 }

+ 57 - 9
src/main/java/com/kcim/common/enums/DefaultComputeColumnEnum.java

@@ -1,16 +1,71 @@
-package com.kcim.common.enums;/**
+package com.kcim.common.enums;
+
+import lombok.Getter;
+
+/**
 * @program: CostAccount
 * @description: 
 * @author: Wang.YS
 * @create: 2024-01-18 19:41
 **/
+@Getter
 public enum DefaultComputeColumnEnum {
+    /**
+     * 责任中心代码
+     */
     RESPONSIBILITY_CODE("responsibilityCode", "责任中心代码"),
+    /**
+     * 责任中心名称
+     */
     RESPONSIBILITY_NAME("responsibilityName", "责任中心名称"),
+    /**
+     * 项目代码
+     */
     ITEM_CODE("itemCode", "项目代码"),
+    /**
+     * 项目名称
+     */
     ITEM_NAME("itemName", "项目名称"),
+    /**
+     * 项目分类
+     */
     ITEM_TYPE("itemType", "项目分类"),
-
+    /**
+     * 收费项目编码
+     */
+    MEDICAL_ITEM_CODE("medicalItemCode", "收费项目编码"),
+    /**
+     * 收费项目名称
+     */
+    MEDICAL_ITEM_NAME("medicalItemName", "收费项目名称"),
+    /**
+     * 项目收入
+     */
+    ITEM_INCOME("itemIncome", "项目收入"),
+    /**
+     * 项目成本
+     */
+    ITEM_COST("itemCost", "项目成本"),
+    /**
+     * 科室代码
+     */
+    DEPARTMENT_CODE("departmentCode","科室代码"),
+    /**
+     * 科室名称
+     */
+    DEPARTMENT_NAME("departmentName","科室名称"),
+    /**
+     * 住院号/病历号
+     */
+    VISITOR_CODE("visitNo","住院号/病历号"),
+    /**
+     * 病人id
+     */
+    PATIENT_CODE("patientId","病人id"),
+    /**
+     * 患者姓名
+     */
+    PATIENT_NAME("patientName","患者姓名"),
 ;
     private final String code;
     private final String name;
@@ -20,11 +75,4 @@ public enum DefaultComputeColumnEnum {
         this.name = name;
     }
 
-    public String getCode() {
-        return code;
-    }
-
-    public String getName() {
-        return name;
-    }
 }

+ 2 - 0
src/main/java/com/kcim/common/enums/ErrorCodeEnum.java

@@ -8,6 +8,8 @@ public enum ErrorCodeEnum {
     NO_PERMISSION(403, "权限不足"),
     RESPONSIBILITY_CODE_EXIST(500, "责任中心代码重复"),
     FILE_UPLOAD_ERROR(500, "文件上传失败"),
+    DEPARTMENT_NOT_EXIST(500, "科室代码未传入"),
+
     ;
 
     private Integer code;

+ 14 - 0
src/main/java/com/kcim/common/util/DateUtils.java

@@ -16,6 +16,8 @@ public class DateUtils {
     public static final SimpleDateFormat monthSdf = new SimpleDateFormat("yyyy-MM");
     public static final SimpleDateFormat yearSdf = new SimpleDateFormat("yyyy");
     public static final SimpleDateFormat DATE_FORMAT_YYYY_MM_DD = new SimpleDateFormat("yyyy-MM-dd");
+    public static final String DEFAULT_DATE_PATTERN = "yyyy-MM-dd HH:mm:ss";
+    private static final ThreadLocal<DateFormat> df = new ThreadLocal<>();
 
     /**
      * 通用的一个DateFormat
@@ -1800,4 +1802,16 @@ public class DateUtils {
         return format;
     }
 
+    public static String formatDate2String(Date date) {
+        if (date == null) {
+            return null;
+        }
+        DateFormat dateFormat = df.get();
+        if (dateFormat == null) {
+            dateFormat = new SimpleDateFormat(DEFAULT_DATE_PATTERN);
+            df.set(dateFormat);
+        }
+        return dateFormat.format(date);
+    }
+
 }

+ 3 - 2
src/main/java/com/kcim/common/util/PageUtils.java

@@ -2,7 +2,6 @@ package com.kcim.common.util;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.fasterxml.jackson.annotation.JsonInclude;
-import com.kcim.vo.CostingGroupStartVO;
 
 import java.io.Serializable;
 import java.math.BigDecimal;
@@ -43,6 +42,7 @@ public class PageUtils implements Serializable {
 	@JsonInclude(JsonInclude.Include.NON_NULL)
 	private BigDecimal totalAmount;
 
+
 	public PageUtils(int totalCount, int pageSize, int totalPage, int current, List<?> list, BigDecimal totalAmount, BigDecimal departmentAmount) {
 		this.totalCount = totalCount;
 		this.pageSize = pageSize;
@@ -56,7 +56,7 @@ public class PageUtils implements Serializable {
 	public PageUtils(List<?> list, int totalCount, Integer pageSize, Integer current, BigDecimal totalAmount, BigDecimal departmentAmount) {
 		this.totalCount = totalCount;
 		this.pageSize = pageSize;
-		this.totalPage = (int)Math.ceil((double)totalCount/pageSize);
+//		this.totalPage = (int)Math.ceil((double)totalCount/pageSize);
 		this.current = current;
 		this.list = list;
 		this.totalAmount = totalAmount;
@@ -106,6 +106,7 @@ public class PageUtils implements Serializable {
 		this.current = current ;
 		this.totalPage = (int)Math.ceil((double)totalCount/pageSize);
 		this.totalAmount = totalAmount;
+
 	}
 
 	/**

+ 5 - 0
src/main/java/com/kcim/common/util/excel/entity/ItemImportEntity.java

@@ -22,6 +22,11 @@ import java.util.Date;
 @Builder
 @ExcelTarget("ItemImportEntity")
 public class ItemImportEntity {
+    @Excel(name="科室代码",width = 20)
+    private String departmentCode;
+
+    @Excel(name="科室名称",width = 20)
+    private String departmentName;
 
     @Excel(name="收费项目编码",width = 20)
     private String code;

+ 1 - 1
src/main/java/com/kcim/common/util/excel/entity/MaterialImportEntity.java

@@ -29,7 +29,7 @@ public class MaterialImportEntity {
     @Excel(name="项目名称",width = 20)
     private String name;
 
-    @Excel(name="项目类型",width = 20,replace = {"不计价材料_1","高值材料_2"},addressList = true)
+    @Excel(name="项目类型",width = 20,replace = {"不计价材料_1","高值材料_2","低值材料_3"},addressList = true)
     private Integer type;
 
     @Excel(name="单价",width = 20)

+ 8 - 8
src/main/java/com/kcim/common/xss/XssHttpServletRequestWrapper.java

@@ -3,6 +3,7 @@ package com.kcim.common.xss;
 import cn.hutool.core.util.StrUtil;
 import cn.hutool.http.HtmlUtil;
 import com.kcim.common.util.JacksonUtil;
+import org.springframework.util.CollectionUtils;
 
 import javax.servlet.ReadListener;
 import javax.servlet.ServletInputStream;
@@ -46,18 +47,17 @@ public class XssHttpServletRequestWrapper extends HttpServletRequestWrapper {
     public Map<String, String[]> getParameterMap() {
         Map<String, String[]> parameters = super.getParameterMap();
         LinkedHashMap<String, String[]> map = new LinkedHashMap();
-        if (parameters != null) {
-            for (String key : parameters.keySet()) {
-                String[] values = parameters.get(key);
-                for (int i = 0; i < values.length; i++) {
-                    String value = values[i];
+        if (!CollectionUtils.isEmpty(parameters)) {
+            parameters.forEach((k,v)->{
+                for (int i = 0; i < v.length; i++) {
+                    String value = v[i];
                     if (!StrUtil.hasEmpty(value)) {
                         value = HtmlUtil.filter(value);
                     }
-                    values[i] = value;
+                    v[i] = value;
                 }
-                map.put(key, values);
-            }
+                map.put(k, v);
+            });
         }
         return map;
     }

+ 21 - 0
src/main/java/com/kcim/dao/mapper/ComputePatientProjectCostDetailMapper.java

@@ -0,0 +1,21 @@
+package com.kcim.dao.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kcim.dao.model.ComputePatientProjectCostDetail;
+import com.kcim.vo.ComputeProjectCostPageDto;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 完全成本法患者项目成本计算明细表
+ * 
+ * @author Wang.YS
+ * @date 2024-06-25 15:29:21
+ */
+@Mapper
+public interface ComputePatientProjectCostDetailMapper extends BaseMapper<ComputePatientProjectCostDetail> {
+
+    List<ComputeProjectCostPageDto> getByProjectCostId(@Param("computeDate") String computeDate, @Param("hospId")Long hospId, @Param("items") List<Integer> items);
+}

+ 16 - 0
src/main/java/com/kcim/dao/mapper/ComputePatientProjectCostMapper.java

@@ -0,0 +1,16 @@
+package com.kcim.dao.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kcim.dao.model.ComputePatientProjectCost;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 完全成本法患者项目成本计算表
+ * 
+ * @author Wang.YS
+ * @date 2024-06-25 15:29:21
+ */
+@Mapper
+public interface ComputePatientProjectCostMapper extends BaseMapper<ComputePatientProjectCost> {
+	
+}

+ 16 - 0
src/main/java/com/kcim/dao/mapper/ComputePatientProjectGroupCostDetailMapper.java

@@ -0,0 +1,16 @@
+package com.kcim.dao.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kcim.dao.model.ComputePatientProjectGroupCostDetail;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 完全成本法患者项目成本计算汇总明细表
+ * 
+ * @author Wang.YS
+ * @date 2024-06-25 15:29:21
+ */
+@Mapper
+public interface ComputePatientProjectGroupCostDetailMapper extends BaseMapper<ComputePatientProjectGroupCostDetail> {
+	
+}

+ 9 - 2
src/main/java/com/kcim/dao/mapper/ComputeProjectCostDetailMapper.java

@@ -1,8 +1,12 @@
 package com.kcim.dao.mapper;
 
-import com.kcim.dao.model.ComputeProjectCostDetail;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kcim.dao.model.ComputeProjectCostDetail;
+import com.kcim.vo.ComputeProjectCostPageDto;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * 完全成本法项目成本计算明细表
@@ -12,5 +16,8 @@ import org.apache.ibatis.annotations.Mapper;
  */
 @Mapper
 public interface ComputeProjectCostDetailMapper extends BaseMapper<ComputeProjectCostDetail> {
-	
+
+    List<ComputeProjectCostPageDto> getByProjectCostId(@Param("computeDate") String computeDate,
+                                                       @Param("hospId") Long hospId,
+                                                       @Param("items") List<Integer> items);
 }

+ 10 - 0
src/main/java/com/kcim/dao/mapper/ComputeProjectCostMapper.java

@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.kcim.dao.model.ComputeProjectCost;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.kcim.vo.ComputeProjectCostPageDto;
+import com.kcim.vo.ProjectCostVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -31,4 +32,13 @@ public interface ComputeProjectCostMapper extends BaseMapper<ComputeProjectCost>
                                                     @Param("responsibility") String responsibility,
                                                     @Param("itemFilter") String itemFilter,
                                                     @Param("hospId") Long hospId);
+
+    List<ComputeProjectCostPageDto> getColumnList(Page<ComputeProjectCostPageDto> page,
+                                                  @Param("computeDate") String computeDate,
+                                                  @Param("itemType")String itemType,
+                                                  @Param("responsibility") String responsibility,
+                                                  @Param("itemFilter") String itemFilter,
+                                                  @Param("hospId") Long hospId);
+
+    List<ProjectCostVo> getProjectCost(@Param("computeDate") String computeDate, @Param("hospId") Long hospId);
 }

+ 16 - 0
src/main/java/com/kcim/dao/mapper/ComputeStandPatientProjectCostDetailMapper.java

@@ -0,0 +1,16 @@
+package com.kcim.dao.mapper;
+
+import com.kcim.dao.model.ComputeStandPatientProjectCostDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 完全成本法患者标准项目成本计算明细表
+ * 
+ * @author Wang.YS
+ * @date 2024-06-27 20:35:01
+ */
+@Mapper
+public interface ComputeStandPatientProjectCostDetailMapper extends BaseMapper<ComputeStandPatientProjectCostDetail> {
+	
+}

+ 21 - 0
src/main/java/com/kcim/dao/mapper/ComputeStandPatientProjectCostMapper.java

@@ -0,0 +1,21 @@
+package com.kcim.dao.mapper;
+
+import com.kcim.dao.model.ComputeStandPatientProjectCost;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kcim.vo.ComputeProjectCostPageDto;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 完全成本法患者标准项目成本计算表
+ * 
+ * @author Wang.YS
+ * @date 2024-06-27 20:35:01
+ */
+@Mapper
+public interface ComputeStandPatientProjectCostMapper extends BaseMapper<ComputeStandPatientProjectCost> {
+
+    List<ComputeProjectCostPageDto> getByProjectCostId(@Param("computeDate") String computeDate, @Param("hospId")Long hospId, @Param("items") List<Integer> items);
+}

+ 16 - 0
src/main/java/com/kcim/dao/mapper/ComputeStandPatientProjectGroupCostDetailMapper.java

@@ -0,0 +1,16 @@
+package com.kcim.dao.mapper;
+
+import com.kcim.dao.model.ComputeStandPatientProjectGroupCostDetail;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 完全成本法患者标准项目成本计算汇总明细表
+ * 
+ * @author Wang.YS
+ * @date 2024-06-27 20:35:01
+ */
+@Mapper
+public interface ComputeStandPatientProjectGroupCostDetailMapper extends BaseMapper<ComputeStandPatientProjectGroupCostDetail> {
+	
+}

+ 23 - 0
src/main/java/com/kcim/dao/mapper/ComputeStandProjectCostDetailMapper.java

@@ -0,0 +1,23 @@
+package com.kcim.dao.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kcim.dao.model.ComputeStandProjectCostDetail;
+import com.kcim.vo.ComputeProjectCostPageDto;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 完全成本法标准项目成本计算明细表
+ * 
+ * @author Wang.YS
+ * @date 2024-06-25 10:53:26
+ */
+@Mapper
+public interface ComputeStandProjectCostDetailMapper extends BaseMapper<ComputeStandProjectCostDetail> {
+
+    List<ComputeProjectCostPageDto> getByProjectCostId(@Param("computeDate") String computeDate,
+                                                       @Param("hospId") Long hospId,
+                                                       @Param("items") List<Integer> items);
+}

+ 21 - 0
src/main/java/com/kcim/dao/mapper/ComputeStandProjectCostMapper.java

@@ -0,0 +1,21 @@
+package com.kcim.dao.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kcim.dao.model.ComputeStandProjectCost;
+import com.kcim.vo.ProjectCostVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 完全成本法标准项目成本计算表
+ * 
+ * @author Wang.YS
+ * @date 2024-06-25 10:53:26
+ */
+@Mapper
+public interface ComputeStandProjectCostMapper extends BaseMapper<ComputeStandProjectCost> {
+
+    List<ProjectCostVo> getProjectCost(@Param("computeDate") String computeDate, @Param("hospId") Long hospId);
+}

+ 16 - 0
src/main/java/com/kcim/dao/mapper/ComputeStandProjectGroupCostDetailMapper.java

@@ -0,0 +1,16 @@
+package com.kcim.dao.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kcim.dao.model.ComputeStandProjectGroupCostDetail;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 完全成本法标准项目成本计算汇总明细表
+ * 
+ * @author Wang.YS
+ * @date 2024-06-25 10:53:26
+ */
+@Mapper
+public interface ComputeStandProjectGroupCostDetailMapper extends BaseMapper<ComputeStandProjectGroupCostDetail> {
+	
+}

+ 23 - 0
src/main/java/com/kcim/dao/mapper/ComputeStandShareParamDetailMapper.java

@@ -0,0 +1,23 @@
+package com.kcim.dao.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kcim.dao.model.ComputeStandShareParamDetail;
+import com.kcim.vo.ComputeDateShareParamVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 标准项目分摊参数计算明细表
+ * 
+ * @author Wang.YS
+ * @date 2024-06-27 10:11:16
+ */
+@Mapper
+public interface ComputeStandShareParamDetailMapper extends BaseMapper<ComputeStandShareParamDetail> {
+
+    List<ComputeDateShareParamVo> getByShareParamId(@Param("computeDate") String computeDate,
+                                                    @Param("hospId") Long hospId,
+                                                    @Param("items") List<Integer> items);
+}

+ 24 - 0
src/main/java/com/kcim/dao/mapper/ComputeStandShareParamMapper.java

@@ -0,0 +1,24 @@
+package com.kcim.dao.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kcim.dao.model.ComputeStandShareParam;
+import com.kcim.vo.ComputeShareParamDetailVo;
+import com.kcim.vo.ComputeShareParamSumVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 标准项目分摊参数计算表
+ * 
+ * @author Wang.YS
+ * @date 2024-06-27 10:11:16
+ */
+@Mapper
+public interface ComputeStandShareParamMapper extends BaseMapper<ComputeStandShareParam> {
+
+    List<ComputeShareParamSumVo> getComputeShareParamSum(@Param("computeDate") String computeDate, @Param("hospId") Long hospId);
+
+    List<ComputeShareParamDetailVo> getComputeShareParamDetail(@Param("computeDate") String computeDate, @Param("hospId") Long hospId);
+}

+ 1 - 0
src/main/java/com/kcim/dao/mapper/CostCostingGroupMapper.java

@@ -107,6 +107,7 @@ public interface CostCostingGroupMapper extends BaseMapper<CostCostingGroup> {
 
     List<CostCostingGroup> getRealData(@Param("maxId") List<Long> maxId, @Param("hospId") Long hospId, @Param("month") Integer month, @Param("year") Integer year);
 
+    List<CostCostingGroup> getAllRealData( @Param("hospId") Long hospId, @Param("month") Integer month, @Param("year") Integer year);
 
     List<CommonDepartVo> getDepartment(@Param("year") Integer year, @Param("month") Integer month, @Param("hospId") Long hospId, @Param("departmentName")  String departmentName);
 

+ 34 - 11
src/main/java/com/kcim/dao/mapper/ImportPatientItemMapper.java

@@ -1,7 +1,9 @@
 package com.kcim.dao.mapper;
 
-import com.kcim.dao.model.ImportPatientItem;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.kcim.dao.model.ImportPatientItem;
+import com.kcim.dao.model.dto.PatientItemDepartmentGroupVo;
 import com.kcim.dao.model.dto.PatientItemVo;
 import com.kcim.vo.PatientInfoVo;
 import org.apache.ibatis.annotations.Mapper;
@@ -12,26 +14,47 @@ import java.util.List;
 
 /**
  * 患者收费项目导入
- * 
+ *
  * @author Wang.YS
  * @date 2023-10-17 15:35:58
  */
 @Mapper
 public interface ImportPatientItemMapper extends BaseMapper<ImportPatientItem> {
 
-    List<PatientItemVo> getAllGroupByCompute(@Param("computeDate")String computeDate,
-                                             @Param("hospId")Long hospId);
+    List<PatientItemVo> getAllGroupByCompute(@Param("computeDate") String computeDate,
+                                             @Param("hospId") Long hospId);
 
-    List<PatientItemVo> getAllGroupByOrder(@Param("computeDate")String computeDate,
-                                           @Param("hospId")Long hospId);
+    List<PatientItemVo> getAllGroupByOrder(@Param("computeDate") String computeDate,
+                                           @Param("hospId") Long hospId);
 
-    List<PatientInfoVo> getPatientItemPatientInfo(@Param("computeDate")String computeDate,
-                                                  @Param("filter")String filter,
+    List<PatientInfoVo> getPatientItemPatientInfo(@Param("computeDate") String computeDate,
+                                                  @Param("filter") String filter,
                                                   @Param("hospId") Long hospId);
 
     void reducingPatientItemByFileId(@Param("computeDate") String computeDate,
-                                     @Param("hospId")Long hospId,
-                                     @Param("fileId")Long fileId,
+                                     @Param("hospId") Long hospId,
+                                     @Param("fileId") Long fileId,
                                      @Param("date") Date date,
-                                     @Param("userId")String userId);
+                                     @Param("userId") String userId);
+
+    List<PatientItemDepartmentGroupVo> getByDepartGroupComputeDateItem(@Param("computeDate") String computeDate,
+                                                                       @Param("hospId") Long hospId);
+
+    List<PatientItemDepartmentGroupVo> getByDepartGroupComputeDateItem(
+            @Param("page") Page<PatientItemDepartmentGroupVo> page,
+            @Param("computeDate") String computeDate,
+            @Param("hospId") Long hospId);
+
+    long getItemGroupCount(@Param("computeDate") String computeDate,
+                           @Param("hospId") Long hospId);
+
+    List<PatientItemDepartmentGroupVo> getPatientItemGroupList(@Param("page") Page<PatientItemDepartmentGroupVo> page,
+                                                               @Param("computeDate") String computeDate,
+                                                               @Param("hospId") Long hospId);
+
+    long getPatientItemGroupCount(@Param("computeDate") String computeDate,
+                                  @Param("hospId") Long hospId);
+
+    List<PatientItemDepartmentGroupVo>  getDepartAmountGroup(@Param("computeDate") String computeDate,
+                              @Param("hospId") Long hospId);
 }

+ 2 - 0
src/main/java/com/kcim/dao/mapper/IncomeCollectionMapper.java

@@ -42,6 +42,8 @@ public interface IncomeCollectionMapper extends BaseMapper<IncomeCollection> {
      */
     BigDecimal getTotalAmount(@Param("collectDTO") CollectDTO collectDTO);
 
+    BigDecimal getResponsibilityTotalAmount(@Param("collectDTO") CollectDTO collectDTO);
+
     /**
      * 纵向计算所有的amount
      * @param responsibilityCode

+ 16 - 0
src/main/java/com/kcim/dao/mapper/KpiComputeImportMapper.java

@@ -0,0 +1,16 @@
+package com.kcim.dao.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.kcim.dao.model.KpiComputeImport;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * 月度数据导入记录表
+ * 
+ * @author Wang.YS
+ * @date 2023-07-20 10:11:23
+ */
+@Mapper
+public interface KpiComputeImportMapper extends BaseMapper<KpiComputeImport> {
+	
+}

+ 22 - 0
src/main/java/com/kcim/dao/model/Accounting.java

@@ -71,4 +71,26 @@ public class Accounting implements Serializable {
 	@TableField(exist = false)
 	private List<Accounting> children;
 
+	/**
+	 * 成本类别 1 医疗成本 2 医疗全成本  3 医院全成本
+	 */
+	private Integer costType;
+	/**
+	 * 会计科目类别字典代码
+	 */
+	private String type;
+	/**
+	 * 会计科目类别名称
+	 */
+
+	private String typeName;
+	/**
+	 * 可控类型 1 不可控  2 可控
+	 */
+	private Integer controlType;
+	/**
+	 * 就诊类别 0 全院 1 门诊 3住院
+	 */
+	private Integer medicalType;
+
 }

+ 116 - 0
src/main/java/com/kcim/dao/model/ComputePatientProjectCost.java

@@ -0,0 +1,116 @@
+package com.kcim.dao.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+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;
+import java.util.Date;
+
+/**
+ * 完全成本法患者项目成本计算表
+ * 
+ * @author Wang.YS
+
+ * @date 2024-06-25 15:29:21
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("compute_patient_project_cost")
+public class ComputePatientProjectCost implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 医院id
+	 */
+	private Long hospId;
+	/**
+	 * 核算年月
+	 */
+	private String computeDate;
+	/**
+	 * 就诊id
+	 */
+	private String visitNo;
+
+	private String patientNo;
+
+	private String patientName;
+	/**
+	 * 收费项目代码
+	 */
+	private String code;
+	/**
+	 * 收费项目名称
+	 */
+	private String name;
+	/**
+	 * 项目分类
+	 */
+	private String itemType;
+	@TableField(exist = false)
+	private String itemTypeName;
+	/**
+	 * 医嘱代码
+	 */
+	private String orderCode;
+	/**
+	 * 医嘱名称
+	 */
+	private String orderName;
+	/**
+	 * 责任中心代码
+	 */
+	private String responsibilityCode;
+	/**
+	 * 责任中心名称
+	 */
+	private String responsibilityName;
+	/**
+	 * 创建人
+	 */
+	private String createUser;
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+	/**
+	 * 更新人
+	 */
+	private String updateUser;
+	/**
+	 * 更新时间
+	 */
+	private Date updateTime;
+	/**
+	 * 删除人
+	 */
+	private String deleteUser;
+	/**
+	 * 删除时间
+	 */
+	private Date deleteTime;
+	/**
+	 * 删除标志  0正常 1作废
+	 */
+	@TableLogic(value = "0",delval = "1")
+	private Integer delFlag;
+	@TableField(exist = false)
+	private Integer index;
+
+	private String departmentCode;
+
+	private String departmentName;
+}

+ 97 - 0
src/main/java/com/kcim/dao/model/ComputePatientProjectCostDetail.java

@@ -0,0 +1,97 @@
+package com.kcim.dao.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+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;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 完全成本法患者项目成本计算明细表
+ * 
+ * @author Wang.YS
+
+ * @date 2024-06-25 15:29:21
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("compute_patient_project_cost_detail")
+public class ComputePatientProjectCostDetail implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 医院id
+	 */
+	private Long hospId;
+	/**
+	 * 核算年月
+	 */
+	private String computeDate;
+	/**
+	 * 项目成本主键
+	 */
+	private Integer projectCostId;
+	/**
+	 * 项目成本列代码
+	 */
+	private String costColumnCode;
+	/**
+	 * 项目成本列类型
+	 */
+	private String costColumnType;
+	/**
+	 * 计算结果
+	 */
+	private BigDecimal computeResult;
+	/**
+	 * 单个计算结果
+	 */
+	private BigDecimal computeSingleResult;
+	/**
+	 * 创建人
+	 */
+	private String createUser;
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+	/**
+	 * 更新人
+	 */
+	private String updateUser;
+	/**
+	 * 更新时间
+	 */
+	private Date updateTime;
+	/**
+	 * 删除人
+	 */
+	private String deleteUser;
+	/**
+	 * 删除时间
+	 */
+	private Date deleteTime;
+	/**
+	 * 删除标志  0正常 1作废
+	 */
+	@TableLogic(value = "0",delval = "1")
+	private Integer delFlag;
+
+	@TableField(exist = false)
+	private Integer index;
+
+}

+ 93 - 0
src/main/java/com/kcim/dao/model/ComputePatientProjectGroupCostDetail.java

@@ -0,0 +1,93 @@
+package com.kcim.dao.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+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;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 完全成本法患者项目成本计算汇总明细表
+ * 
+ * @author Wang.YS
+
+ * @date 2024-06-25 15:29:21
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("compute_patient_project_group_cost_detail")
+public class ComputePatientProjectGroupCostDetail implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 医院id
+	 */
+	private Long hospId;
+	/**
+	 * 核算年月
+	 */
+	private String computeDate;
+	/**
+	 * 项目成本主键
+	 */
+	private Integer projectCostId;
+	/**
+	 * 报表项目类别
+	 */
+	private String type;
+	/**
+	 * 计算结果
+	 */
+	private BigDecimal computeResult;
+	/**
+	 * 单个计算结果
+	 */
+	private BigDecimal computeSingleResult;
+	/**
+	 * 创建人
+	 */
+	private String createUser;
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+	/**
+	 * 更新人
+	 */
+	private String updateUser;
+	/**
+	 * 更新时间
+	 */
+	private Date updateTime;
+	/**
+	 * 删除人
+	 */
+	private String deleteUser;
+	/**
+	 * 删除时间
+	 */
+	private Date deleteTime;
+	/**
+	 * 删除标志  0正常 1作废
+	 */
+	@TableLogic(value = "0",delval = "1")
+	private Integer delFlag;
+
+	@TableField(exist = false)
+	private Integer index;
+
+}

+ 7 - 4
src/main/java/com/kcim/dao/model/ComputeProjectCost.java

@@ -4,15 +4,14 @@ import com.baomidou.mybatisplus.annotation.TableField;
 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;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * 完全成本法项目成本计算表
  * 
@@ -57,6 +56,8 @@ public class ComputeProjectCost implements Serializable {
 	 * 项目分类
 	 */
 	private String itemType;
+	@TableField(exist = false)
+	private String itemTypeName;
 	/**
 	 * 医嘱代码
 	 */
@@ -107,4 +108,6 @@ public class ComputeProjectCost implements Serializable {
 	private Integer index;
 
 
+
+
 }

+ 116 - 0
src/main/java/com/kcim/dao/model/ComputeStandPatientProjectCost.java

@@ -0,0 +1,116 @@
+package com.kcim.dao.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+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;
+import java.util.Date;
+
+/**
+ * 完全成本法患者标准项目成本计算表
+ * 
+ * @author Wang.YS
+
+ * @date 2024-06-27 20:35:01
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("compute_stand_patient_project_cost")
+public class ComputeStandPatientProjectCost implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 医院id
+	 */
+	private Long hospId;
+	/**
+	 * 核算年月
+	 */
+	private String computeDate;
+	/**
+	 * 就诊id
+	 */
+	private String visitNo;
+	private String patientNo;
+
+	private String patientName;
+	/**
+	 * 收费项目代码
+	 */
+	private String code;
+	/**
+	 * 收费项目名称
+	 */
+	private String name;
+	/**
+	 * 项目分类
+	 */
+	private String itemType;
+	@TableField(exist = false)
+	private String itemTypeName;
+	/**
+	 * 医嘱代码
+	 */
+	private String orderCode;
+	/**
+	 * 医嘱名称
+	 */
+	private String orderName;
+	/**
+	 * 责任中心代码
+	 */
+	private String responsibilityCode;
+	/**
+	 * 责任中心名称
+	 */
+	private String responsibilityName;
+	/**
+	 * 创建人
+	 */
+	private String createUser;
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+	/**
+	 * 更新人
+	 */
+	private String updateUser;
+	/**
+	 * 更新时间
+	 */
+	private Date updateTime;
+	/**
+	 * 删除人
+	 */
+	private String deleteUser;
+	/**
+	 * 删除时间
+	 */
+	private Date deleteTime;
+	/**
+	 * 删除标志  0正常 1作废
+	 */
+	@TableLogic(value = "0",delval = "1")
+	private Integer delFlag;
+
+	@TableField(exist = false)
+	private Integer index;
+
+	private String departmentCode;
+
+	private String departmentName;
+}

+ 97 - 0
src/main/java/com/kcim/dao/model/ComputeStandPatientProjectCostDetail.java

@@ -0,0 +1,97 @@
+package com.kcim.dao.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+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;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 完全成本法患者标准项目成本计算明细表
+ * 
+ * @author Wang.YS
+
+ * @date 2024-06-27 20:35:01
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("compute_stand_patient_project_cost_detail")
+public class ComputeStandPatientProjectCostDetail implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 医院id
+	 */
+	private Long hospId;
+	/**
+	 * 核算年月
+	 */
+	private String computeDate;
+	/**
+	 * 项目成本主键
+	 */
+	private Integer projectCostId;
+	/**
+	 * 项目成本列代码
+	 */
+	private String costColumnCode;
+	/**
+	 * 项目成本列类型
+	 */
+	private String costColumnType;
+	/**
+	 * 计算结果
+	 */
+	private BigDecimal computeResult;
+	/**
+	 * 单个计算结果
+	 */
+	private BigDecimal computeSingleResult;
+	/**
+	 * 创建人
+	 */
+	private String createUser;
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+	/**
+	 * 更新人
+	 */
+	private String updateUser;
+	/**
+	 * 更新时间
+	 */
+	private Date updateTime;
+	/**
+	 * 删除人
+	 */
+	private String deleteUser;
+	/**
+	 * 删除时间
+	 */
+	private Date deleteTime;
+	/**
+	 * 删除标志  0正常 1作废
+	 */
+	@TableLogic(value = "0",delval = "1")
+	private Integer delFlag;
+
+	@TableField(exist = false)
+	private Integer index;
+
+}

+ 93 - 0
src/main/java/com/kcim/dao/model/ComputeStandPatientProjectGroupCostDetail.java

@@ -0,0 +1,93 @@
+package com.kcim.dao.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+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;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 完全成本法患者标准项目成本计算汇总明细表
+ * 
+ * @author Wang.YS
+
+ * @date 2024-06-27 20:35:01
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("compute_stand_patient_project_group_cost_detail")
+public class ComputeStandPatientProjectGroupCostDetail implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 医院id
+	 */
+	private Long hospId;
+	/**
+	 * 核算年月
+	 */
+	private String computeDate;
+	/**
+	 * 项目成本主键
+	 */
+	private Integer projectCostId;
+	/**
+	 * 报表项目类别
+	 */
+	private String type;
+	/**
+	 * 计算结果
+	 */
+	private BigDecimal computeResult;
+	/**
+	 * 单个计算结果
+	 */
+	private BigDecimal computeSingleResult;
+	/**
+	 * 创建人
+	 */
+	private String createUser;
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+	/**
+	 * 更新人
+	 */
+	private String updateUser;
+	/**
+	 * 更新时间
+	 */
+	private Date updateTime;
+	/**
+	 * 删除人
+	 */
+	private String deleteUser;
+	/**
+	 * 删除时间
+	 */
+	private Date deleteTime;
+	/**
+	 * 删除标志  0正常 1作废
+	 */
+	@TableLogic(value = "0",delval = "1")
+	private Integer delFlag;
+
+	@TableField(exist = false)
+	private Integer index;
+
+}

+ 112 - 0
src/main/java/com/kcim/dao/model/ComputeStandProjectCost.java

@@ -0,0 +1,112 @@
+package com.kcim.dao.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+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;
+import java.util.Date;
+
+/**
+ * 完全成本法标准项目成本计算表
+ * 
+ * @author Wang.YS
+
+ * @date 2024-06-25 10:53:26
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("compute_stand_project_cost")
+public class ComputeStandProjectCost implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 医院id
+	 */
+	private Long hospId;
+	/**
+	 * 核算年月
+	 */
+	private String computeDate;
+	/**
+	 * 就诊id
+	 */
+	private String visitNo;
+	/**
+	 * 收费项目代码
+	 */
+	private String code;
+	/**
+	 * 收费项目名称
+	 */
+	private String name;
+	/**
+	 * 项目分类
+	 */
+	private String itemType;
+	@TableField(exist = false)
+	private String ItemTypeName;
+	/**
+	 * 医嘱代码
+	 */
+	private String orderCode;
+	/**
+	 * 医嘱名称
+	 */
+	private String orderName;
+	/**
+	 * 责任中心代码
+	 */
+	private String responsibilityCode;
+	/**
+	 * 责任中心名称
+	 */
+	private String responsibilityName;
+	/**
+	 * 创建人
+	 */
+	private String createUser;
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+	/**
+	 * 更新人
+	 */
+	private String updateUser;
+	/**
+	 * 更新时间
+	 */
+	private Date updateTime;
+	/**
+	 * 删除人
+	 */
+	private String deleteUser;
+	/**
+	 * 删除时间
+	 */
+	private Date deleteTime;
+	/**
+	 * 删除标志  0正常 1作废
+	 */
+	@TableLogic(value = "0",delval = "1")
+	private Integer delFlag;
+
+
+	@TableField(exist = false)
+	private Integer index;
+
+
+}

+ 98 - 0
src/main/java/com/kcim/dao/model/ComputeStandProjectCostDetail.java

@@ -0,0 +1,98 @@
+package com.kcim.dao.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+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;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 完全成本法标准项目成本计算明细表
+ * 
+ * @author Wang.YS
+
+ * @date 2024-06-25 10:53:26
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("compute_stand_project_cost_detail")
+public class ComputeStandProjectCostDetail implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 医院id
+	 */
+	private Long hospId;
+	/**
+	 * 核算年月
+	 */
+	private String computeDate;
+	/**
+	 * 项目成本主键
+	 */
+	private Integer projectCostId;
+	/**
+	 * 项目成本列代码
+	 */
+	private String costColumnCode;
+	/**
+	 * 项目成本列类型
+	 */
+	private String costColumnType;
+	/**
+	 * 计算结果
+	 */
+	private BigDecimal computeResult;
+	/**
+	 * 单个计算结果
+	 */
+	private BigDecimal computeSingleResult;
+	/**
+	 * 创建人
+	 */
+	private String createUser;
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+	/**
+	 * 更新人
+	 */
+	private String updateUser;
+	/**
+	 * 更新时间
+	 */
+	private Date updateTime;
+	/**
+	 * 删除人
+	 */
+	private String deleteUser;
+	/**
+	 * 删除时间
+	 */
+	private Date deleteTime;
+	/**
+	 * 删除标志  0正常 1作废
+	 */
+	@TableLogic(value = "0",delval = "1")
+	private Integer delFlag;
+
+
+	@TableField(exist = false)
+	private Integer index;
+
+}

+ 94 - 0
src/main/java/com/kcim/dao/model/ComputeStandProjectGroupCostDetail.java

@@ -0,0 +1,94 @@
+package com.kcim.dao.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+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;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 完全成本法标准项目成本计算汇总明细表
+ * 
+ * @author Wang.YS
+
+ * @date 2024-06-25 10:53:26
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("compute_stand_project_group_cost_detail")
+public class ComputeStandProjectGroupCostDetail implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 医院id
+	 */
+	private Long hospId;
+	/**
+	 * 核算年月
+	 */
+	private String computeDate;
+	/**
+	 * 项目成本主键
+	 */
+	private Integer projectCostId;
+	/**
+	 * 报表项目类别
+	 */
+	private String type;
+	/**
+	 * 计算结果
+	 */
+	private BigDecimal computeResult;
+	/**
+	 * 单个计算结果
+	 */
+	private BigDecimal computeSingleResult;
+	/**
+	 * 创建人
+	 */
+	private String createUser;
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+	/**
+	 * 更新人
+	 */
+	private String updateUser;
+	/**
+	 * 更新时间
+	 */
+	private Date updateTime;
+	/**
+	 * 删除人
+	 */
+	private String deleteUser;
+	/**
+	 * 删除时间
+	 */
+	private Date deleteTime;
+	/**
+	 * 删除标志  0正常 1作废
+	 */
+	@TableLogic(value = "0",delval = "1")
+	private Integer delFlag;
+
+
+	@TableField(exist = false)
+	private Integer index;
+
+}

+ 113 - 0
src/main/java/com/kcim/dao/model/ComputeStandShareParam.java

@@ -0,0 +1,113 @@
+package com.kcim.dao.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+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;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 标准项目分摊参数计算表
+ * 
+ * @author Wang.YS
+
+ * @date 2024-06-27 10:11:16
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("compute_stand_share_param")
+public class ComputeStandShareParam implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 医院id
+	 */
+	private Long hospId;
+	/**
+	 * 核算年月
+	 */
+	private String computeDate;
+	/**
+	 * 就诊id
+	 */
+	private String visitNo;
+	/**
+	 * 收费项目代码
+	 */
+	private String code;
+	/**
+	 * 收费项目名称
+	 */
+	private String name;
+	/**
+	 * 项目分类
+	 */
+	private String itemType;
+	/**
+	 * 医嘱代码
+	 */
+	private String orderCode;
+	/**
+	 * 医嘱名称
+	 */
+	private String orderName;
+	/**
+	 * 责任中心代码
+	 */
+	private String responsibilityCode;
+	/**
+	 * 责任中心名称
+	 */
+	private String responsibilityName;
+	/**
+	 * 数量
+	 */
+	private BigDecimal num;
+	/**
+	 * 创建人
+	 */
+	private String createUser;
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+	/**
+	 * 更新人
+	 */
+	private String updateUser;
+	/**
+	 * 更新时间
+	 */
+	private Date updateTime;
+	/**
+	 * 删除人
+	 */
+	private String deleteUser;
+	/**
+	 * 删除时间
+	 */
+	private Date deleteTime;
+	/**
+	 * 删除标志  0正常 1作废
+	 */
+	@TableLogic(value = "0",delval = "1")
+	private Integer delFlag;
+
+	@TableField(exist = false)
+	private Integer index;
+
+}

+ 93 - 0
src/main/java/com/kcim/dao/model/ComputeStandShareParamDetail.java

@@ -0,0 +1,93 @@
+package com.kcim.dao.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+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;
+import java.math.BigDecimal;
+import java.util.Date;
+
+/**
+ * 标准项目分摊参数计算明细表
+ * 
+ * @author Wang.YS
+
+ * @date 2024-06-27 10:11:16
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("compute_stand_share_param_detail")
+public class ComputeStandShareParamDetail implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 医院id
+	 */
+	private Long hospId;
+	/**
+	 * 核算年月
+	 */
+	private String computeDate;
+	/**
+	 * 项目成本主键
+	 */
+	private Integer shareParamId;
+	/**
+	 * 项目分摊参数代码
+	 */
+	private String shareParamCode;
+	/**
+	 * 计算结果
+	 */
+	private BigDecimal computeResult;
+	/**
+	 * 单个计算结果
+	 */
+	private BigDecimal computeSingleResult;
+	/**
+	 * 创建人
+	 */
+	private String createUser;
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+	/**
+	 * 更新人
+	 */
+	private String updateUser;
+	/**
+	 * 更新时间
+	 */
+	private Date updateTime;
+	/**
+	 * 删除人
+	 */
+	private String deleteUser;
+	/**
+	 * 删除时间
+	 */
+	private Date deleteTime;
+	/**
+	 * 删除标志  0正常 1作废
+	 */
+	@TableLogic(value = "0",delval = "1")
+	private Integer delFlag;
+
+	@TableField(exist = false)
+	private Integer index;
+
+}

+ 3 - 0
src/main/java/com/kcim/dao/model/CostCostingGroup.java

@@ -1,5 +1,6 @@
 package com.kcim.dao.model;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
@@ -110,5 +111,7 @@ public class CostCostingGroup implements Serializable {
 	private Long computeConnectId;
 
 	private BigDecimal rate;
+	@TableField(exist = false)
+	private Long shareId;
 
 }

+ 6 - 0
src/main/java/com/kcim/dao/model/CostDepartmentProfit.java

@@ -79,6 +79,12 @@ public class CostDepartmentProfit implements Serializable {
 	private String parentResponsibilityCode;
 	@TableField(exist = false)
 	private String parentResponsibilityName;
+
+	@TableField(exist = false)
+	private Long responsibilityId;
+
+	@TableField(exist = false)
+	private Long parentResponsibilityId;
 	/**
 	 * 成本类型
 	 */

+ 1 - 1
src/main/java/com/kcim/dao/model/CostIncomeGroup.java

@@ -131,7 +131,7 @@ public class CostIncomeGroup implements Serializable {
 	/**
 	 * 数量
 	 */
-	private Integer totalNumber;
+	private BigDecimal totalNumber;
 	/**
 	 * 单位
 	 */

+ 9 - 0
src/main/java/com/kcim/dao/model/FreeCostMap.java

@@ -69,6 +69,15 @@ public class FreeCostMap implements Serializable {
 	 * 实际检查时间参数名称
 	 */
 	private String actualParamName;
+	/**
+	 * 闲置成本责任中心
+	 */
+	private String freeResponsibilityCode;
+
+	/**
+	 * 闲置成本责任中心名称
+	 */
+	private String freeResponsibilityName;
 	/**
 	 * 创建人
 	 */

+ 15 - 6
src/main/java/com/kcim/dao/model/Item.java

@@ -4,18 +4,17 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
-
-import java.io.Serializable;
-import java.math.BigDecimal;
-import java.util.Date;
-import java.util.List;
-
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
 /**
  * 收费项目管理
  * 
@@ -158,4 +157,14 @@ public class Item implements Serializable {
 	@TableField(exist = false)
 	private String percentDisplay;
 
+	/**
+	 * 科室代码
+	 */
+	private String departmentCode;
+	/**
+	 * 科室名称
+	 */
+	private String departmentName;
+	@TableField(exist = false)
+	private StandItem standItem;
 }

+ 3 - 1
src/main/java/com/kcim/dao/model/ItemEmpMap.java

@@ -52,7 +52,7 @@ public class ItemEmpMap implements Serializable {
 	/**
 	 * 数量
 	 */
-	private Integer num;
+	private BigDecimal num;
 	/**
 	 * 执行时间(m)
 	 */
@@ -94,4 +94,6 @@ public class ItemEmpMap implements Serializable {
 	@JsonIgnore
 	private Integer delFlag;
 
+	private String departmentCode;
+
 }

+ 3 - 1
src/main/java/com/kcim/dao/model/ItemEquipmentMap.java

@@ -53,7 +53,7 @@ public class ItemEquipmentMap implements Serializable {
 	/**
 	 * 数量
 	 */
-	private Integer num;
+	private BigDecimal num;
 	/**
 	 * 执行时间(m)
 	 */
@@ -95,4 +95,6 @@ public class ItemEquipmentMap implements Serializable {
 	@JsonIgnore
 	private Integer delFlag;
 
+	private String departmentCode;
+
 }

+ 6 - 0
src/main/java/com/kcim/dao/model/ItemNoValuationDrugMaterialMap.java

@@ -97,4 +97,10 @@ public class ItemNoValuationDrugMaterialMap implements Serializable {
 	@JsonIgnore
 	private Integer delFlag;
 
+	/**
+	 * 科室代码
+	 */
+	private String departmentCode;
+
+
 }

+ 5 - 1
src/main/java/com/kcim/dao/model/ItemSpaceMap.java

@@ -56,7 +56,7 @@ public class ItemSpaceMap implements Serializable {
 	/**
 	 * 数量
 	 */
-	private Integer num;
+	private BigDecimal num;
 	/**
 	 * 执行时间(m)
 	 */
@@ -97,5 +97,9 @@ public class ItemSpaceMap implements Serializable {
 	@TableLogic(value = "0",delval = "1")
 	@JsonIgnore
 	private Integer delFlag;
+	/**
+	 * 科室代码
+	 */
+	private String departmentCode;
 
 }

+ 4 - 0
src/main/java/com/kcim/dao/model/ItemValuationDrugMaterialMap.java

@@ -96,5 +96,9 @@ public class ItemValuationDrugMaterialMap implements Serializable {
 	@TableLogic(value = "0",delval = "1")
 	@JsonIgnore
 	private Integer delFlag;
+	/**
+	 * 科室代码
+	 */
+	private String departmentCode;
 
 }

+ 103 - 0
src/main/java/com/kcim/dao/model/KpiComputeImport.java

@@ -0,0 +1,103 @@
+package com.kcim.dao.model;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.experimental.Accessors;
+
+import java.io.Serializable;
+import java.util.Date;
+
+/**
+ * 月度数据导入记录表
+ * 
+ * @author Wang.YS
+
+ * @date 2023-07-20 10:11:23
+ */
+@Data
+@Accessors(chain = true)
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName("kpi_compute_import")
+public class KpiComputeImport implements Serializable {
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键
+	 */
+	@TableId
+	private Integer id;
+	/**
+	 * 医院id
+	 */
+	private Long hospId;
+	/**
+	 * 核算年月YYYY-MM
+	 */
+	private String computeDate;
+	/**
+	 * 数据库表名
+	 */
+	private String tableName;
+	@TableField(exist = false)
+	private String tableNameDisplay;
+	/**
+	 * 文件名称
+	 */
+	private String fileName;
+	/**
+	 * 文件路径
+	 */
+	private String url;
+	/**
+	 * 创建人
+	 */
+	private String createUser;
+	/**
+	 * 工号
+	 */
+	@TableField(exist = false)
+	private String createUserName;
+	/**
+	 * 创建时间
+	 */
+	private Date createTime;
+	/**
+	 * 更新人
+	 */
+	@JsonIgnore
+	private String updateUser;
+	/**
+	 * 更新时间
+	 */
+	@JsonIgnore
+	private Date updateTime;
+	/**
+	 * 删除人
+	 */
+	@JsonIgnore
+	private String deleteUser;
+	/**
+	 * 删除时间
+	 */
+	@JsonIgnore
+	private Date deleteTime;
+	/**
+	 * 删除标志  0正常 1作废
+	 */
+	@JsonIgnore
+	@TableLogic(value = "0",delval = "1")
+	private Integer delFlag;
+
+	/**
+	 * 导入状态 0 已导入  1 已作废
+	 */
+	private Integer importStatus;
+
+}

+ 14 - 0
src/main/java/com/kcim/dao/model/Responsibility.java

@@ -94,4 +94,18 @@ public class Responsibility implements Serializable {
 		this.parentId = parentId;
 	}
 
+	/**
+	 * 标准分摊层级
+	 */
+	private String standardShareLevel;
+	@TableField(exist = false)
+	private String standardShareLevelName;
+
+	/**
+	 * 责任中心类型
+	 */
+	private String type;
+	@TableField(exist = false)
+	private String typeName;
+
 }

+ 11 - 0
src/main/java/com/kcim/dao/model/ShareParamCost.java

@@ -112,4 +112,15 @@ public class ShareParamCost implements Serializable {
 
 	private String profitPathName;
 
+	private String reportType;
+
+	@TableField(exist = false)
+	private String reportTypeName;
+
+	private String itemType;
+
+	@TableField(exist = false)
+	private String itemTypeName;
+
+
 }

+ 5 - 6
src/main/java/com/kcim/dao/model/StandItemEmpMap.java

@@ -4,17 +4,16 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
-
-import java.math.BigDecimal;
-import java.io.Serializable;
-import java.util.Date;
-
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * 标准项目人员对照管理
  * 
@@ -52,7 +51,7 @@ public class StandItemEmpMap implements Serializable {
 	/**
 	 * 数量
 	 */
-	private Integer num;
+	private BigDecimal num;
 	/**
 	 * 执行时间(m)
 	 */

+ 5 - 6
src/main/java/com/kcim/dao/model/StandItemEquipmentMap.java

@@ -4,17 +4,16 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
-
-import java.math.BigDecimal;
-import java.io.Serializable;
-import java.util.Date;
-
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * 标准项目设备对照管理
  * 
@@ -52,7 +51,7 @@ public class StandItemEquipmentMap implements Serializable {
 	/**
 	 * 数量
 	 */
-	private Integer num;
+	private BigDecimal num;
 	/**
 	 * 执行时间(m)
 	 */

+ 5 - 6
src/main/java/com/kcim/dao/model/StandItemSpaceMap.java

@@ -4,17 +4,16 @@ import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableLogic;
 import com.baomidou.mybatisplus.annotation.TableName;
-
-import java.math.BigDecimal;
-import java.io.Serializable;
-import java.util.Date;
-
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 import lombok.experimental.Accessors;
 
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+
 /**
  * 标准项目空间对照管理
  * 
@@ -55,7 +54,7 @@ public class StandItemSpaceMap implements Serializable {
 	/**
 	 * 数量
 	 */
-	private Integer num;
+	private BigDecimal num;
 	/**
 	 * 执行时间(m)
 	 */

+ 11 - 0
src/main/java/com/kcim/dao/model/dto/AccountingEditDTO.java

@@ -23,6 +23,17 @@ public class AccountingEditDTO {
     @NotEmpty(message = "科目名称不能为空")
     private String accountingName;
 
+    private Integer accountType;
 
+    private Integer isBaseCost;
 
+    private Integer costType;
+
+    private String type;
+
+    private String typeName;
+
+    private Integer controlType;
+
+    private Integer medicalType;
 }

+ 10 - 0
src/main/java/com/kcim/dao/model/dto/AccountingSaveDTO.java

@@ -29,4 +29,14 @@ public class AccountingSaveDTO {
 
     @ApiModelProperty(name = "isBaseCost",value = "如果是支出,必须选择收入还是支出")
     private Integer isBaseCost;
+
+    private Integer costType;
+
+    private String type;
+
+    private String typeName;
+
+    private Integer controlType;
+
+    private Integer medicalType;
 }

+ 2 - 0
src/main/java/com/kcim/dao/model/dto/CollectDTO.java

@@ -20,5 +20,7 @@ public class CollectDTO {
 
     private String productCode;
 
+    private String accountFilter;
+
     private Long hospId;
 }

+ 36 - 0
src/main/java/com/kcim/dao/model/dto/PatientItemDepartmentGroupVo.java

@@ -0,0 +1,36 @@
+package com.kcim.dao.model.dto;
+
+import lombok.Data;
+
+import java.math.BigDecimal;
+
+/**
+ * @program: CostAccount
+ * @description:
+ * @author: Wang.YS
+ * @create: 2024-06-20 14:12
+ **/
+@Data
+public class PatientItemDepartmentGroupVo {
+    private  Long id;
+    private String itemCode;
+
+    private String itemName;
+
+    private String executeDepartmentCode;
+
+    private String executeDepartmentName;
+
+    private BigDecimal num;
+
+    private BigDecimal amount;
+
+    private String visitNo;
+
+    private String name;
+
+    private String patientNo;
+
+    private String responsibilityCode;
+
+}

+ 9 - 1
src/main/java/com/kcim/dao/model/dto/ResponsibilityEditDTO.java

@@ -50,6 +50,14 @@ public class ResponsibilityEditDTO {
     @NotNull(message = "是否默认字段不为空")
     @ApiModelProperty(value = "0.不是,1.是", name = "deptStatus")
     private Integer isDefault;
-
+    /**
+     * 标准责任中心代码
+     */
+    private String standardShareLevel;
+
+    /**
+     * 责任中心类型
+     */
+    private String type;
 
 }

+ 12 - 1
src/main/java/com/kcim/dao/model/dto/ResponsibilitySaveDTO.java

@@ -27,7 +27,7 @@ public class ResponsibilitySaveDTO {
     @ApiModelProperty(name = "isGatherCenter", value = "是否汇总中心")
     private Integer isGatherCenter;
 
-    @NotNull(message = "收益类型 1. 收费中心,2.成本(费用)中心")
+//    @NotNull(message = "收益类型 1. 收费中心,2.成本(费用)中心")
     @ApiModelProperty(name = "responsibilityType", value = "收益类型 1. 收费中心,2.成本(费用)中心")
     private Integer responsibilityType;
 
@@ -45,4 +45,15 @@ public class ResponsibilitySaveDTO {
     @NotNull(message = "是否默认字段不为空")
     @ApiModelProperty(value = "0.不是,1.是", name = "isDefault")
     private Integer isDefault;
+
+
+    /**
+     * 标准责任中心代码
+     */
+    private String standardShareLevel;
+
+    /**
+     * 责任中心类型
+     */
+    private String type;
 }

+ 9 - 0
src/main/java/com/kcim/dao/repository/AccountingRepository.java

@@ -62,4 +62,13 @@ public class AccountingRepository extends ServiceImpl<AccountingMapper, Accounti
         return this.list(queryWrapper);
 
     }
+
+    public List<Accounting> getList(Integer accountType, String filter) {
+        LambdaQueryWrapper<Accounting> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(Accounting::getHospId, UserContext.getHospId());
+        queryWrapper.eq(Accounting::getAccountingType, accountType);
+        queryWrapper.and(q->q.like(Accounting::getAccountingCode,filter).or().like(Accounting::getAccountingName,filter));
+        queryWrapper.orderByDesc(Accounting::getCreateTime);
+        return this.list(queryWrapper);
+    }
 }

+ 39 - 0
src/main/java/com/kcim/dao/repository/ComputePatientProjectCostDetailRepository.java

@@ -0,0 +1,39 @@
+package com.kcim.dao.repository;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kcim.common.util.UserContext;
+import com.kcim.dao.mapper.ComputePatientProjectCostDetailMapper;
+import com.kcim.dao.model.ComputePatientProjectCostDetail;
+import com.kcim.vo.ComputeProjectCostPageDto;
+import com.kcim.vo.SessionUserVO;
+import org.springframework.stereotype.Repository;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @program: CostAccount
+ * @description:
+ * @author: Wang.YS
+ * @create: 2024-06-25 17:06
+ **/
+@Repository
+public class ComputePatientProjectCostDetailRepository extends ServiceImpl<ComputePatientProjectCostDetailMapper, ComputePatientProjectCostDetail> {
+    public void removeByComputeDate(String computeDate, SessionUserVO currentUser) {
+        UpdateWrapper<ComputePatientProjectCostDetail> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(ComputePatientProjectCostDetail::getDelFlag, 0)
+                .eq(ComputePatientProjectCostDetail::getHospId, currentUser.getHospId())
+                .eq(ComputePatientProjectCostDetail::getComputeDate, computeDate)
+                .set(ComputePatientProjectCostDetail::getDeleteTime,new Date())
+                .set(ComputePatientProjectCostDetail::getDeleteUser,String.valueOf(currentUser.getId()))
+                .set(ComputePatientProjectCostDetail::getDelFlag, 1);
+
+        this.update(updateWrapper);
+    }
+
+    public List<ComputeProjectCostPageDto> getByProjectCostId(String computeDate, List<Integer> collect1) {
+        return this.baseMapper.getByProjectCostId( computeDate, UserContext.getHospId(),collect1);
+
+    }
+}

+ 53 - 0
src/main/java/com/kcim/dao/repository/ComputePatientProjectCostRepository.java

@@ -0,0 +1,53 @@
+package com.kcim.dao.repository;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kcim.common.util.UserContext;
+import com.kcim.dao.mapper.ComputePatientProjectCostMapper;
+import com.kcim.dao.model.ComputePatientProjectCost;
+import com.kcim.vo.SessionUserVO;
+import org.springframework.stereotype.Repository;
+import org.springframework.util.StringUtils;
+
+import java.util.Date;
+
+/**
+ * @program: CostAccount
+ * @description:
+ * @author: Wang.YS
+ * @create: 2024-06-25 17:05
+ **/
+@Repository
+public class ComputePatientProjectCostRepository extends ServiceImpl<ComputePatientProjectCostMapper, ComputePatientProjectCost> {
+    public void removeByComputeDate(String computeDate, SessionUserVO currentUser) {
+        UpdateWrapper<ComputePatientProjectCost> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(ComputePatientProjectCost::getDelFlag, 0)
+                .eq(ComputePatientProjectCost::getHospId, currentUser.getHospId())
+                .eq(ComputePatientProjectCost::getComputeDate, computeDate)
+                .set(ComputePatientProjectCost::getDeleteTime,new Date())
+                .set(ComputePatientProjectCost::getDeleteUser,String.valueOf(currentUser.getId()))
+                .set(ComputePatientProjectCost::getDelFlag, 1);
+
+        this.update(updateWrapper);
+    }
+
+    public Page<ComputePatientProjectCost> getPage(Integer current, Integer pageSize, String computeDate, String departmentFilter, String patientFilter) {
+
+        Page<ComputePatientProjectCost> page = new Page<>(current, pageSize);
+        LambdaQueryWrapper<ComputePatientProjectCost> queryWrapper = new LambdaQueryWrapper<>();
+
+        queryWrapper.eq(ComputePatientProjectCost::getComputeDate,computeDate);
+        queryWrapper.eq(ComputePatientProjectCost::getHospId, UserContext.getHospId());
+
+        if(!StringUtils.isEmpty(departmentFilter)){
+            queryWrapper.and(q->q.like(ComputePatientProjectCost::getDepartmentCode,departmentFilter).or().like(ComputePatientProjectCost::getDepartmentName,departmentFilter));
+        }
+        if(!StringUtils.isEmpty(patientFilter)){
+            queryWrapper.and(q->q.like(ComputePatientProjectCost::getPatientNo,patientFilter).or().like(ComputePatientProjectCost::getPatientName,patientFilter));
+        }
+        return this.page(page, queryWrapper);
+
+    }
+}

+ 31 - 0
src/main/java/com/kcim/dao/repository/ComputePatientProjectGroupCostDetailRepository.java

@@ -0,0 +1,31 @@
+package com.kcim.dao.repository;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kcim.dao.mapper.ComputePatientProjectGroupCostDetailMapper;
+import com.kcim.dao.model.ComputePatientProjectGroupCostDetail;
+import com.kcim.vo.SessionUserVO;
+import org.springframework.stereotype.Repository;
+
+import java.util.Date;
+
+/**
+ * @program: CostAccount
+ * @description:
+ * @author: Wang.YS
+ * @create: 2024-06-26 17:00
+ **/
+@Repository
+public class ComputePatientProjectGroupCostDetailRepository extends ServiceImpl<ComputePatientProjectGroupCostDetailMapper, ComputePatientProjectGroupCostDetail> {
+    public void removeByComputeDate(String computeDate, SessionUserVO currentUser) {
+        UpdateWrapper<ComputePatientProjectGroupCostDetail> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(ComputePatientProjectGroupCostDetail::getDelFlag, 0)
+                .eq(ComputePatientProjectGroupCostDetail::getHospId, currentUser.getHospId())
+                .eq(ComputePatientProjectGroupCostDetail::getComputeDate, computeDate)
+                .set(ComputePatientProjectGroupCostDetail::getDeleteTime,new Date())
+                .set(ComputePatientProjectGroupCostDetail::getDeleteUser,String.valueOf(currentUser.getId()))
+                .set(ComputePatientProjectGroupCostDetail::getDelFlag, 1);
+
+        this.update(updateWrapper);
+    }
+}

+ 7 - 7
src/main/java/com/kcim/dao/repository/ComputeProjectCostDetailRepository.java

@@ -2,20 +2,15 @@ package com.kcim.dao.repository;
 
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.kcim.common.util.CommonUtil;
+import com.kcim.common.util.UserContext;
 import com.kcim.dao.mapper.ComputeProjectCostDetailMapper;
-import com.kcim.dao.model.ComputeDrugCostDetail;
-import com.kcim.dao.model.ComputeProjectCost;
 import com.kcim.dao.model.ComputeProjectCostDetail;
+import com.kcim.vo.ComputeProjectCostPageDto;
 import com.kcim.vo.SessionUserVO;
 import org.springframework.stereotype.Repository;
-import org.springframework.util.CollectionUtils;
 
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
 
 /**
  * @program: CostAccount
@@ -37,4 +32,9 @@ public class ComputeProjectCostDetailRepository extends ServiceImpl<ComputeProje
                 .set(ComputeProjectCostDetail::getDelFlag, 1);
         this.update(updateWrapper);
     }
+
+    public List<ComputeProjectCostPageDto> getByProjectCostId(String computeDate, List<Integer> collect1) {
+        return this.baseMapper.getByProjectCostId( computeDate, UserContext.getHospId(),collect1);
+
+    }
 }

+ 45 - 7
src/main/java/com/kcim/dao/repository/ComputeProjectCostRepository.java

@@ -6,21 +6,16 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.kcim.common.util.UserContext;
 import com.kcim.dao.mapper.ComputeProjectCostMapper;
-import com.kcim.dao.model.ComputeDrugCost;
-import com.kcim.dao.model.ComputeDrugCostDetail;
 import com.kcim.dao.model.ComputeProjectCost;
-import com.kcim.dao.model.ComputeProjectCostDetail;
-import com.kcim.dao.model.dto.ComputeDrugCostPageDto;
-import com.kcim.dao.model.dto.ComputeItemCostPageDto;
 import com.kcim.vo.ComputeProjectCostPageDto;
+import com.kcim.vo.ProjectCostVo;
 import com.kcim.vo.SessionUserVO;
 import org.springframework.stereotype.Repository;
 import org.springframework.util.CollectionUtils;
+import org.springframework.util.StringUtils;
 
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
-import java.util.stream.Collectors;
 
 /**
  * @program: CostAccount
@@ -80,4 +75,47 @@ public class ComputeProjectCostRepository extends ServiceImpl<ComputeProjectCost
         }
         return page;
     }
+
+    public Page<ComputeProjectCostPageDto> getColumnList(Integer current, Integer pageSize, String computeDate, String itemType, String responsibility, String itemFilter) {
+        Page<ComputeProjectCostPageDto> page = new Page<>(current,pageSize);
+        List<ComputeProjectCostPageDto> byPage = this.baseMapper.getColumnList(page, computeDate, itemType, responsibility,itemFilter, UserContext.getHospId());
+        if(!CollectionUtils.isEmpty(byPage)){
+            page.setRecords(byPage);
+        }
+        return page;
+    }
+
+    public Page<ComputeProjectCost> getPage(Integer current, Integer pageSize, String computeDate, String itemType, String responsibility, String itemFilter) {
+
+        Page<ComputeProjectCost> page = new Page<>(current, pageSize);
+        LambdaQueryWrapper<ComputeProjectCost> queryWrapper = new LambdaQueryWrapper<>();
+
+        queryWrapper.eq(ComputeProjectCost::getComputeDate,computeDate);
+        queryWrapper.eq(ComputeProjectCost::getHospId,UserContext.getHospId());
+        if(!StringUtils.isEmpty(itemType)){
+            queryWrapper.eq(ComputeProjectCost::getItemType,itemType);
+        }
+        if(!StringUtils.isEmpty(responsibility)){
+            queryWrapper.eq(ComputeProjectCost::getResponsibilityCode,responsibility);
+        }
+        if(!StringUtils.isEmpty(itemFilter)){
+            queryWrapper.and(q->q.like(ComputeProjectCost::getCode,itemFilter).or().like(ComputeProjectCost::getName,itemFilter));
+        }
+        return this.page(page, queryWrapper);
+
+
+    }
+
+    public long itemCount(String computeDate, SessionUserVO currentUser) {
+        LambdaQueryWrapper<ComputeProjectCost> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ComputeProjectCost::getComputeDate,computeDate);
+        queryWrapper.eq(ComputeProjectCost::getHospId,currentUser.getHospId());
+        return this.count(queryWrapper);
+    }
+
+    public List<ProjectCostVo> getProjectCost(String computeDate, SessionUserVO currentUser) {
+        return this.baseMapper.getProjectCost(computeDate,currentUser.getHospId());
+
+
+    }
 }

+ 6 - 4
src/main/java/com/kcim/dao/repository/ComputeShareParamDetailRepository.java

@@ -2,13 +2,15 @@ package com.kcim.dao.repository;
 
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kcim.common.constants.NumberConstant;
 import com.kcim.common.util.UserContext;
 import com.kcim.dao.mapper.ComputeShareParamDetailMapper;
 import com.kcim.dao.model.ComputeShareParamDetail;
 import com.kcim.vo.ComputeDateShareParamVo;
 import com.kcim.vo.SessionUserVO;
-import com.sun.org.apache.regexp.internal.RE;
 import org.springframework.stereotype.Repository;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 
 import java.util.Date;
 import java.util.List;
@@ -21,15 +23,15 @@ import java.util.List;
  **/
 @Repository
 public class ComputeShareParamDetailRepository extends ServiceImpl<ComputeShareParamDetailMapper, ComputeShareParamDetail> {
+    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
     public void removeByComputeDate(String computeDate, SessionUserVO currentUser) {
         UpdateWrapper<ComputeShareParamDetail> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.lambda().eq(ComputeShareParamDetail::getDelFlag, 0)
+        updateWrapper.lambda().eq(ComputeShareParamDetail::getDelFlag, NumberConstant.ZERO)
                 .eq(ComputeShareParamDetail::getHospId, currentUser.getHospId())
                 .eq(ComputeShareParamDetail::getComputeDate, computeDate)
                 .set(ComputeShareParamDetail::getDeleteTime,new Date())
                 .set(ComputeShareParamDetail::getDeleteUser,String.valueOf(currentUser.getId()))
-                .set(ComputeShareParamDetail::getDelFlag, 1);
-
+                .set(ComputeShareParamDetail::getDelFlag, NumberConstant.ONE);
         this.update(updateWrapper);
     }
 

+ 3 - 3
src/main/java/com/kcim/dao/repository/ComputeShareParamRepository.java

@@ -7,13 +7,12 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.kcim.common.util.UserContext;
 import com.kcim.dao.mapper.ComputeShareParamMapper;
 import com.kcim.dao.model.ComputeShareParam;
-import com.kcim.dao.model.dto.ComputeDrugCostPageDto;
-import com.kcim.vo.ComputeDateShareParamVo;
 import com.kcim.vo.ComputeShareParamDetailVo;
 import com.kcim.vo.ComputeShareParamSumVo;
 import com.kcim.vo.SessionUserVO;
 import org.springframework.stereotype.Repository;
-import org.springframework.util.CollectionUtils;
+import org.springframework.transaction.annotation.Propagation;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.StringUtils;
 
 import java.util.Date;
@@ -28,6 +27,7 @@ import java.util.stream.Collectors;
  **/
 @Repository
 public class ComputeShareParamRepository extends ServiceImpl<ComputeShareParamMapper, ComputeShareParam> {
+    @Transactional(rollbackFor = Exception.class,propagation = Propagation.REQUIRED)
     public void removeByComputeDate(String computeDate, SessionUserVO currentUser) {
         UpdateWrapper<ComputeShareParam> updateWrapper = new UpdateWrapper<>();
         updateWrapper.lambda().eq(ComputeShareParam::getDelFlag, 0)

+ 32 - 0
src/main/java/com/kcim/dao/repository/ComputeStandPatientProjectCostDetailRepository.java

@@ -0,0 +1,32 @@
+package com.kcim.dao.repository;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kcim.dao.mapper.ComputeStandPatientProjectCostDetailMapper;
+import com.kcim.dao.model.ComputeStandPatientProjectCost;
+import com.kcim.dao.model.ComputeStandPatientProjectCostDetail;
+import com.kcim.vo.SessionUserVO;
+import org.springframework.stereotype.Repository;
+
+import java.util.Date;
+
+/**
+ * @program: CostAccount
+ * @description:
+ * @author: Wang.YS
+ * @create: 2024-06-27 20:44
+ **/
+@Repository
+public class ComputeStandPatientProjectCostDetailRepository extends ServiceImpl<ComputeStandPatientProjectCostDetailMapper, ComputeStandPatientProjectCostDetail> {
+    public void removeByComputeDate(String computeDate, SessionUserVO currentUser) {
+        UpdateWrapper<ComputeStandPatientProjectCostDetail> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(ComputeStandPatientProjectCostDetail::getDelFlag, 0)
+                .eq(ComputeStandPatientProjectCostDetail::getHospId, currentUser.getHospId())
+                .eq(ComputeStandPatientProjectCostDetail::getComputeDate, computeDate)
+                .set(ComputeStandPatientProjectCostDetail::getDeleteTime,new Date())
+                .set(ComputeStandPatientProjectCostDetail::getDeleteUser,String.valueOf(currentUser.getId()))
+                .set(ComputeStandPatientProjectCostDetail::getDelFlag, 1);
+
+        this.update(updateWrapper);
+    }
+}

+ 58 - 0
src/main/java/com/kcim/dao/repository/ComputeStandPatientProjectCostRepository.java

@@ -0,0 +1,58 @@
+package com.kcim.dao.repository;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kcim.common.util.UserContext;
+import com.kcim.dao.mapper.ComputeStandPatientProjectCostMapper;
+import com.kcim.dao.model.ComputeStandPatientProjectCost;
+import com.kcim.vo.ComputeProjectCostPageDto;
+import com.kcim.vo.SessionUserVO;
+import org.springframework.stereotype.Repository;
+import org.springframework.util.StringUtils;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @program: CostAccount
+ * @description:
+ * @author: Wang.YS
+ * @create: 2024-06-27 20:43
+ **/
+@Repository
+public class ComputeStandPatientProjectCostRepository extends ServiceImpl<ComputeStandPatientProjectCostMapper, ComputeStandPatientProjectCost> {
+    public void removeByComputeDate(String computeDate, SessionUserVO currentUser) {
+        UpdateWrapper<ComputeStandPatientProjectCost> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(ComputeStandPatientProjectCost::getDelFlag, 0)
+                .eq(ComputeStandPatientProjectCost::getHospId, currentUser.getHospId())
+                .eq(ComputeStandPatientProjectCost::getComputeDate, computeDate)
+                .set(ComputeStandPatientProjectCost::getDeleteTime,new Date())
+                .set(ComputeStandPatientProjectCost::getDeleteUser,String.valueOf(currentUser.getId()))
+                .set(ComputeStandPatientProjectCost::getDelFlag, 1);
+
+        this.update(updateWrapper);
+    }
+
+    public Page<ComputeStandPatientProjectCost> getPage(Integer current, Integer pageSize, String computeDate, String departmentFilter, String patientFilter) {
+        Page<ComputeStandPatientProjectCost> page = new Page<>(current, pageSize);
+        LambdaQueryWrapper<ComputeStandPatientProjectCost> queryWrapper = new LambdaQueryWrapper<>();
+
+        queryWrapper.eq(ComputeStandPatientProjectCost::getComputeDate,computeDate);
+        queryWrapper.eq(ComputeStandPatientProjectCost::getHospId, UserContext.getHospId());
+
+        if(!StringUtils.isEmpty(departmentFilter)){
+            queryWrapper.and(q->q.like(ComputeStandPatientProjectCost::getDepartmentCode,departmentFilter).or().like(ComputeStandPatientProjectCost::getDepartmentName,departmentFilter));
+        }
+        if(!StringUtils.isEmpty(patientFilter)){
+            queryWrapper.and(q->q.like(ComputeStandPatientProjectCost::getPatientNo,patientFilter).or().like(ComputeStandPatientProjectCost::getPatientName,patientFilter));
+        }
+        return this.page(page, queryWrapper);
+    }
+
+    public List<ComputeProjectCostPageDto> getByProjectCostId(String computeDate, List<Integer> collect1) {
+        return this.baseMapper.getByProjectCostId( computeDate, UserContext.getHospId(),collect1);
+
+    }
+}

+ 31 - 0
src/main/java/com/kcim/dao/repository/ComputeStandPatientProjectGroupCostDetailRepository.java

@@ -0,0 +1,31 @@
+package com.kcim.dao.repository;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kcim.dao.mapper.ComputeStandPatientProjectGroupCostDetailMapper;
+import com.kcim.dao.model.ComputeStandPatientProjectGroupCostDetail;
+import com.kcim.vo.SessionUserVO;
+import org.springframework.stereotype.Repository;
+
+import java.util.Date;
+
+/**
+ * @program: CostAccount
+ * @description:
+ * @author: Wang.YS
+ * @create: 2024-06-27 20:45
+ **/
+@Repository
+public class ComputeStandPatientProjectGroupCostDetailRepository extends ServiceImpl<ComputeStandPatientProjectGroupCostDetailMapper, ComputeStandPatientProjectGroupCostDetail> {
+    public void removeByComputeDate(String computeDate, SessionUserVO currentUser) {
+        UpdateWrapper<ComputeStandPatientProjectGroupCostDetail> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(ComputeStandPatientProjectGroupCostDetail::getDelFlag, 0)
+                .eq(ComputeStandPatientProjectGroupCostDetail::getHospId, currentUser.getHospId())
+                .eq(ComputeStandPatientProjectGroupCostDetail::getComputeDate, computeDate)
+                .set(ComputeStandPatientProjectGroupCostDetail::getDeleteTime,new Date())
+                .set(ComputeStandPatientProjectGroupCostDetail::getDeleteUser,String.valueOf(currentUser.getId()))
+                .set(ComputeStandPatientProjectGroupCostDetail::getDelFlag, 1);
+
+        this.update(updateWrapper);
+    }
+}

+ 38 - 0
src/main/java/com/kcim/dao/repository/ComputeStandProjectCostDetailRepository.java

@@ -0,0 +1,38 @@
+package com.kcim.dao.repository;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kcim.common.util.UserContext;
+import com.kcim.dao.mapper.ComputeStandProjectCostDetailMapper;
+import com.kcim.dao.model.ComputeStandProjectCostDetail;
+import com.kcim.vo.ComputeProjectCostPageDto;
+import com.kcim.vo.SessionUserVO;
+import org.springframework.stereotype.Repository;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @program: CostAccount
+ * @description:
+ * @author: Wang.YS
+ * @create: 2024-06-25 11:03
+ **/
+@Repository
+public class ComputeStandProjectCostDetailRepository extends ServiceImpl<ComputeStandProjectCostDetailMapper, ComputeStandProjectCostDetail> {
+    public void removeByComputeDate(String computeDate, SessionUserVO currentUser) {
+        UpdateWrapper<ComputeStandProjectCostDetail> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(ComputeStandProjectCostDetail::getDelFlag, 0)
+                .eq(ComputeStandProjectCostDetail::getHospId, currentUser.getHospId())
+                .eq(ComputeStandProjectCostDetail::getComputeDate, computeDate)
+                .set(ComputeStandProjectCostDetail::getDeleteTime,new Date())
+                .set(ComputeStandProjectCostDetail::getDeleteUser,String.valueOf(currentUser.getId()))
+                .set(ComputeStandProjectCostDetail::getDelFlag, 1);
+        this.update(updateWrapper);
+    }
+
+    public List<ComputeProjectCostPageDto> getByProjectCostId(String computeDate, List<Integer> collect1) {
+        return this.baseMapper.getByProjectCostId( computeDate, UserContext.getHospId(),collect1);
+
+    }
+}

+ 67 - 0
src/main/java/com/kcim/dao/repository/ComputeStandProjectCostRepository.java

@@ -0,0 +1,67 @@
+package com.kcim.dao.repository;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kcim.common.util.UserContext;
+import com.kcim.dao.mapper.ComputeStandProjectCostMapper;
+import com.kcim.dao.model.ComputeStandProjectCost;
+import com.kcim.vo.ProjectCostVo;
+import com.kcim.vo.SessionUserVO;
+import org.springframework.stereotype.Repository;
+import org.springframework.util.StringUtils;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @program: CostAccount
+ * @description:
+ * @author: Wang.YS
+ * @create: 2024-06-25 11:02
+ **/
+@Repository
+public class ComputeStandProjectCostRepository extends ServiceImpl<ComputeStandProjectCostMapper, ComputeStandProjectCost> {
+    public long itemCount(String computeDate, SessionUserVO currentUser) {
+        LambdaQueryWrapper<ComputeStandProjectCost> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ComputeStandProjectCost::getComputeDate,computeDate);
+        queryWrapper.eq(ComputeStandProjectCost::getHospId,currentUser.getHospId());
+        return this.count(queryWrapper);
+    }
+
+    public void removeByComputeDate(String computeDate, SessionUserVO currentUser) {
+        UpdateWrapper<ComputeStandProjectCost> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(ComputeStandProjectCost::getDelFlag, 0)
+                .eq(ComputeStandProjectCost::getHospId, currentUser.getHospId())
+                .eq(ComputeStandProjectCost::getComputeDate, computeDate)
+                .set(ComputeStandProjectCost::getDeleteTime,new Date())
+                .set(ComputeStandProjectCost::getDeleteUser,String.valueOf(currentUser.getId()))
+                .set(ComputeStandProjectCost::getDelFlag, 1);
+        this.update(updateWrapper);
+    }
+
+    public Page<ComputeStandProjectCost> getPage(Integer current, Integer pageSize, String computeDate, String itemType, String responsibility, String itemFilter) {
+
+        Page<ComputeStandProjectCost> page = new Page<>(current, pageSize);
+        LambdaQueryWrapper<ComputeStandProjectCost> queryWrapper = new LambdaQueryWrapper<>();
+
+        queryWrapper.eq(ComputeStandProjectCost::getComputeDate,computeDate);
+        queryWrapper.eq(ComputeStandProjectCost::getHospId, UserContext.getHospId());
+        if(!StringUtils.isEmpty(itemType)){
+            queryWrapper.eq(ComputeStandProjectCost::getItemType,itemType);
+        }
+        if(!StringUtils.isEmpty(responsibility)){
+            queryWrapper.eq(ComputeStandProjectCost::getResponsibilityCode,responsibility);
+        }
+        if(!StringUtils.isEmpty(itemFilter)){
+            queryWrapper.and(q->q.like(ComputeStandProjectCost::getCode,itemFilter).or().like(ComputeStandProjectCost::getName,itemFilter));
+        }
+        return this.page(page, queryWrapper);
+
+    }
+
+    public List<ProjectCostVo> getProjectCost(String computeDate, SessionUserVO currentUser) {
+        return this.baseMapper.getProjectCost(computeDate,currentUser.getHospId());
+    }
+}

+ 30 - 0
src/main/java/com/kcim/dao/repository/ComputeStandProjectGroupCostDetailRepository.java

@@ -0,0 +1,30 @@
+package com.kcim.dao.repository;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kcim.dao.mapper.ComputeStandProjectGroupCostDetailMapper;
+import com.kcim.dao.model.ComputeStandProjectGroupCostDetail;
+import com.kcim.vo.SessionUserVO;
+import org.springframework.stereotype.Repository;
+
+import java.util.Date;
+
+/**
+ * @program: CostAccount
+ * @description:
+ * @author: Wang.YS
+ * @create: 2024-06-25 11:03
+ **/
+@Repository
+public class ComputeStandProjectGroupCostDetailRepository extends ServiceImpl<ComputeStandProjectGroupCostDetailMapper, ComputeStandProjectGroupCostDetail> {
+    public void removeByComputeDate(String computeDate, SessionUserVO currentUser) {
+        UpdateWrapper<ComputeStandProjectGroupCostDetail> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(ComputeStandProjectGroupCostDetail::getDelFlag, 0)
+                .eq(ComputeStandProjectGroupCostDetail::getHospId, currentUser.getHospId())
+                .eq(ComputeStandProjectGroupCostDetail::getComputeDate, computeDate)
+                .set(ComputeStandProjectGroupCostDetail::getDeleteTime,new Date())
+                .set(ComputeStandProjectGroupCostDetail::getDeleteUser,String.valueOf(currentUser.getId()))
+                .set(ComputeStandProjectGroupCostDetail::getDelFlag, 1);
+        this.update(updateWrapper);
+    }
+}

+ 39 - 0
src/main/java/com/kcim/dao/repository/ComputeStandShareParamDetailRepository.java

@@ -0,0 +1,39 @@
+package com.kcim.dao.repository;
+
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kcim.common.util.UserContext;
+import com.kcim.dao.mapper.ComputeStandShareParamDetailMapper;
+import com.kcim.dao.model.ComputeStandShareParamDetail;
+import com.kcim.vo.ComputeDateShareParamVo;
+import com.kcim.vo.SessionUserVO;
+import org.springframework.stereotype.Repository;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * @program: CostAccount
+ * @description:
+ * @author: Wang.YS
+ * @create: 2024-06-27 15:14
+ **/
+@Repository
+public class ComputeStandShareParamDetailRepository extends ServiceImpl<ComputeStandShareParamDetailMapper, ComputeStandShareParamDetail> {
+    public List<ComputeDateShareParamVo> getByShareParamId(String computeDate, List<Integer> collect1) {
+        return this.baseMapper.getByShareParamId( computeDate, UserContext.getHospId(),collect1);
+
+    }
+
+    public void removeByComputeDate(String computeDate, SessionUserVO currentUser) {
+        UpdateWrapper<ComputeStandShareParamDetail> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(ComputeStandShareParamDetail::getDelFlag, 0)
+                .eq(ComputeStandShareParamDetail::getHospId, currentUser.getHospId())
+                .eq(ComputeStandShareParamDetail::getComputeDate, computeDate)
+                .set(ComputeStandShareParamDetail::getDeleteTime,new Date())
+                .set(ComputeStandShareParamDetail::getDeleteUser,String.valueOf(currentUser.getId()))
+                .set(ComputeStandShareParamDetail::getDelFlag, 1);
+
+        this.update(updateWrapper);
+    }
+}

+ 75 - 0
src/main/java/com/kcim/dao/repository/ComputeStandShareParamRepository.java

@@ -0,0 +1,75 @@
+package com.kcim.dao.repository;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kcim.common.util.UserContext;
+import com.kcim.dao.mapper.ComputeStandShareParamMapper;
+import com.kcim.dao.model.ComputeStandShareParam;
+import com.kcim.vo.ComputeShareParamDetailVo;
+import com.kcim.vo.ComputeShareParamSumVo;
+import com.kcim.vo.SessionUserVO;
+import org.springframework.stereotype.Repository;
+import org.springframework.util.StringUtils;
+
+import java.util.Date;
+import java.util.List;
+import java.util.stream.Collectors;
+
+/**
+ * @program: CostAccount
+ * @description:
+ * @author: Wang.YS
+ * @create: 2024-06-27 15:14
+ **/
+@Repository
+public class ComputeStandShareParamRepository extends ServiceImpl<ComputeStandShareParamMapper, ComputeStandShareParam> {
+    public Page<ComputeStandShareParam> getPage(Integer current, Integer pageSize, String computeDate, String itemType, String responsibility, String itemFilter) {
+        Page<ComputeStandShareParam> page = new Page<>(current, pageSize);
+        LambdaQueryWrapper<ComputeStandShareParam> queryWrapper = new LambdaQueryWrapper<>();
+
+        queryWrapper.eq(ComputeStandShareParam::getComputeDate,computeDate);
+        queryWrapper.eq(ComputeStandShareParam::getHospId, UserContext.getHospId());
+        if(!StringUtils.isEmpty(itemType)){
+            queryWrapper.eq(ComputeStandShareParam::getItemType,itemType);
+        }
+        if(!StringUtils.isEmpty(responsibility)){
+            queryWrapper.eq(ComputeStandShareParam::getResponsibilityCode,responsibility);
+        }
+        if(!StringUtils.isEmpty(itemFilter)){
+            queryWrapper.and(q->q.like(ComputeStandShareParam::getCode,itemFilter).or().like(ComputeStandShareParam::getName,itemFilter));
+        }
+        return this.page(page, queryWrapper);
+    }
+
+    public long getComputeShareParamCount(String computeDate) {
+        LambdaQueryWrapper<ComputeStandShareParam> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ComputeStandShareParam::getHospId,UserContext.getHospId());
+        queryWrapper.eq(ComputeStandShareParam::getComputeDate,computeDate);
+        return this.count(queryWrapper);
+
+    }
+
+    public List<ComputeShareParamSumVo> getComputeShareParamSum(String computeDate) {
+        List<ComputeShareParamSumVo> computeShareParamSum = this.baseMapper.getComputeShareParamSum(computeDate, UserContext.getHospId());
+        return computeShareParamSum.stream().filter(f -> !StringUtils.isEmpty(f.getResponsibilityCode())).collect(Collectors.toList());
+    }
+
+    public List<ComputeShareParamDetailVo> getComputeShareParamDetail(String computeDate) {
+        List<ComputeShareParamDetailVo> computeShareParamDetail = this.baseMapper.getComputeShareParamDetail(computeDate, UserContext.getHospId());
+        return computeShareParamDetail.stream().filter(f -> !StringUtils.isEmpty(f.getResponsibilityCode())).collect(Collectors.toList());
+    }
+
+    public void removeByComputeDate(String computeDate, SessionUserVO currentUser) {
+        UpdateWrapper<ComputeStandShareParam> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(ComputeStandShareParam::getDelFlag, 0)
+                .eq(ComputeStandShareParam::getHospId, currentUser.getHospId())
+                .eq(ComputeStandShareParam::getComputeDate, computeDate)
+                .set(ComputeStandShareParam::getDeleteTime,new Date())
+                .set(ComputeStandShareParam::getDeleteUser,String.valueOf(currentUser.getId()))
+                .set(ComputeStandShareParam::getDelFlag, 1);
+
+        this.update(updateWrapper);
+    }
+}

+ 135 - 38
src/main/java/com/kcim/dao/repository/ImportPatientItemRepository.java

@@ -7,8 +7,8 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.kcim.common.constants.NumberConstant;
 import com.kcim.common.util.UserContext;
 import com.kcim.dao.mapper.ImportPatientItemMapper;
-import com.kcim.dao.model.ImportPatientInfo;
 import com.kcim.dao.model.ImportPatientItem;
+import com.kcim.dao.model.dto.PatientItemDepartmentGroupVo;
 import com.kcim.dao.model.dto.PatientItemVo;
 import com.kcim.vo.PatientInfoVo;
 import com.kcim.vo.SessionUserVO;
@@ -33,23 +33,23 @@ import java.util.stream.Collectors;
 @Repository
 public class ImportPatientItemRepository extends ServiceImpl<ImportPatientItemMapper, ImportPatientItem> {
     public Page<ImportPatientItem> getPage(Integer current, Integer pageSize, String computeDate, String itemType, String departmentName, String patientNo, String filter) {
-        Page<ImportPatientItem> page = new Page<>(current,pageSize);
+        Page<ImportPatientItem> page = new Page<>(current, pageSize);
         LambdaQueryWrapper<ImportPatientItem> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(ImportPatientItem::getHospId, UserContext.getHospId());
         queryWrapper.eq(ImportPatientItem::getComputeDate, computeDate);
-        if(!StringUtils.isEmpty(itemType)){
-            queryWrapper.like(ImportPatientItem::getItemTypeCode,itemType);
+        if (!StringUtils.isEmpty(itemType)) {
+            queryWrapper.like(ImportPatientItem::getItemTypeCode, itemType);
         }
-        if(!StringUtils.isEmpty(departmentName)){
-            queryWrapper.like(ImportPatientItem::getOrderDepartmentName,departmentName);
+        if (!StringUtils.isEmpty(departmentName)) {
+            queryWrapper.like(ImportPatientItem::getOrderDepartmentName, departmentName);
         }
-        if(!StringUtils.isEmpty(patientNo)){
-            queryWrapper.like(ImportPatientItem::getPatientNo,patientNo);
+        if (!StringUtils.isEmpty(patientNo)) {
+            queryWrapper.like(ImportPatientItem::getPatientNo, patientNo);
         }
-        if(!StringUtils.isEmpty(filter)){
-            queryWrapper.and(q->q.like(ImportPatientItem::getItemCode,filter).or().like(ImportPatientItem::getItemName,filter));
+        if (!StringUtils.isEmpty(filter)) {
+            queryWrapper.and(q -> q.like(ImportPatientItem::getItemCode, filter).or().like(ImportPatientItem::getItemName, filter));
         }
-        return this.page(page,queryWrapper);
+        return this.page(page, queryWrapper);
 
     }
 
@@ -60,29 +60,29 @@ public class ImportPatientItemRepository extends ServiceImpl<ImportPatientItemMa
         return this.list(queryWrapper);
     }
 
-    public List<PatientItemVo> getAllGroupByCompute(String computeDate){
-        return baseMapper.getAllGroupByCompute(computeDate,UserContext.getHospId());
+    public List<PatientItemVo> getAllGroupByCompute(String computeDate) {
+        return baseMapper.getAllGroupByCompute(computeDate, UserContext.getHospId());
     }
 
     public List<ImportPatientItem> getByComputeDate(String computeDate, String itemType, String departmentName) {
         LambdaQueryWrapper<ImportPatientItem> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(ImportPatientItem::getHospId, UserContext.getHospId());
         queryWrapper.eq(ImportPatientItem::getComputeDate, computeDate);
-        if(!StringUtils.isEmpty(itemType)){
-            queryWrapper.like(ImportPatientItem::getItemTypeCode,itemType);
+        if (!StringUtils.isEmpty(itemType)) {
+            queryWrapper.like(ImportPatientItem::getItemTypeCode, itemType);
         }
-        if(!StringUtils.isEmpty(departmentName)){
-            queryWrapper.like(ImportPatientItem::getOrderDepartmentName,departmentName);
+        if (!StringUtils.isEmpty(departmentName)) {
+            queryWrapper.like(ImportPatientItem::getOrderDepartmentName, departmentName);
         }
         return this.list(queryWrapper);
     }
 
-    public List<PatientItemVo> getAllGroupByOrder(String computeDate){
-        return baseMapper.getAllGroupByOrder(computeDate,UserContext.getHospId());
+    public List<PatientItemVo> getAllGroupByOrder(String computeDate) {
+        return baseMapper.getAllGroupByOrder(computeDate, UserContext.getHospId());
     }
 
 
-    public long getCount(String computeDate, SessionUserVO currentUser){
+    public long getCount(String computeDate, SessionUserVO currentUser) {
         LambdaQueryWrapper<ImportPatientItem> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(ImportPatientItem::getHospId, currentUser.getHospId());
         queryWrapper.eq(ImportPatientItem::getComputeDate, computeDate);
@@ -91,17 +91,18 @@ public class ImportPatientItemRepository extends ServiceImpl<ImportPatientItemMa
 
     public void updateCalculateFlag(String computeDate, SessionUserVO currentUser) {
         UpdateWrapper<ImportPatientItem> updateWrapper = new UpdateWrapper<>();
-        updateWrapper.lambda().eq(ImportPatientItem::getHospId,currentUser.getHospId())
-                .eq(ImportPatientItem::getComputeDate,computeDate)
-                .set(ImportPatientItem::getCalculateFlag,0);
+        updateWrapper.lambda().eq(ImportPatientItem::getHospId, currentUser.getHospId())
+                .eq(ImportPatientItem::getComputeDate, computeDate)
+                .eq(ImportPatientItem::getDelFlag, NumberConstant.ZERO)
+                .set(ImportPatientItem::getCalculateFlag, 0);
 
 //        updateWrapper.eq("hosp_id", currentUser.getHospId());
 //        updateWrapper.eq("compute_date", computeDate);
-         this.update(updateWrapper);
+        this.update(updateWrapper);
 
     }
 
-    @Transactional(isolation = Isolation.READ_COMMITTED,propagation = Propagation.REQUIRED)
+    @Transactional(isolation = Isolation.READ_COMMITTED, propagation = Propagation.REQUIRED)
     public List<ImportPatientItem> getByNoCalculateComputeDate(String computeDate, SessionUserVO currentUser) {
         LambdaQueryWrapper<ImportPatientItem> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(ImportPatientItem::getHospId, currentUser.getHospId());
@@ -110,7 +111,8 @@ public class ImportPatientItemRepository extends ServiceImpl<ImportPatientItemMa
         queryWrapper.last("limit 1000");
         return this.list(queryWrapper);
     }
-    @Transactional(isolation = Isolation.READ_COMMITTED,propagation = Propagation.REQUIRED)
+
+    @Transactional(isolation = Isolation.READ_COMMITTED, propagation = Propagation.REQUIRED)
     public List<ImportPatientItem> getByNoCalculateComputeDateDrugMaterial(String computeDate, SessionUserVO currentUser) {
         List<Integer> list = new ArrayList<>();
         list.add(1);
@@ -119,58 +121,61 @@ public class ImportPatientItemRepository extends ServiceImpl<ImportPatientItemMa
         queryWrapper.eq(ImportPatientItem::getHospId, currentUser.getHospId());
         queryWrapper.eq(ImportPatientItem::getComputeDate, computeDate);
         queryWrapper.eq(ImportPatientItem::getCalculateFlag, NumberConstant.ZERO);
-        queryWrapper.in(ImportPatientItem::getItemTypeCode,list);
+        queryWrapper.in(ImportPatientItem::getItemTypeCode, list);
         queryWrapper.last("limit 1000");
         return this.list(queryWrapper);
     }
+
+    @Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
     public void updateCalculateFlag(List<ImportPatientItem> items) {
-        items.forEach(f->f.setCalculateFlag(NumberConstant.ONE));
-        this.updateBatchById(items,500);
+        items.forEach(f -> f.setCalculateFlag(NumberConstant.ONE));
+        this.updateBatchById(items, 500);
 
 
     }
 
-    public long getDrugCount(String computeDate, SessionUserVO currentUser){
+    public long getDrugCount(String computeDate, SessionUserVO currentUser) {
         List<Integer> list = new ArrayList<>();
         list.add(1);
         list.add(2);
         LambdaQueryWrapper<ImportPatientItem> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(ImportPatientItem::getHospId, currentUser.getHospId());
         queryWrapper.eq(ImportPatientItem::getComputeDate, computeDate);
-        queryWrapper.in(ImportPatientItem::getItemTypeCode,list);
+        queryWrapper.in(ImportPatientItem::getItemTypeCode, list);
         return this.count(queryWrapper);
     }
 
-    public long getItemCount(String computeDate, SessionUserVO currentUser){
+    public long getItemCount(String computeDate, SessionUserVO currentUser) {
         LambdaQueryWrapper<ImportPatientItem> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(ImportPatientItem::getHospId, currentUser.getHospId());
         queryWrapper.eq(ImportPatientItem::getComputeDate, computeDate);
+        queryWrapper.eq(ImportPatientItem::getItemTypeCode, NumberConstant.THREE);
         return this.count(queryWrapper);
     }
 
-    @Transactional(isolation = Isolation.READ_COMMITTED,propagation = Propagation.REQUIRED)
+    @Transactional(isolation = Isolation.READ_COMMITTED, propagation = Propagation.REQUIRED)
     public List<ImportPatientItem> getByNoCalculateComputeDateItem(String computeDate, SessionUserVO currentUser) {
 
         LambdaQueryWrapper<ImportPatientItem> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(ImportPatientItem::getHospId, currentUser.getHospId());
         queryWrapper.eq(ImportPatientItem::getComputeDate, computeDate);
         queryWrapper.eq(ImportPatientItem::getCalculateFlag, NumberConstant.ZERO);
-        queryWrapper.eq(ImportPatientItem::getItemTypeCode,NumberConstant.THREE);
+        queryWrapper.eq(ImportPatientItem::getItemTypeCode, NumberConstant.THREE);
         queryWrapper.last("limit 1000");
         return this.list(queryWrapper);
     }
 
     public List<PatientInfoVo> getPatientItemPatientInfo(String computeDate, String filter) {
-        return this.baseMapper.getPatientItemPatientInfo(computeDate,filter,UserContext.getHospId());
+        return this.baseMapper.getPatientItemPatientInfo(computeDate, filter, UserContext.getHospId());
     }
 
     public void removePatientItemByFileId(String computeDate, Long fileId) {
         LambdaQueryWrapper<ImportPatientItem> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(ImportPatientItem::getHospId, UserContext.getHospId());
         queryWrapper.eq(ImportPatientItem::getComputeDate, computeDate);
-        queryWrapper.eq(ImportPatientItem::getFileId,fileId);
+        queryWrapper.eq(ImportPatientItem::getFileId, fileId);
         List<ImportPatientItem> list = this.list(queryWrapper);
-        if(!CollectionUtils.isEmpty(list)){
+        if (!CollectionUtils.isEmpty(list)) {
             for (ImportPatientItem patientInfo : list) {
                 patientInfo.setDeleteTime(new Date());
                 patientInfo.setDeleteUser(String.valueOf(UserContext.getCurrentUser().getId()));
@@ -182,7 +187,99 @@ public class ImportPatientItemRepository extends ServiceImpl<ImportPatientItemMa
     }
 
     public void reducingPatientItemByFileId(String computeDate, Long fileId) {
-        this.baseMapper.reducingPatientItemByFileId(computeDate,UserContext.getHospId(),fileId,new Date(),String.valueOf(UserContext.getCurrentUser().getId()));
+        this.baseMapper.reducingPatientItemByFileId(computeDate, UserContext.getHospId(), fileId, new Date(), String.valueOf(UserContext.getCurrentUser().getId()));
+
+    }
+
+    @Transactional(isolation = Isolation.READ_COMMITTED, propagation = Propagation.REQUIRED)
+    public List<PatientItemDepartmentGroupVo> getByDepartGroupComputeDateItem(String computeDate, SessionUserVO currentUser) {
+        return baseMapper.getByDepartGroupComputeDateItem(computeDate, currentUser.getHospId());
+
+    }
+
+    @Transactional(isolation = Isolation.READ_COMMITTED, propagation = Propagation.REQUIRED)
+    public List<PatientItemDepartmentGroupVo> getByDepartGroupComputeDateItem(Integer current, Integer pageSize, String computeDate, SessionUserVO currentUser) {
+        return baseMapper.getByDepartGroupComputeDateItem(new Page<PatientItemDepartmentGroupVo>(current, pageSize), computeDate, currentUser.getHospId());
+
+    }
+
+    public void updateCalculateFlag(List<PatientItemDepartmentGroupVo> items, String computeDate, SessionUserVO currentUser) {
+        List<Long> collect = items.stream().map(PatientItemDepartmentGroupVo::getId).collect(Collectors.toList());
+        UpdateWrapper<ImportPatientItem> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(ImportPatientItem::getDelFlag, NumberConstant.ZERO)
+                .eq(ImportPatientItem::getHospId, currentUser.getHospId())
+                .eq(ImportPatientItem::getComputeDate, computeDate)
+                .in(ImportPatientItem::getId, collect)
+                .set(ImportPatientItem::getCalculateFlag, NumberConstant.ONE);
+
+
+        this.update(updateWrapper);
+
+
+    }
+
+    public void updateGroupCalculateFlag(String computeDate, SessionUserVO currentUser) {
+        UpdateWrapper<ImportPatientItem> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(ImportPatientItem::getHospId, currentUser.getHospId())
+                .eq(ImportPatientItem::getComputeDate, computeDate)
+                .eq(ImportPatientItem::getDelFlag, NumberConstant.ZERO)
+                .eq(ImportPatientItem::getItemTypeCode, NumberConstant.THREE)
+                .set(ImportPatientItem::getCalculateFlag, 0);
+
+//        updateWrapper.eq("hosp_id", currentUser.getHospId());
+//        updateWrapper.eq("compute_date", computeDate);
+        this.update(updateWrapper);
 
     }
+
+    public long getItemGroupCount(String computeDate, SessionUserVO currentUser) {
+        return baseMapper.getItemGroupCount(computeDate, currentUser.getHospId());
+
+    }
+
+    public List<PatientItemDepartmentGroupVo> getPatientItemGroupList(Integer current, Integer pageSize, String computeDate, SessionUserVO currentUser) {
+
+        return baseMapper.getPatientItemGroupList(new Page<PatientItemDepartmentGroupVo>(current, pageSize), computeDate, currentUser.getHospId());
+
+    }
+
+    public long getPatientItemGroupCount(String computeDate, SessionUserVO currentUser) {
+        return baseMapper.getPatientItemGroupCount(computeDate, currentUser.getHospId());
+
+    }
+
+    public void updateFilterCalculateFlag(List<PatientItemDepartmentGroupVo> items, String computeDate, SessionUserVO currentUser) {
+        List<String> visitList = items.stream().map(PatientItemDepartmentGroupVo::getVisitNo).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
+        List<String> itemList = items.stream().map(PatientItemDepartmentGroupVo::getItemCode).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
+        List<String> departList = items.stream().map(PatientItemDepartmentGroupVo::getExecuteDepartmentCode).collect(Collectors.toList()).stream().distinct().collect(Collectors.toList());
+
+        UpdateWrapper<ImportPatientItem> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(ImportPatientItem::getDelFlag, NumberConstant.ZERO)
+                .eq(ImportPatientItem::getHospId, currentUser.getHospId())
+                .eq(ImportPatientItem::getItemTypeCode, NumberConstant.THREE)
+                .eq(ImportPatientItem::getComputeDate, computeDate)
+                .eq(ImportPatientItem::getCalculateFlag, NumberConstant.ZERO)
+                .and(q -> q
+                        .in(ImportPatientItem::getVisitNo, visitList)
+                        .in(ImportPatientItem::getItemCode, itemList)
+                        .in(ImportPatientItem::getExecuteDepartmentCode, departList))
+                .set(ImportPatientItem::getCalculateFlag, NumberConstant.ONE);
+
+
+        this.update(updateWrapper);
+    }
+
+    public List<PatientItemDepartmentGroupVo> getDepartAmountGroup(String computeDate, SessionUserVO currentUser) {
+
+        return this.baseMapper.getDepartAmountGroup(computeDate, currentUser.getHospId());
+    }
+
+    public void removeByComputeDate(String computeDate) {
+        UpdateWrapper<ImportPatientItem> updateWrapper = new UpdateWrapper<>();
+        updateWrapper.lambda().eq(ImportPatientItem::getHospId, UserContext.getHospId())
+                .eq(ImportPatientItem::getComputeDate, computeDate)
+                .eq(ImportPatientItem::getDelFlag, NumberConstant.ZERO)
+                .set(ImportPatientItem::getDelFlag, 1);
+        this.update(updateWrapper);
+    }
 }

+ 9 - 0
src/main/java/com/kcim/dao/repository/ItemEmpMapRepository.java

@@ -56,4 +56,13 @@ public class ItemEmpMapRepository extends ServiceImpl<ItemEmpMapMapper, ItemEmpM
             this.removeById(id);
         }
     }
+
+    public List<ItemEmpMap> getList(String itemCode, String departmentCode) {
+        LambdaQueryWrapper<ItemEmpMap> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ItemEmpMap::getHospId, UserContext.getHospId());
+        queryWrapper.eq(ItemEmpMap::getItemCode, itemCode);
+        queryWrapper.eq(ItemEmpMap::getDepartmentCode, departmentCode);
+
+        return this.list(queryWrapper);
+    }
 }

+ 8 - 0
src/main/java/com/kcim/dao/repository/ItemEquipmentMapRepository.java

@@ -58,4 +58,12 @@ public class ItemEquipmentMapRepository extends ServiceImpl<ItemEquipmentMapMapp
             this.removeById(id);
         }
     }
+
+    public List<ItemEquipmentMap> getList(String itemCode, String departmentCode) {
+        LambdaQueryWrapper<ItemEquipmentMap> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ItemEquipmentMap::getHospId, UserContext.getHospId());
+        queryWrapper.eq(ItemEquipmentMap::getItemCode, itemCode);
+        queryWrapper.eq(ItemEquipmentMap::getDepartmentCode, departmentCode);
+        return this.list(queryWrapper);
+    }
 }

+ 8 - 0
src/main/java/com/kcim/dao/repository/ItemNoValuationDrugMaterialMapRepository.java

@@ -52,4 +52,12 @@ public class ItemNoValuationDrugMaterialMapRepository extends ServiceImpl<ItemNo
         queryWrapper.eq(ItemNoValuationDrugMaterialMap::getItemCode, itemCode);
         return this.list(queryWrapper);
     }
+
+    public List<ItemNoValuationDrugMaterialMap> getList(String itemCode, String departmentCode) {
+        LambdaQueryWrapper<ItemNoValuationDrugMaterialMap> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ItemNoValuationDrugMaterialMap::getHospId, UserContext.getHospId());
+        queryWrapper.eq(ItemNoValuationDrugMaterialMap::getItemCode, itemCode);
+        queryWrapper.eq(ItemNoValuationDrugMaterialMap::getDepartmentCode, departmentCode);
+        return this.list(queryWrapper);
+    }
 }

+ 23 - 1
src/main/java/com/kcim/dao/repository/ItemRepository.java

@@ -46,13 +46,32 @@ public class ItemRepository extends ServiceImpl<ItemMapper, Item> {
         return this.getOne(queryWrapper);
     }
 
+    /**
+     * 按项目代码和科室代码查询唯一一条
+     * @param code 项目代码
+     * @param departmentCode 科室代码
+     * @return 医疗服务项目
+     */
+    public Item getOneByCode(String code, String departmentCode) {
+        LambdaQueryWrapper<Item> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(Item::getHospId, UserContext.getHospId());
+        queryWrapper.eq(Item::getCode,code);
+        queryWrapper.eq(Item::getDepartmentCode,departmentCode);
+        return this.getOne(queryWrapper);
+    }
     public List<Item> getByCode(String code) {
         LambdaQueryWrapper<Item> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(Item::getHospId, UserContext.getHospId());
         queryWrapper.eq(Item::getCode,code);
         return this.list(queryWrapper);
     }
-
+    public List<Item> getByCode(String code, String departmentCode) {
+        LambdaQueryWrapper<Item> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(Item::getHospId, UserContext.getHospId());
+        queryWrapper.eq(Item::getCode,code);
+        queryWrapper.eq(Item::getDepartmentCode,departmentCode);
+        return this.list(queryWrapper);
+    }
     public void deleteItem(Integer id) {
         Item item = this.getById(id);
         if(Objects.nonNull(item)){
@@ -100,4 +119,7 @@ public class ItemRepository extends ServiceImpl<ItemMapper, Item> {
         LambdaQueryWrapper<Item> queryWrapper = new LambdaQueryWrapper<>();
         return this.list(queryWrapper);
     }
+
+
+
 }

+ 8 - 0
src/main/java/com/kcim/dao/repository/ItemSpaceMapRepository.java

@@ -58,4 +58,12 @@ public class ItemSpaceMapRepository extends ServiceImpl<ItemSpaceMapMapper, Item
             this.removeById(id);
         }
     }
+
+    public List<ItemSpaceMap> getList(String itemCode, String departmentCode) {
+        LambdaQueryWrapper<ItemSpaceMap> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ItemSpaceMap::getHospId, UserContext.getHospId());
+        queryWrapper.eq(ItemSpaceMap::getItemCode, itemCode);
+        queryWrapper.eq(ItemSpaceMap::getDepartmentCode, departmentCode);
+        return this.list(queryWrapper);
+    }
 }

+ 9 - 0
src/main/java/com/kcim/dao/repository/ItemValuationDrugMaterialMapRepository.java

@@ -53,4 +53,13 @@ public class ItemValuationDrugMaterialMapRepository extends ServiceImpl<ItemValu
         queryWrapper.eq(ItemValuationDrugMaterialMap::getItemCode, itemCode);
         return this.list(queryWrapper);
     }
+
+    public List<ItemValuationDrugMaterialMap> getList(String itemCode, String departmentCode) {
+        LambdaQueryWrapper<ItemValuationDrugMaterialMap> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(ItemValuationDrugMaterialMap::getHospId, UserContext.getHospId());
+        queryWrapper.eq(ItemValuationDrugMaterialMap::getItemCode, itemCode);
+        queryWrapper.eq(ItemValuationDrugMaterialMap::getDepartmentCode, departmentCode);
+
+        return this.list(queryWrapper);
+    }
 }

+ 44 - 0
src/main/java/com/kcim/dao/repository/KpiComputeImportRepository.java

@@ -0,0 +1,44 @@
+package com.kcim.dao.repository;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kcim.common.util.UserContext;
+import com.kcim.dao.mapper.KpiComputeImportMapper;
+import com.kcim.dao.model.KpiComputeImport;
+import org.springframework.stereotype.Repository;
+import org.springframework.util.StringUtils;
+
+import java.util.List;
+
+/**
+ * @program: performance
+ * @description: 公用导入记录数据库交互
+ * @author: Wang.YS
+ * @create: 2023-07-20 10:13
+ **/
+@Repository
+public class KpiComputeImportRepository extends ServiceImpl<KpiComputeImportMapper, KpiComputeImport> {
+
+    public List<KpiComputeImport> getList(String computeDate) {
+        LambdaQueryWrapper<KpiComputeImport> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(KpiComputeImport::getComputeDate,computeDate);
+        queryWrapper.eq(KpiComputeImport::getHospId, UserContext.getCurrentLoginHospId());
+        return this.list(queryWrapper);
+    }
+
+    public Page<KpiComputeImport> getPage(Integer current, Integer pageSize, String computeDate, String tableName) {
+        Page<KpiComputeImport> computeImportPage = new Page<>(current,pageSize);
+        LambdaQueryWrapper<KpiComputeImport> queryWrapper = new LambdaQueryWrapper<>();
+        if(!StringUtils.isEmpty(computeDate)){
+            queryWrapper.eq(KpiComputeImport::getComputeDate,computeDate);
+        }
+        if(!StringUtils.isEmpty(tableName)){
+            queryWrapper.eq(KpiComputeImport::getTableName,tableName);
+        }
+        queryWrapper.eq(KpiComputeImport::getHospId, UserContext.getCurrentLoginHospId());
+        return this.page(computeImportPage, queryWrapper);
+
+
+    }
+}

+ 27 - 0
src/main/java/com/kcim/dao/repository/ResponsibilityRepository.java

@@ -0,0 +1,27 @@
+package com.kcim.dao.repository;
+
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.kcim.dao.mapper.ResponsibilityMapper;
+import com.kcim.dao.model.Responsibility;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+/**
+ * @program: CostAccount
+ * @description:
+ * @author: Wang.YS
+ * @create: 2024-05-14 16:03
+ **/
+
+
+@Repository
+public class ResponsibilityRepository extends ServiceImpl<ResponsibilityMapper, Responsibility> {
+
+    public List<Responsibility> getList(Long hospId){
+        LambdaQueryWrapper<Responsibility> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(Responsibility::getHospId,hospId);
+        return this.list(queryWrapper);
+    }
+}

+ 1 - 1
src/main/java/com/kcim/endPoint/CenterEndPoint.java

@@ -34,7 +34,7 @@ public interface CenterEndPoint {
     @GetMapping("/api/getAllDictBySystemId")
     Object getAllDictBySystemId(@RequestParam(required = false,name="systemId") Long systemId);
 
-    @GetMapping("/api/getDepartment")
+    @GetMapping("/sysdepartment/getDepartment")
     Object getDepartment();
 
     @GetMapping("/api/getDepartmentFilter")

+ 4 - 1
src/main/java/com/kcim/service/AccountingService.java

@@ -23,9 +23,10 @@ public interface AccountingService extends IService<Accounting> {
      *
      * @param accountType  会计科目类型1.收入,2.支出
      * @param shareParamId
+     * @param filter
      * @return
      */
-    List<AccountVO> getListByAccountType(Integer accountType, Integer shareParamId, Integer incomeGroutSetId);
+    List<AccountVO> getListByAccountType(Integer accountType, Integer shareParamId, Integer incomeGroutSetId, String filter);
 
     /**
      * 保存会计科目
@@ -62,5 +63,7 @@ public interface AccountingService extends IService<Accounting> {
      * @return {@link Accounting} 可能为空 需要调用者自行判断
      */
     Accounting getByCode(String accountCode,Long hospId);
+
+    Object getAccountTypeDict(Integer type);
 }
 

+ 2 - 0
src/main/java/com/kcim/service/CostAccountShareService.java

@@ -95,5 +95,7 @@ public interface CostAccountShareService extends IService<CostAccountShare> {
      * @param asList id集合
      */
     void deleteByIds(List<Long> asList);
+    List<CostAccountShare> getAll();
+
 }
 

+ 6 - 1
src/main/java/com/kcim/service/CostDataService.java

@@ -1,5 +1,7 @@
 package com.kcim.service;
 
+import java.util.Map;
+
 /**
  * @program: CostAccount
  * @description:
@@ -14,4 +16,7 @@ public interface CostDataService {
     Object check(String computeDate);
 
     void getData(String computeDate, String type);
-}
+
+     void autoExecuteSql(String sqlType, Map<String,String> parameter) ;
+
+    }

+ 1 - 0
src/main/java/com/kcim/service/FreeCostService.java

@@ -22,4 +22,5 @@ public interface FreeCostService {
     Object getShareParamList(String filter);
 
     void computeFreeCost(String computeDate);
+    Object getResponsibilityList(String filter);
 }

+ 4 - 0
src/main/java/com/kcim/service/ItemCostShareService.java

@@ -25,4 +25,8 @@ public interface ItemCostShareService {
     void updateDetail(List<ShareParamCostDetail> request);
 
     void deleteDetail(Integer id);
+
+    Object itemReportType();
+
+    Object getMedServiceItemType();
 }

+ 8 - 8
src/main/java/com/kcim/service/ItemService.java

@@ -33,7 +33,7 @@ public interface ItemService {
 
     List<OrderItemMap> getItemDict(String name);
     
-    Object getItemEmpMap(String itemCode);
+    Object getItemEmpMap(String itemCode, String departmentCode);
 
     void addItemEmpMap(ItemEmpMap request);
 
@@ -41,7 +41,7 @@ public interface ItemService {
 
     void deleteItemEmpMap(Integer id);
 
-    Object getItemEquipmentMap(String itemCode);
+    Object getItemEquipmentMap(String itemCode, String departmentCode);
 
     void addItemEquipmentMap(ItemEquipmentMap request);
 
@@ -49,7 +49,7 @@ public interface ItemService {
 
     void deleteItemEquipmentMap(Integer id);
 
-    Object getItemSpaceMap(String itemCode);
+    Object getItemSpaceMap(String itemCode, String departmentCode);
 
     void addItemSpaceMap(ItemSpaceMap request);
 
@@ -57,7 +57,7 @@ public interface ItemService {
 
     void deleteItemSpaceMap(Integer id);
 
-    Object getItemNoValuationDrugMaterialMap(String itemCode);
+    Object getItemNoValuationDrugMaterialMap(String itemCode, String departmentCode);
 
     void addItemNoValuationDrugMaterialMap(ItemMapRequest request);
 
@@ -65,7 +65,7 @@ public interface ItemService {
 
     void deleteItemNoValuationDrugMaterialMap(Integer id);
 
-    Object getItemValuationDrugMaterialMap(String itemCode);
+    Object getItemValuationDrugMaterialMap(String itemCode, String departmentCode);
 
     void addItemValuationDrugMaterialMap(ItemMapRequest request);
 
@@ -79,14 +79,14 @@ public interface ItemService {
 
     Object getItemDict(Integer type, String itemCode, String name);
 
-    Object getReferralMatch(String itemCode);
+    Object getReferralMatch(String itemCode, String departmentCode);
 
 
     Object getMatchCount();
 
-    Object getSingleItem(String itemCode);
+    Object getSingleItem(String itemCode, String departmentCode);
 
     Object getSingleItemList();
 
-    void matchItem(String itemCode, String standItemCode, Integer type);
+    void matchItem(String itemCode, String standItemCode, Integer type, String departmentCode);
 }

+ 44 - 0
src/main/java/com/kcim/service/KpiComputeImportService.java

@@ -0,0 +1,44 @@
+package com.kcim.service;
+
+import org.springframework.web.multipart.MultipartFile;
+
+/**
+ * @program: CostAccount
+ * @description:
+ * @author: Wang.YS
+ * @create: 2024-06-03 13:57
+ **/
+public interface KpiComputeImportService {
+    /**
+     * 查询导入列表
+     *
+     * @param current 当前页
+     * @param pageSize 页容量
+     * @param computeDate 核算年月
+     * @param tableName 表名
+     * @return 导入列表
+     */
+    Object getList(Integer current, Integer pageSize, String computeDate, String tableName);
+
+    Object getTableList();
+
+    /**
+     * 导入数据
+     * @param computeDate 核算年月
+     * @param tableName 表名
+     * @param file 导入文件
+     */
+    void importData(String computeDate, String tableName, MultipartFile file) ;
+
+    /**
+     * 作废导入数据
+     * @param id 记录id
+     */
+    void removeImport(Integer id);
+
+    /**
+     * 复原导入数居
+     * @param id 记录id
+     */
+    void recoverImport(Integer id);
+}

+ 12 - 0
src/main/java/com/kcim/service/ProjectCostService.java

@@ -10,4 +10,16 @@ public interface ProjectCostService {
     Object getItemCostList(Integer current, Integer pageSize, String computeDate, String itemType, String responsibility, String itemFilter);
 
     void computeItemCost(String computeDate);
+
+    void computePatientItemCost(String computeDate);
+
+    Object getPatientItemCostList(Integer current, Integer pageSize, String computeDate, String departmentFilter, String patientFilter);
+
+    Object getStandItemCostList(Integer current, Integer pageSize, String computeDate, String itemType, String responsibility, String itemFilter);
+
+    void computeStandItemCost(String computeDate);
+
+    Object getPatientStandItemCostList(Integer current, Integer pageSize, String computeDate, String departmentFilter, String patientFilter);
+
+    void computeStandPatientItemCost(String computeDate);
 }

+ 1 - 0
src/main/java/com/kcim/service/ReportFormService.java

@@ -75,5 +75,6 @@ public interface ReportFormService extends IService<ReportForm> {
      */
     public void checkExistLoss(Long hospId);
 
+    Object getResponsibilities(String reportType, Long reportId);
 }
 

+ 4 - 0
src/main/java/com/kcim/service/ResponsibilityService.java

@@ -107,5 +107,9 @@ public interface ResponsibilityService extends IService<Responsibility> {
     List<Responsibility> getLeafResp(Long hospId);
 
     List<CostResponsibilityVO> getList(String filter);
+
+    Object getStandardShareLevel();
+
+    Object getResponsibilityType();
 }
 

Niektoré súbory nie sú zobrazené, pretože je v týchto rozdielových dátach zmenené mnoho súborov