|
@@ -2,7 +2,6 @@ package com.rongwei.bscommon.sys.service.impl;
|
|
|
|
|
|
import cn.afterturn.easypoi.excel.ExcelExportUtil;
|
|
|
import cn.afterturn.easypoi.excel.entity.TemplateExportParams;
|
|
|
-import cn.hutool.core.date.DateUtil;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
import com.rongwei.bscommon.sys.dao.CommonDao;
|
|
@@ -10,10 +9,8 @@ import com.rongwei.bscommon.sys.dao.EquOverhaulPlanningTasksMapperDao;
|
|
|
import com.rongwei.bscommon.sys.service.EquOverhaulPlanningTasksService;
|
|
|
import com.rongwei.bscommon.sys.service.EquipmentSendNotifyService;
|
|
|
import com.rongwei.bscommon.sys.utils.*;
|
|
|
-import com.rongwei.bsentity.domain.EquLubricationTaskDetailVo;
|
|
|
import com.rongwei.bsentity.domain.EquOverhaulPlanningTasksDo;
|
|
|
import com.rongwei.bsentity.domain.EquOverhaulPlanningTasksVo;
|
|
|
-import com.rongwei.rwadmincommon.system.domain.SysConfigFilesDo;
|
|
|
import com.rongwei.rwadmincommon.system.domain.SysDictDo;
|
|
|
import com.rongwei.rwadmincommon.system.service.SysDictService;
|
|
|
import com.rongwei.rwadmincommon.system.vo.SysOrganizationVo;
|
|
@@ -21,8 +18,6 @@ import com.rongwei.rwadmincommon.system.vo.SysUserVo;
|
|
|
import com.rongwei.rwcommon.base.R;
|
|
|
import com.rongwei.rwcommon.utils.SecurityUtil;
|
|
|
import com.rongwei.rwcommon.utils.StringUtils;
|
|
|
-import com.rongwei.rwcommonentity.commonservers.domain.SysFileItemDo;
|
|
|
-import com.rongwei.safecommon.utils.CXCommonUtils;
|
|
|
import org.apache.poi.ss.usermodel.Row;
|
|
|
import org.apache.poi.ss.usermodel.Sheet;
|
|
|
import org.apache.poi.ss.usermodel.Workbook;
|
|
@@ -33,14 +28,12 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
-import java.io.FileOutputStream;
|
|
|
import java.io.IOException;
|
|
|
-import java.nio.file.Files;
|
|
|
-import java.nio.file.Path;
|
|
|
-import java.nio.file.Paths;
|
|
|
-import java.nio.file.attribute.BasicFileAttributes;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
+import java.util.stream.Stream;
|
|
|
+
|
|
|
+import static com.rongwei.safecommon.utils.SaveConstans.FileName.PLANNING_TASK_FILE_NAME;
|
|
|
|
|
|
/**
|
|
|
* <p>
|
|
@@ -152,8 +145,6 @@ public class EquOverhaulPlanningTasksServiceImpl extends ServiceImpl<EquOverhaul
|
|
|
|
|
|
@Override
|
|
|
public R sendPlanTaskNotify(HttpServletResponse response) {
|
|
|
- // 临时文件夹路径
|
|
|
- Path tempDir = Paths.get("/upload_files/file_system");
|
|
|
List<SysDictDo> taskByType = sysDictService.getDictsByType("task_state");
|
|
|
List<SysDictDo> ynByType = sysDictService.getDictsByType("srm_yn");
|
|
|
List<EquOverhaulPlanningTasksVo> equOverhaulPlanningTasksDos = equOverhaulPlanningTasksMapperDao.selectAllOverdueTaskQuantity();
|
|
@@ -165,7 +156,13 @@ public class EquOverhaulPlanningTasksServiceImpl extends ServiceImpl<EquOverhaul
|
|
|
TemplateExportParams params = new TemplateExportParams("template/大修任务超期未完成.xls",0);
|
|
|
Map<String, Object> dataMap = new HashMap<>(16);
|
|
|
List<Map<String,Object>> dataList = new ArrayList<>();
|
|
|
+ List<String> workShopUserIds = new ArrayList<>();
|
|
|
+ // 发送人
|
|
|
+ List<String> userId = new ArrayList<>();
|
|
|
for (EquOverhaulPlanningTasksVo equLubricationTaskDetailVo : tasksVos) {
|
|
|
+ if (StringUtils.isNotBlank(equLubricationTaskDetailVo.getEquipmentworkshopid())){
|
|
|
+ workShopUserIds.add("'"+equLubricationTaskDetailVo.getEquipmentworkshopid()+"'");
|
|
|
+ }
|
|
|
String taskStatus = "";
|
|
|
if (org.apache.commons.lang.StringUtils.isNotBlank(equLubricationTaskDetailVo.getTaskstatus())) {
|
|
|
taskStatus = taskByType.stream().filter(dictDo -> equLubricationTaskDetailVo.getTaskstatus().contains(dictDo.getValue()))
|
|
@@ -190,36 +187,19 @@ public class EquOverhaulPlanningTasksServiceImpl extends ServiceImpl<EquOverhaul
|
|
|
}
|
|
|
dataMap.put("list",dataList);
|
|
|
Workbook workbook = ExcelExportUtil.exportExcel(params,dataMap);
|
|
|
- // 生成临时文件路径并写入 Word 文档
|
|
|
- Path tempFile = Files.createTempFile(tempDir, "附件", ".xls");
|
|
|
- try (FileOutputStream outputStream = new FileOutputStream(tempFile.toString())) {
|
|
|
- workbook.write(outputStream);
|
|
|
+ //3数据填充生成文件
|
|
|
+ String fileItemId = ExcelUtils.workBookCommonUpload(workbook, PLANNING_TASK_FILE_NAME.split("\\.")[0], "."+ PLANNING_TASK_FILE_NAME.split("\\.")[1]);
|
|
|
+ List<String> useDeptRoleUserIds = commonDao.getRoleUserIds("'车间主任','车间维修主管'","so.id in ("+ workShopUserIds.stream().distinct().collect(Collectors.joining(","))+")");
|
|
|
+ List<String> factoryRoleUserIds = commonDao.getRoleUserIds("'设备部部门长','设备部维修主管'", "(so.FULLPID like '," + planningTasksVo.getTenantid() + "%' or so.ID='" + planningTasksVo.getTenantid() + "')");
|
|
|
+ if (useDeptRoleUserIds.size() > 0 && factoryRoleUserIds.size() > 0) {
|
|
|
+ userId = Stream.of(useDeptRoleUserIds, factoryRoleUserIds).flatMap(Collection::stream).distinct().collect(Collectors.toList());
|
|
|
+ } else if (useDeptRoleUserIds.size() == 0) {
|
|
|
+ userId = factoryRoleUserIds;
|
|
|
+ } else {
|
|
|
+ userId = useDeptRoleUserIds.stream().distinct().collect(Collectors.toList());
|
|
|
}
|
|
|
- BasicFileAttributes attributes = Files.readAttributes(tempFile, BasicFileAttributes.class);
|
|
|
- long sizeInBytes = attributes.size();
|
|
|
- System.out.println("xls文件已保存在 " + tempFile.toString());
|
|
|
- String tempFilePath = tempFile.toString();
|
|
|
- SysFileItemDo sysFileItemDo = new SysFileItemDo();
|
|
|
- sysFileItemDo.setId(SecurityUtil.getUUID());
|
|
|
- sysFileItemDo.setFilename("大修任务超期未完成");
|
|
|
- //文件大小
|
|
|
- sysFileItemDo.setFilesize(sizeInBytes);
|
|
|
- sysFileItemDo.setFiletype("xls");
|
|
|
- sysFileItemDo.setStoragetype("1");
|
|
|
- sysFileItemDo.setRelationid(planningTasksVo.getId());
|
|
|
- sysFileItemDo.setFullpath(tempFilePath);
|
|
|
- sysFileItemDo.setUrlpath(tempFilePath);
|
|
|
- sysFileItemDo.setExtends1("files");
|
|
|
- sysFileItemDo.setDeleted("0");
|
|
|
- sysFileItemDo.setCreatedate(DateUtil.date());
|
|
|
- sysFileItemDo.setCreateuserid("7144ec7b69484007a07f2542cc1d90c7");
|
|
|
- sysFileItemDo.setModifydate(DateUtil.date());
|
|
|
- sysFileItemDo.setModifyuserid("7144ec7b69484007a07f2542cc1d90c7");
|
|
|
- sysFileItemDo.setCreateusername("系统大修任务超期提醒");
|
|
|
- sysFileItemDo.setModifyusername("系统大修任务超期提醒");
|
|
|
- commonDao.insertFile(sysFileItemDo);
|
|
|
try {
|
|
|
- equipmentSendNotifyService.sendPlanningTasksNotify(planningTasksVo.getPlanyear(),planningTasksVo.getBelongfactory(),planningTasksVo.getTaskquantity(),sysFileItemDo.getId());
|
|
|
+ equipmentSendNotifyService.sendPlanningTasksNotify(planningTasksVo.getPlanyear(),planningTasksVo.getBelongfactory(),planningTasksVo.getTaskquantity(), fileItemId,userId);
|
|
|
}catch (Exception e){
|
|
|
ExceptionUtils.printExceptionDetail(e,"发送消息异常");
|
|
|
}
|
|
@@ -230,4 +210,4 @@ public class EquOverhaulPlanningTasksServiceImpl extends ServiceImpl<EquOverhaul
|
|
|
}
|
|
|
return R.ok();
|
|
|
}
|
|
|
-}
|
|
|
+}
|