فهرست منبع

修改收入归集设置提示

ljx 4 سال پیش
والد
کامیت
1139cdef19

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

@@ -2,8 +2,11 @@ package com.imed.costaccount.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.imed.costaccount.common.util.PageUtils;
+import com.imed.costaccount.common.util.Result;
 import com.imed.costaccount.model.CostIncomeGroup;
 
+import java.util.List;
+
 /**
  * 收入归集
  *
@@ -23,5 +26,13 @@ public interface CostIncomeGroupService extends IService<CostIncomeGroup> {
      * @return
      */
     PageUtils queryList(Integer current, Integer pageSize, String dateTime, String responsibilityCode, String accountCode, Long hospId);
+
+    /**
+     * 批量导入收入数据
+     * @param read
+     * @param hospId
+     * @return
+     */
+    Result importIncomeGroup(List<List<Object>> read, Long hospId);
 }
 

+ 38 - 14
src/main/java/com/imed/costaccount/service/impl/CostIncomeGroupServiceImpl.java

@@ -7,21 +7,24 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.imed.costaccount.common.util.BeanUtil;
 import com.imed.costaccount.common.util.DateUtils;
 import com.imed.costaccount.common.util.PageUtils;
+import com.imed.costaccount.common.util.Result;
+import com.imed.costaccount.constants.NumberConstant;
 import com.imed.costaccount.mapper.CostIncomeGroupMapper;
 import com.imed.costaccount.model.*;
 import com.imed.costaccount.model.vo.CostIncomeGroupAllAmountVO;
 import com.imed.costaccount.model.vo.CostIncomeGroupBeforeVO;
 import com.imed.costaccount.service.*;
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
-import org.springframework.util.StringUtils;
 
 import java.math.BigDecimal;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.stream.Collectors;
 
-
+@Slf4j
 @Service("costIncomeGroupService")
 public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMapper, CostIncomeGroup> implements CostIncomeGroupService {
 
@@ -54,18 +57,20 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
      */
     @Override
     public PageUtils queryList(Integer current, Integer pageSize, String dateTime, String responsibilityCode, String accountCode, Long hospId) {
-        int year = DateUtils.getYear(dateTime);
-        int month=DateUtils.getMonth(dateTime);
+        int year = 0;
+        int month=0;
+        if (StrUtil.isNotBlank(dateTime)){
+            year = DateUtils.getYear(dateTime);
+            month=DateUtils.getMonth(dateTime);
+        }
         Page<CostIncomeGroup> costIncomeGroupPage = new Page<>(current, pageSize);
-        QueryWrapper<CostIncomeGroup> wrapper = new QueryWrapper<>();
-        wrapper.eq("hosp_id",hospId);
-        wrapper.eq("date_year",year);
-        wrapper.eq("date_month",month);
-        wrapper.like(!StringUtils.isEmpty(responsibilityCode),"open_responsibility_code",responsibilityCode)
-                .or()
-                .like(!StringUtils.isEmpty(responsibilityCode),"start_responsibility_code",responsibilityCode);
-        wrapper.eq(!StringUtils.isEmpty(accountCode),"account_code",accountCode);
-        Page<CostIncomeGroup> pages = this.page(costIncomeGroupPage, wrapper);
+        Page<CostIncomeGroup> pages= this.page(costIncomeGroupPage,new QueryWrapper<CostIncomeGroup>().lambda()
+                .eq(Objects.nonNull(hospId),CostIncomeGroup::getHospId,hospId)
+                .eq(!NumberConstant.ZERO.equals(year),CostIncomeGroup::getDateYear,year)
+                .eq(!NumberConstant.ONE.equals(month),CostIncomeGroup::getDateMonth,month)
+                .and(StrUtil.isNotBlank(responsibilityCode),i->i.like(CostIncomeGroup::getOpenResponsibilityCode,responsibilityCode)
+                .or().like(CostIncomeGroup::getStartResponsibilityCode, responsibilityCode))
+                .like(StrUtil.isNotBlank(accountCode),CostIncomeGroup::getAccountCode,accountCode));
         List<CostIncomeGroup> records = pages.getRecords();
         List<CostIncomeGroupBeforeVO> costIncomeGroupBeforeVOList = BeanUtil.convertList(records, CostIncomeGroupBeforeVO.class);
         // 查询所有的责任中心 科室 会计科目  成本项目的数据  处理名字
@@ -88,6 +93,25 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
         return pageUtils;
     }
 
+    /**
+     * 批量导入收入数据
+     *
+     * @param list 输入的文件
+     * @param hospId 医院Id
+     * @return
+     */
+    @Override
+    public Result importIncomeGroup(List<List<Object>> list, Long hospId) {
+        // 移除前几行的抬头内容
+        for (int i = list.size() - 1; i >= 0; i--) {
+            if (i == NumberConstant.ZERO || i == NumberConstant.ONE || i == NumberConstant.TWO || i == NumberConstant.THREE) {
+                list.remove(list.get(i));
+            }
+        }
+        log.info("读取的数据为:{}", list);
+        return Result.ok();
+    }
+
     /**
      * 设置相关名称
      * @param hospId
@@ -114,7 +138,7 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
         });
     }
     /**
-     * 收入归集数据的计算规则
+     * 收入数据导入
      */
 
 }

+ 4 - 2
src/main/java/com/imed/costaccount/service/impl/CostIncomeGroupSetServiceImpl.java

@@ -138,12 +138,14 @@ public class CostIncomeGroupSetServiceImpl extends ServiceImpl<CostIncomeGroupSe
     private void checkIncomeGroupSet(CostIncomeGroupSetSaveDto costIncomeGroupSetSaveDto, Long hospId) {
         Integer sum = costIncomeGroupSetSaveDto.getOpenDepartmentProportion() + costIncomeGroupSetSaveDto.getStartDepartmentProportion();
         if (!NumberConstant.ONE_HUNDRED.equals(sum)) {
-            throw new CostException(500, "输入的比例和不是100");
+            if ((NumberConstant.ONE.equals(costIncomeGroupSetSaveDto.getOpenDepartmentStatus()) || NumberConstant.ONE.equals(costIncomeGroupSetSaveDto.getStartDepartmentStatus()))){
+                throw new CostException(500, "输入的比例和不是100");
+            }
         }
         if (NumberConstant.TWO.equals(costIncomeGroupSetSaveDto.getOpenDepartmentStatus())
                 && NumberConstant.TWO.equals(costIncomeGroupSetSaveDto.getStartDepartmentStatus())) {
             if (StringUtils.isEmpty(costIncomeGroupSetSaveDto.getResponsibilityCodes())){
-                throw new CostException(500, "两个成本中心需要输入对应的责任中心");
+                throw new CostException(500, "请选择要归属到的责任中心");
             }else {
                 costIncomeGroupSetSaveDto.setOpenDepartmentProportion(NumberConstant.ZERO);
                 costIncomeGroupSetSaveDto.setStartDepartmentProportion(NumberConstant.ZERO);

+ 11 - 7
src/main/java/com/imed/costaccount/web/ExcelController.java

@@ -56,7 +56,10 @@ public class ExcelController {
 
     private final CostShareParamService costShareParamService;
 
-    public ExcelController(UserService userService, DepartmentServiceImpl departmentService, ProductServiceImpl productService, AccountingService accountingService, AccountingProductService accountingProductService, ResponsibilityDepartmentService responsibilityDepartmentService, CostShareParamService costShareParamService) {
+    private final CostIncomeGroupService costIncomeGroupService;
+
+
+    public ExcelController(UserService userService, DepartmentServiceImpl departmentService, ProductServiceImpl productService, AccountingService accountingService, AccountingProductService accountingProductService, ResponsibilityDepartmentService responsibilityDepartmentService, CostShareParamService costShareParamService, CostIncomeGroupService costIncomeGroupService) {
         this.userService = userService;
         this.departmentService = departmentService;
         this.productService = productService;
@@ -64,6 +67,7 @@ public class ExcelController {
         this.accountingProductService = accountingProductService;
         this.responsibilityDepartmentService = responsibilityDepartmentService;
         this.costShareParamService = costShareParamService;
+        this.costIncomeGroupService = costIncomeGroupService;
     }
 
     @ApiOperation("用户导出模板设置")
@@ -252,8 +256,8 @@ public class ExcelController {
         int accountType=NumberConstant.ONE;
         int column=NumberConstant.FOUR;
         getProductByAccountType(hospId, writer,accountType,column);
-        writer.setColumnWidth(0,10);
-        writer.setColumnWidth(1,10);
+        writer.setColumnWidth(0,20);
+        writer.setColumnWidth(1,20);
         writer.setColumnWidth(2,20);
         writer.setColumnWidth(3,20);
         writer.setColumnWidth(4,20);
@@ -416,11 +420,11 @@ public class ExcelController {
      * @param file 导入的文件
      * @param fileType 文件类型 1 成本分摊数据  2 收入数据 3 成本数据
      */
-    @PostMapping("/importProductAccount")
-    @ApiOperation("批量导入数据信息")
+    @PostMapping("/importDataByFileType")
+    @ApiOperation("批量导入指定类型数据信息")
     public Result importProductAccount(@RequestParam("file") MultipartFile file,Integer fileType){
         InputStream in;
-        // 导入的是成本分摊参数的数据
+        // 导入的是收入数据
         try {
             in = file.getInputStream();
             ExcelReader reader = ExcelUtil.getReader(in);
@@ -428,7 +432,7 @@ public class ExcelController {
             log.info("最开始:read={}",read);
             log.info("-------------------------------------------------------------------");
             Long hospId = UserContext.getHospId();
-            return productService.importProduct(read, hospId);
+            return costIncomeGroupService.importIncomeGroup(read, hospId);
         }catch (IOException e){
             e.printStackTrace();;
             throw new CostException(500, "导入失败");