123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- package com.imed.costaccount.service.impl;
- import cn.hutool.core.date.DateUtil;
- import cn.hutool.core.util.StrUtil;
- import com.alibaba.fastjson.JSON;
- 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.util.BeanUtil;
- import com.imed.costaccount.common.util.PageUtils;
- import com.imed.costaccount.constants.NumberConstant;
- import com.imed.costaccount.mapper.CostIncomeFileMapper;
- import com.imed.costaccount.model.CostIncomeFile;
- import com.imed.costaccount.model.User;
- import com.imed.costaccount.model.vo.CostIncomeFileVO;
- import com.imed.costaccount.model.vo.IncomeErrorMessage;
- import com.imed.costaccount.service.CostIncomeFileService;
- import org.springframework.stereotype.Service;
- import org.springframework.util.CollectionUtils;
- import org.springframework.web.multipart.MultipartFile;
- import java.util.List;
- @Service("costIncomeFileService")
- public class CostIncomeFileServiceImpl extends ServiceImpl<CostIncomeFileMapper, CostIncomeFile> implements CostIncomeFileService {
- /**
- * 保存文件上传记录
- * @param list 文件数据
- * @param user 当前用户
- * @param file 上传文件
- * @param hospId 医院Id
- * @param incomeErrorMessageList 错误信息
- * @param uploadFile 文件路径
- * @return
- */
- @Override
- public CostIncomeFile saveCostIncomeFile(List<List<Object>> list, User user, MultipartFile file, Long hospId, List<IncomeErrorMessage> incomeErrorMessageList, String uploadFile,Integer fileType) {
- CostIncomeFile costIncomeFile = new CostIncomeFile();
- String substring = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf("."))+System.currentTimeMillis()+".xsl";
- costIncomeFile.setFileName(substring);
- costIncomeFile.setFileUrl(uploadFile);
- costIncomeFile.setTotalAmount(list.size());
- if (!CollectionUtils.isEmpty(incomeErrorMessageList)) {
- costIncomeFile.setSuccessAmount(NumberConstant.ZERO);
- costIncomeFile.setErrorList(JSON.toJSONString(incomeErrorMessageList));
- }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());
- costIncomeFile.setCreateTime(System.currentTimeMillis());
- this.save(costIncomeFile);
- return costIncomeFile;
- }
- /**
- * 分页查询查询记录数据
- *
- * @param current
- * @param pageSize
- * @param name
- * @param hospId
- * @return
- */
- @Override
- public PageUtils queryList(Integer current, Integer pageSize, String name, Long hospId) {
- Page<CostIncomeFile> costIncomeFilePage = new Page<>(current, pageSize);
- Page<CostIncomeFile> page = this.page(costIncomeFilePage, new QueryWrapper<CostIncomeFile>().lambda()
- .eq(CostIncomeFile::getHospId, hospId).like(StrUtil.isNotBlank(name), CostIncomeFile::getFileName, name));
- List<CostIncomeFile> records = page.getRecords();
- List<CostIncomeFileVO> costIncomeFileVOList = BeanUtil.convertList(records, CostIncomeFileVO.class);
- costIncomeFileVOList.forEach(i->{
- String errorList = i.getErrorList();
- if (StrUtil.isNotBlank(errorList)){
- i.setErrStatus(NumberConstant.ONE);
- }
- i.setDateTime(DateUtil.format(DateUtil.date(i.getCreateTime()),"yyyy-MM-dd"));
- });
- PageUtils pageUtils = new PageUtils(page);
- pageUtils.setList(costIncomeFileVOList);
- return pageUtils;
- }
- }
|