|
@@ -4,18 +4,21 @@ import cn.hutool.core.date.DateUtil;
|
|
|
import cn.hutool.core.util.StrUtil;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.imed.costaccount.common.exception.CostException;
|
|
|
+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.RedisLock;
|
|
|
+import com.imed.costaccount.constants.NumberConstant;
|
|
|
+import com.imed.costaccount.enums.DateStyleEnum;
|
|
|
import com.imed.costaccount.mapper.CostIncomeGroupMapper;
|
|
|
import com.imed.costaccount.mapper.IncomeCollectionMapper;
|
|
|
import com.imed.costaccount.model.*;
|
|
|
import com.imed.costaccount.model.dto.CollectDTO;
|
|
|
-import com.imed.costaccount.model.vo.CodeAndNameVO;
|
|
|
-import com.imed.costaccount.model.vo.CollectDataFormVO;
|
|
|
-import com.imed.costaccount.model.vo.CollectedVO;
|
|
|
-import com.imed.costaccount.model.vo.CollectionVO;
|
|
|
+import com.imed.costaccount.model.vo.*;
|
|
|
import com.imed.costaccount.service.AccountingService;
|
|
|
import com.imed.costaccount.service.IncomeCollectionService;
|
|
|
import com.imed.costaccount.service.ResponsibilityService;
|
|
@@ -23,6 +26,7 @@ import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Propagation;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
@@ -109,7 +113,9 @@ public class IncomeCollectionServiceImpl
|
|
|
.eq(CostIncomeGroup::getDateYear, year)
|
|
|
.eq(CostIncomeGroup::getDateMonth, month)
|
|
|
.eq(CostIncomeGroup::getHospId, hospId)
|
|
|
+ .groupBy(CostIncomeGroup::getOpenDepartmentCode, CostIncomeGroup::getStartDepartmentCode, CostIncomeGroup::getProductCode)
|
|
|
);
|
|
|
+
|
|
|
if (costIncomeGroups.isEmpty()) {
|
|
|
String format = StrUtil.format("{}年{}月数据不存在,请先导入数据", year, month);
|
|
|
throw new CostException(format);
|
|
@@ -155,6 +161,7 @@ public class IncomeCollectionServiceImpl
|
|
|
// afterIncomegroup.setResponsibilityName("-");
|
|
|
// }
|
|
|
// 开单中心的数据
|
|
|
+ incomeCollection.setAmount(afterIncomegroup.getOpenDepartmentDecimal());
|
|
|
incomeCollection.setDepartmentCode(afterIncomegroup.getOpenDepartmentCode());
|
|
|
incomeCollection.setDepartmentName(afterIncomegroup.getOpenDepartmentName());
|
|
|
incomeCollection.setResponsibilityCode(afterIncomegroup.getOpenResponsibilityCode());
|
|
@@ -162,12 +169,16 @@ public class IncomeCollectionServiceImpl
|
|
|
|
|
|
list.add(incomeCollection);
|
|
|
// 执行科室数据
|
|
|
- String startDepartmentCode = afterIncomegroup.getStartDepartmentCode();
|
|
|
- incomeCollection.setDepartmentCode(startDepartmentCode);
|
|
|
- incomeCollection.setDepartmentName(afterIncomegroup.getStartDepartmentName());
|
|
|
- incomeCollection.setResponsibilityCode(afterIncomegroup.getStartResponsibilityCode());
|
|
|
- incomeCollection.setResponsibilityName(afterIncomegroup.getStartResponsibilityName());
|
|
|
- list.add(incomeCollection);
|
|
|
+
|
|
|
+ IncomeCollection startCollect = BeanUtil.convertObj(incomeCollection, IncomeCollection.class);
|
|
|
+ startCollect.setAmount(afterIncomegroup.getStartDepartmentDecimal());
|
|
|
+ startCollect.setDepartmentCode(afterIncomegroup.getStartDepartmentCode());
|
|
|
+ startCollect.setDepartmentName(afterIncomegroup.getStartDepartmentName());
|
|
|
+ startCollect.setResponsibilityCode(afterIncomegroup.getStartResponsibilityCode());
|
|
|
+ startCollect.setResponsibilityName(afterIncomegroup.getStartResponsibilityName());
|
|
|
+ log.info("start:{}", startCollect);
|
|
|
+ log.info("open:{}", incomeCollection);
|
|
|
+ list.add(startCollect);
|
|
|
});
|
|
|
|
|
|
|
|
@@ -248,7 +259,7 @@ public class IncomeCollectionServiceImpl
|
|
|
}
|
|
|
|
|
|
// 所有的数据格式
|
|
|
- List<CodeAndNameVO> realData = this.baseMapper.getAccount(hospId, collectDTO.getProductCode(), date);
|
|
|
+ List<CodeAndNameVO> realData = this.baseMapper.getAccount(hospId, date);
|
|
|
if (realData.isEmpty()) {
|
|
|
return new CollectDataFormVO();
|
|
|
}
|