Browse Source

Merge branch 'master' of huangrui/CostAccount into dev

lijiaxi 4 years ago
parent
commit
a48df8dfb9

+ 4 - 0
src/main/java/com/imed/costaccount/model/CostIncomeFile.java

@@ -74,6 +74,10 @@ public class CostIncomeFile implements Serializable {
 	 * 月份
 	 */
 	private Integer dateMonth;
+	/**
+	 * 是否撤销
+	 */
+	private Integer rollbackStatus;
 	/**
 	 * 创建时间13位时间戳
 	 */

+ 4 - 0
src/main/java/com/imed/costaccount/model/vo/CostIncomeFileVO.java

@@ -33,6 +33,10 @@ public class CostIncomeFileVO {
     private Integer totalAmount;
     @ApiModelProperty(name = "userName",value = "导入人员")
     private String userName;
+    /**
+     * 是否撤销
+     */
+    private Integer rollbackStatus;
     /**
      * 年份
      */

+ 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);

+ 8 - 3
src/main/java/com/imed/costaccount/service/impl/CostIncomeFileServiceImpl.java

@@ -11,8 +11,10 @@ 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.mapper.CostShareParamGroupMapper;
 import com.imed.costaccount.model.CostIncomeFile;
 import com.imed.costaccount.model.CostIncomeGroup;
 import com.imed.costaccount.model.User;
@@ -36,8 +38,10 @@ public class CostIncomeFileServiceImpl extends ServiceImpl<CostIncomeFileMapper,
 
     @Autowired
     private CostIncomeGroupMapper costIncomeGroupMapper;
-
-
+    @Autowired
+    private CostCostingGroupMapper costCostingGroupMapper;
+    @Autowired
+    private CostShareParamGroupMapper costShareParamGroupMapper;
 
     /**
      * 保存文件上传记录
@@ -105,7 +109,6 @@ public class CostIncomeFileServiceImpl extends ServiceImpl<CostIncomeFileMapper,
             }
             i.setDateTime(DateUtil.format(DateUtil.date(i.getCreateTime()),"yyyy-MM-dd"));
         });
-
         PageUtils pageUtils = new PageUtils(page);
         pageUtils.setList(costIncomeFileVOList);
         return pageUtils;
@@ -132,6 +135,8 @@ public class CostIncomeFileServiceImpl extends ServiceImpl<CostIncomeFileMapper,
         }
         List<Long> list = costIncomeGroupList.stream().map(CostIncomeGroup::getId).collect(Collectors.toList());
         costIncomeGroupMapper.deleteBatchIds(list);
+        costIncomeFile.setRollbackStatus(NumberConstant.ONE);
+        this.updateById(costIncomeFile);
     }
 
     /**

+ 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);
     }
 

+ 1 - 0
src/main/resources/mapper/CostIncomeFileMapper.xml

@@ -15,6 +15,7 @@
         <result property="userId" column="user_id"/>
         <result property="userName" column="user_name"/>
         <result property="errorList" column="error_list"/>
+        <result property="rollbackStatus" column="rollback_status"/>
         <result property="dateYear" column="date_year"/>
         <result property="dateMonth" column="date_month"/>
         <result property="createTime" column="create_time"/>