ljx 4 gadi atpakaļ
vecāks
revīzija
4d5f553b28

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

@@ -28,7 +28,7 @@ public interface CostIncomeFileService extends IService<CostIncomeFile> {
      * @param uploadFile 文件路径
      * @return
      */
-    CostIncomeFile saveCostIncomeFile(List<List<Object>> list, User user, MultipartFile file, Long hospId, List<IncomeErrorMessage> incomeErrorMessageList, String uploadFile);
+    CostIncomeFile saveCostIncomeFile(List<List<Object>> list, User user, MultipartFile file, Long hospId, List<IncomeErrorMessage> incomeErrorMessageList, String uploadFile,Integer fileType);
 
     /**
      * 分页查询查询记录数据

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

@@ -36,7 +36,7 @@ public interface CostIncomeGroupService extends IService<CostIncomeGroup> {
      * @param file
      * @return
      */
-    Result importIncomeGroup(List<List<Object>> read, User user, MultipartFile file, Integer year, Integer month);
+    Result importIncomeGroup(List<List<Object>> read, User user, MultipartFile file, String dateTime,Integer fileType);
 
     /**
      * 导入收入数据

+ 11 - 2
src/main/java/com/imed/costaccount/service/impl/CostIncomeFileServiceImpl.java

@@ -36,9 +36,9 @@ public class CostIncomeFileServiceImpl extends ServiceImpl<CostIncomeFileMapper,
      * @return
      */
     @Override
-    public CostIncomeFile saveCostIncomeFile(List<List<Object>> list, User user, MultipartFile file, Long hospId, List<IncomeErrorMessage> incomeErrorMessageList, String uploadFile) {
+    public CostIncomeFile saveCostIncomeFile(List<List<Object>> list, User user, MultipartFile file, Long hospId, List<IncomeErrorMessage> incomeErrorMessageList, String uploadFile,Integer fileType) {
         CostIncomeFile costIncomeFile = new CostIncomeFile();
-        costIncomeFile.setFileType(file.getContentType());
+
         String substring = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf("."))+System.currentTimeMillis()+".xsl";
         costIncomeFile.setFileName(substring);
         costIncomeFile.setFileUrl(uploadFile);
@@ -49,6 +49,15 @@ public class CostIncomeFileServiceImpl extends ServiceImpl<CostIncomeFileMapper,
         }else {
             costIncomeFile.setSuccessAmount(list.size());
         }
+        if (NumberConstant.ONE.equals(fileType)){
+            costIncomeFile.setFileType("成本分摊参数值");
+        }else if (NumberConstant.TWO.equals(fileType)){
+            costIncomeFile.setFileType("收入数据");
+        }else if (NumberConstant.THREE.equals(fileType)){
+            costIncomeFile.setFileType("成本数据");
+        }else {
+            costIncomeFile.setFileType(file.getContentType());
+        }
         costIncomeFile.setHospId(hospId);
         costIncomeFile.setUserName(user.getName());
         costIncomeFile.setUserId(user.getId());

+ 10 - 2
src/main/java/com/imed/costaccount/service/impl/CostIncomeGroupServiceImpl.java

@@ -1,5 +1,6 @@
 package com.imed.costaccount.service.impl;
 
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -129,8 +130,15 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
      */
     @Override
     @Transactional(propagation = Propagation.REQUIRED, rollbackFor = Exception.class)
-    public Result importIncomeGroup(List<List<Object>> list, User user, MultipartFile file,Integer year,Integer month) {
+    public Result importIncomeGroup(List<List<Object>> list, User user, MultipartFile file,String dateTime,Integer fileType) {
         // 先检验当前年月是否存在数据
+        int year = 0;
+        int month = 0;
+        Date date = DateUtils.StringToDate(dateTime, DateStyleEnum.YYYY_MM_DD);
+        if (StrUtil.isNotBlank(dateTime)) {
+            year = DateUtil.year(date);
+            month =DateUtil.month(date)+1;
+        }
         Long hospId = user.getHospId();
         List<CostIncomeGroup> groups = this.list(new QueryWrapper<CostIncomeGroup>().lambda().eq(CostIncomeGroup::getHospId, hospId)
                 .eq(CostIncomeGroup::getDateYear, year).eq(CostIncomeGroup::getDateMonth, month));
@@ -172,7 +180,7 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
             throw new CostException(500,"文件上传异常");
         }
         // 记录文件上传记录
-        CostIncomeFile costIncomeFile =costIncomeFileService.saveCostIncomeFile(list, user, file, hospId, incomeErrorMessageList, uploadFile);
+        CostIncomeFile costIncomeFile =costIncomeFileService.saveCostIncomeFile(list, user, file, hospId, incomeErrorMessageList, uploadFile,fileType);
         Long id = costIncomeFile.getId();
         costIncomeGroupArrayList.forEach(i->{
             // 设置文件Id

+ 26 - 10
src/main/java/com/imed/costaccount/web/ExcelController.java

@@ -254,24 +254,39 @@ public class ExcelController {
         // 样式
         Sheet sheet = writer.getSheet();
         // 内容
-        writer.merge(0, 1, 0, 6, "为了保证成功导入,请勿修改模板格式", false);
+        writer.merge(0, 1, 0, 16, "为了保证成功导入,请勿修改模板格式", false);
         writer.passCurrentRow();
         writer.passCurrentRow();
-        writer.merge(2, 2, 0, 6, "医院收入数据批量导入", false);
+        writer.merge(2, 2, 0, 16, "医院收入数据批量导入", false);
         writer.passCurrentRow();
         // 冻结前四行
         writer.setFreezePane(4);
-        writer.writeRow(Arrays.asList("成本项目代码", "成本项目名称", "开单科室", "开单科室代码", "执行科室", "执行科室代码", "金额"));
+        writer.writeRow(Arrays.asList("成本项目代码", "成本项目名称", "开单科室", "开单科室代码", "执行科室", "执行科室代码", "医生编码","开单医生",
+                "病人ID",	"住院号/门诊号",	"患者姓名",	"病人费别",	"收据费别",	"数量",	"单位",	"金额",	"费用发生时间"));
         int accountType = NumberConstant.ONE;
         int column = NumberConstant.FOUR;
         getProductByAccountType(hospId, writer, accountType, column);
         writer.setColumnWidth(0, 20);
         writer.setColumnWidth(1, 20);
-        writer.setColumnWidth(2, 20);
-        writer.setColumnWidth(3, 20);
-        writer.setColumnWidth(4, 20);
-        writer.setColumnWidth(5, 20);
-        writer.setColumnWidth(6, 20);
+        writer.setColumnWidth(2, 10);
+        writer.setColumnWidth(3, 13);
+        writer.setColumnWidth(4, 10);
+        writer.setColumnWidth(5, 13);
+        writer.setColumnWidth(6, 10);
+        writer.setColumnWidth(7, 10);
+        writer.setColumnWidth(8, 10);
+        writer.setColumnWidth(9, 15);
+        writer.setColumnWidth(10, 10);
+        writer.setColumnWidth(11, 10);
+        writer.setColumnWidth(12, 10);
+        writer.setColumnWidth(13, 10);
+        writer.setColumnWidth(14, 10);
+        writer.setColumnWidth(15, 10);
+        writer.setColumnWidth(16, 15);
+
+
+
+
         response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
         response.setHeader("Content-Disposition", "attachment;filename=" + uuid + ".xls");
         ServletOutputStream out = null;
@@ -436,10 +451,11 @@ public class ExcelController {
      */
     @PostMapping("/importDataByFileType")
     @ApiOperation("批量导入指定类型数据信息")
-    public Result importProductAccount(@RequestParam("file") MultipartFile file, Integer year, Integer month) {
+    public Result importProductAccount(@RequestParam("file") MultipartFile file,Integer fileType, String dateTime) {
         if (Objects.isNull(file)) {
             throw new CostException(500, "请选择文件");
         }
+
         InputStream in;
         // 导入的是收入数据
         try {
@@ -449,7 +465,7 @@ public class ExcelController {
             log.info("最开始:read={}", read);
             log.info("-------------------------------------------------------------------");
             User user = UserContext.getCurrentUser();
-            return costIncomeGroupService.importIncomeGroup(read, user, file, year, month);
+            return costIncomeGroupService.importIncomeGroup(read, user, file, dateTime,fileType);
         } catch (IOException e) {
             e.printStackTrace();
             ;