|
@@ -1,20 +1,23 @@
|
|
|
package com.dayou.service.impl;
|
|
|
|
|
|
+import cn.dev33.satoken.stp.StpUtil;
|
|
|
+import com.alibaba.excel.EasyExcel;
|
|
|
+import com.alibaba.excel.read.listener.PageReadListener;
|
|
|
import com.dayou.entity.AssetsCalculate;
|
|
|
+import com.dayou.entity.AssetsCalculateEqptData;
|
|
|
import com.dayou.mapper.AssetsCalculateMapper;
|
|
|
+import com.dayou.service.AssetsCalculateEqptDataService;
|
|
|
import com.dayou.service.AssetsCalculateService;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.dayou.vo.calculate.AssetsCalculateProgressVO;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
-import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
-import java.util.List;
|
|
|
-import java.util.ArrayList;
|
|
|
-import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.web.multipart.MultipartFile;
|
|
|
+
|
|
|
+import java.io.IOException;
|
|
|
+import java.io.InputStream;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -27,6 +30,11 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
@Service
|
|
|
public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMapper, AssetsCalculate> implements AssetsCalculateService {
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private AssetsCalculateMapper assetsCalculateMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private AssetsCalculateEqptDataService assetsCalculateEqptDataService;
|
|
|
|
|
|
@Override
|
|
|
@SuppressWarnings("unchecked")
|
|
@@ -42,6 +50,7 @@ public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMappe
|
|
|
|
|
|
@Override
|
|
|
public Boolean add(AssetsCalculate assetsCalculate){
|
|
|
+ assetsCalculate.setCreateUserId(StpUtil.getLoginIdAsLong());
|
|
|
return this.save(assetsCalculate);
|
|
|
}
|
|
|
|
|
@@ -55,4 +64,32 @@ public class AssetsCalculateServiceImpl extends ServiceImpl<AssetsCalculateMappe
|
|
|
//逻辑删除
|
|
|
return this.removeById(id);
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 根据项目id获取未完成测算表的进度信息
|
|
|
+ * @param projectId 项目id
|
|
|
+ * @return AssetsCalculateStepBaseVO
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public AssetsCalculateProgressVO getUnFinishedCalculateProgress(Long projectId) {
|
|
|
+ return assetsCalculateMapper.getCalculateProgress(projectId);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 导入保存机器设备基础信息
|
|
|
+ * @param multipartFile Excel文件
|
|
|
+ * @param calculateId 测算表id
|
|
|
+ * @return Boolean
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public void importEqptExcelData(MultipartFile multipartFile, Long calculateId) throws IOException {
|
|
|
+ // 读取excel内容并批量保存到数据库
|
|
|
+ InputStream inputStream = multipartFile.getInputStream();
|
|
|
+ EasyExcel.read(inputStream, AssetsCalculateEqptData.class, new PageReadListener<AssetsCalculateEqptData>(dataList -> {
|
|
|
+ // 设置数据的测算表id
|
|
|
+ dataList.forEach(data -> data.setAssetsCalculateId(calculateId));
|
|
|
+ // 批量保存
|
|
|
+ assetsCalculateEqptDataService.saveBatch(dataList);
|
|
|
+ }, 1000)).sheet().doRead();
|
|
|
+ }
|
|
|
}
|