ljx 4 年之前
父節點
當前提交
03d4839cdc

+ 10 - 15
src/main/java/com/imed/costaccount/service/impl/CostCostingGroupServiceImpl.java

@@ -171,31 +171,26 @@ public class CostCostingGroupServiceImpl extends ServiceImpl<CostCostingGroupMap
             int row=i+5;
             List<Object> data = list.get(i);
             for (int j = 2; j < departmentCodes.size(); j++) {
+                int column=j+1;
                 if (data.size() > j ) {
                     if (Objects.isNull(data.get(j))){
                         data.set(j, NumberConstant.ZERO);
+                    }else if (!isNumeric(data.get(j).toString()) || data.get(j).toString().contains("-")){
+                        IncomeErrorMessage incomeErrorMessage = new IncomeErrorMessage();
+                        incomeErrorMessage.setTotal(row);
+                        incomeErrorMessage.setErrMessage("第"+row+"行 第"+column+"列数据不符合规范");
+                        incomeErrorMessageList.add(incomeErrorMessage);
                     }else {
-
-                        data.set(j, Integer.parseInt(data.get(j).toString()));
+                        data.set(j, Double.parseDouble(data.get(j).toString()));
                     }
                 }else {
                     data.add(NumberConstant.ZERO);
                 }
             }
-            // 检验输入的数字是否合法
-            for (int j=2;j<data.size();j++){
-                int column=j+1;
-                if (!isNumeric(data.get(j).toString())){
-                    IncomeErrorMessage incomeErrorMessage = new IncomeErrorMessage();
-                    incomeErrorMessage.setTotal(row);
-                    incomeErrorMessage.setErrMessage("第"+row+"行 第"+column+"列数据不符合规范");
-                    incomeErrorMessageList.add(incomeErrorMessage);
-                }
-            }
             if (CollectionUtils.isEmpty(incomeErrorMessageList)){
                 Integer emptyStatus = 0;
                 for (int j = 2; j < data.size()-1 ; j++) {
-                    int parseInt = Integer.parseInt(data.get(j).toString());
+                    BigDecimal parseInt = new BigDecimal (data.get(j).toString());
                     if (!NumberConstant.ZERO.equals(parseInt)) {
                         emptyStatus = 1;
                         break;
@@ -236,7 +231,7 @@ public class CostCostingGroupServiceImpl extends ServiceImpl<CostCostingGroupMap
                 }
                 // 0表示全为0 1表示不全为0
 
-                Integer combined = Integer.parseInt(data.get(data.size() - 1).toString());
+                BigDecimal combined = new BigDecimal (data.get(data.size() - 1).toString());
                 if (NumberConstant.ZERO.equals(emptyStatus) && NumberConstant.ZERO.equals(combined)) {
                     // 全为0
                 } else if (!NumberConstant.ZERO.equals(combined) && NumberConstant.ZERO.equals(emptyStatus)) {
@@ -245,7 +240,7 @@ public class CostCostingGroupServiceImpl extends ServiceImpl<CostCostingGroupMap
                     // TODO 设置其他责任中心
                     costCostingGroup.setResponsibilityCode("其他责任中心的Code");
                     costCostingGroup.setResponsibilityName("其他责任中心的Name");
-                    costCostingGroup.setAmount(BigDecimal.valueOf(Double.parseDouble(combined.toString())));
+                    costCostingGroup.setAmount(combined);
                     costCostingGroup.setHospId(UserContext.getHospId());
                     costCostingGroup.setCreateTime(System.currentTimeMillis());
                     costCostingGroup.setDateYear(year);

+ 22 - 5
src/main/java/com/imed/costaccount/service/impl/CostIncomeFileServiceImpl.java

@@ -11,11 +11,11 @@ import com.imed.costaccount.common.util.BeanUtil;
 import com.imed.costaccount.common.util.JsonUtil;
 import com.imed.costaccount.common.util.PageUtils;
 import com.imed.costaccount.constants.NumberConstant;
+import com.imed.costaccount.mapper.CostCostingGroupMapper;
 import com.imed.costaccount.mapper.CostIncomeFileMapper;
 import com.imed.costaccount.mapper.CostIncomeGroupMapper;
-import com.imed.costaccount.model.CostIncomeFile;
-import com.imed.costaccount.model.CostIncomeGroup;
-import com.imed.costaccount.model.User;
+import com.imed.costaccount.mapper.CostShareParamGroupMapper;
+import com.imed.costaccount.model.*;
 import com.imed.costaccount.model.vo.CostIncomeFileVO;
 import com.imed.costaccount.model.vo.IncomeErrorMessage;
 import com.imed.costaccount.service.CostIncomeFileService;
@@ -36,8 +36,10 @@ public class CostIncomeFileServiceImpl extends ServiceImpl<CostIncomeFileMapper,
 
     @Autowired
     private CostIncomeGroupMapper costIncomeGroupMapper;
-
-
+    @Autowired
+    private CostCostingGroupMapper costCostingGroupMapper;
+    @Autowired
+    private CostShareParamGroupMapper costShareParamGroupMapper;
 
     /**
      * 保存文件上传记录
@@ -105,7 +107,22 @@ public class CostIncomeFileServiceImpl extends ServiceImpl<CostIncomeFileMapper,
             }
             i.setDateTime(DateUtil.format(DateUtil.date(i.getCreateTime()),"yyyy-MM-dd"));
         });
+        // 判断当前数据是否撤销
+        List<CostIncomeGroup> costIncomeGroupList = costIncomeGroupMapper.selectList(new QueryWrapper<CostIncomeGroup>().lambda()
+                .eq(CostIncomeGroup::getHospId, hospId));
+        List<CostCostingGroup> costCostingGroupList = costCostingGroupMapper.selectList(new QueryWrapper<CostCostingGroup>().lambda()
+                .eq(CostCostingGroup::getHospId, hospId));
+        List<CostShareParamGroup> costShareParamGroupList = costShareParamGroupMapper.selectList(new QueryWrapper<CostShareParamGroup>().lambda()
+                .eq(CostShareParamGroup::getHospId, hospId));
+        costIncomeFileVOList.forEach(i->{
+            Long id = i.getId();
+            String fileType = i.getFileType();
+            if (fileType.equals("收入数据")){
+
+            }else if (fileType.equals("成本数据")){
 
+            }
+        });
         PageUtils pageUtils = new PageUtils(page);
         pageUtils.setList(costIncomeFileVOList);
         return pageUtils;

+ 12 - 11
src/main/java/com/imed/costaccount/service/impl/CostIncomeGroupServiceImpl.java

@@ -100,7 +100,7 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
                 .like(StrUtil.isNotBlank(productCode), CostIncomeGroup::getProductCode, productCode));
         List<CostIncomeGroup> records = pages.getRecords();
         List<CostIncomeGroupBeforeVO> costIncomeGroupBeforeVOList = BeanUtil.convertList(records, CostIncomeGroupBeforeVO.class);
-        if (CollectionUtils.isEmpty(costIncomeGroupBeforeVOList)){
+        if (CollectionUtils.isEmpty(costIncomeGroupBeforeVOList)) {
             PageUtils pageUtils = new PageUtils(pages);
             pageUtils.setList(null);
             pageUtils.setTotalAmount(new BigDecimal(0.0000));
@@ -187,7 +187,7 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
             throw new CostException(500, "文件上传异常");
         }
         // 记录文件上传记录
-        CostIncomeFile costIncomeFile = costIncomeFileService.saveCostIncomeFile(list, user, file, hospId, incomeErrorMessageList, uploadFile, fileType,year,month);
+        CostIncomeFile costIncomeFile = costIncomeFileService.saveCostIncomeFile(list, user, file, hospId, incomeErrorMessageList, uploadFile, fileType, year, month);
         Long id = costIncomeFile.getId();
         costIncomeGroupArrayList.forEach(i -> {
             // 设置文件Id
@@ -195,8 +195,8 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
         });
         if (CollectionUtils.isEmpty(incomeErrorMessageList)) {
             this.saveBatch(costIncomeGroupArrayList);
-            return Result.build(200,"数据导入成功",null);
-        }else {
+            return Result.build(200, "数据导入成功", null);
+        } else {
             return Result.build(200, "数据未成功导入", null);
         }
     }
@@ -329,10 +329,10 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
             String openDepartmentCode = data.get(3).toString().trim();
             String startDepartmentName = data.get(4).toString().trim();
             String startDepartmentCode = data.get(5).toString().trim();
-            if (StrUtil.isBlank(openDepartmentCode) && StrUtil.isBlank(openDepartmentName) && StrUtil.isBlank(startDepartmentCode) && StrUtil.isBlank(startDepartmentName)){
+            if (StrUtil.isBlank(openDepartmentCode) && StrUtil.isBlank(openDepartmentName) && StrUtil.isBlank(startDepartmentCode) && StrUtil.isBlank(startDepartmentName)) {
                 continue;
             }
-            BigDecimal beforeMoney = BigDecimal.valueOf(Double.parseDouble(("0".equals(data.get(15).toString()) || StrUtil.isBlank(data.get(15).toString())) ?"0.00":data.get(15).toString()));
+            BigDecimal beforeMoney = BigDecimal.valueOf(Double.parseDouble(("0".equals(data.get(15).toString()) || StrUtil.isBlank(data.get(15).toString())) ? "0.00" : data.get(15).toString()));
             boolean checkNull = StrUtil.isNotBlank(data.get(15).toString());
             boolean checkOne = "0".equals(data.get(15).toString());
             // TODO 为0的时候这一行是否可以输入空的
@@ -350,7 +350,7 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
             }
             // 检验收入成本项目数据是否存在
             Product product = productMap.get(productCode.trim() + productName.trim());
-            Department department = departmentMap.get(openDepartmentCode.trim()+openDepartmentName.trim());
+            Department department = departmentMap.get(openDepartmentCode.trim() + openDepartmentName.trim());
             Department department1 = departmentMap.get(startDepartmentCode.trim() + startDepartmentName.trim());
             if (StrUtil.isNotBlank(productCode) && StrUtil.isNotBlank(productName)) {
                 if (Objects.isNull(product)) {
@@ -446,11 +446,11 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
                 costIncomeGroup.setStartResponsibilityCode(null);
                 costIncomeGroup.setStartResponsibilityName(null);
             }
-            costIncomeGroup.setDoctorNumber(StrUtil.isBlank(data.get(6).toString())?null:Long.parseLong(data.get(6).toString())).setDoctorName(data.get(7).toString())
-                    .setPatientId(StrUtil.isBlank(data.get(8).toString())?null:Long.parseLong(data.get(8).toString())).setOutpatientId(StrUtil.isBlank(data.get(9).toString())?null:Long.parseLong(data.get(9).toString()))
+            costIncomeGroup.setDoctorNumber(StrUtil.isBlank(data.get(6).toString()) ? null : Long.parseLong(data.get(6).toString())).setDoctorName(data.get(7).toString())
+                    .setPatientId(StrUtil.isBlank(data.get(8).toString()) ? null : Long.parseLong(data.get(8).toString())).setOutpatientId(StrUtil.isBlank(data.get(9).toString()) ? null : Long.parseLong(data.get(9).toString()))
                     .setPatientName(data.get(10).toString()).setPatientFee(data.get(11).toString()).setReceiptFee(data.get(12).toString())
-                    .setTotalNumber(StrUtil.isBlank(data.get(13).toString())?null:Integer.parseInt(data.get(13).toString())).setUnit(data.get(14).toString())
-                    .setFeeDatetime(StrUtil.isBlank(data.get(16).toString())?null:DateUtils.StringToDate(data.get(16).toString(), DateStyleEnum.YYYY_MM_DD_HH_MM_SS));
+                    .setTotalNumber(StrUtil.isBlank(data.get(13).toString()) ? null : Integer.parseInt(data.get(13).toString())).setUnit(data.get(14).toString())
+                    .setFeeDatetime(StrUtil.isBlank(data.get(16).toString()) ? null : DateUtils.StringToDate(data.get(16).toString(), DateStyleEnum.YYYY_MM_DD_HH_MM_SS));
             costIncomeGroup.setHospId(hospId);
             costIncomeGroup.setCreateTime(System.currentTimeMillis());
             costIncomeGroup.setDateYear(year);
@@ -464,6 +464,7 @@ public class CostIncomeGroupServiceImpl extends ServiceImpl<CostIncomeGroupMappe
 
     /**
      * 封装需要的数据
+     *
      * @param hospId
      * @param costIncomeGroup
      * @param afterIncomegroup

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

@@ -133,18 +133,19 @@ public class CostShareParamGroupServiceImpl extends ServiceImpl<CostShareParamGr
                 incomeErrorMessageList.add(incomeErrorMessage);
             }
             for (int j = 2; j < departmentCodes.size(); j++) {
-                if (data.size() > j) {
-                    if (Objects.isNull(data.get(j))) {
+                int column=j+1;
+                if (data.size() > j ) {
+                    if (Objects.isNull(data.get(j))){
                         data.set(j, NumberConstant.ZERO);
-                    } else if (isNumeric(data.get(j).toString())) {
-                        data.set(j, Double.parseDouble(data.get(j).toString()));
-                    } else {
+                    }else if (!isNumeric(data.get(j).toString()) || data.get(j).toString().contains("-")){
                         IncomeErrorMessage incomeErrorMessage = new IncomeErrorMessage();
                         incomeErrorMessage.setTotal(row);
-                        incomeErrorMessage.setErrMessage("第" + row + "行 第" + j + "列数据不符合规范");
+                        incomeErrorMessage.setErrMessage("第"+row+"行 第"+column+"列数据不符合规范");
                         incomeErrorMessageList.add(incomeErrorMessage);
+                    }else {
+                        data.set(j, Double.parseDouble(data.get(j).toString()));
                     }
-                } else {
+                }else {
                     data.add(NumberConstant.ZERO);
                 }
             }

+ 2 - 2
src/main/java/com/imed/costaccount/web/CostIncomeGroupController.java

@@ -36,9 +36,9 @@ public class CostIncomeGroupController {
                        @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize,
                        @RequestParam(value = "dateTime") String dateTime,
                        @RequestParam(value = "responsibilityCode",required = false) String responsibilityCode,
-                       @RequestParam(value = "accountCode",required = false) String accountCode){
+                       @RequestParam(value = "productCode",required = false) String productCode){
         Long hospId = UserContext.getHospId();
-        PageUtils pageUtils = costIncomeGroupService.queryList(current,pageSize,dateTime,responsibilityCode,accountCode,hospId);
+        PageUtils pageUtils = costIncomeGroupService.queryList(current,pageSize,dateTime,responsibilityCode,productCode,hospId);
         return Result.ok(pageUtils);
     }