|
@@ -1,11 +1,10 @@
|
|
|
package com.rongwei.bscommon.sys.service.impl;
|
|
|
-import cn.hutool.core.io.resource.ClassPathResource;
|
|
|
+
|
|
|
import cn.hutool.json.JSONObject;
|
|
|
import cn.hutool.json.JSONUtil;
|
|
|
import com.alibaba.excel.EasyExcel;
|
|
|
import com.alibaba.excel.ExcelWriter;
|
|
|
import com.alibaba.excel.write.metadata.WriteSheet;
|
|
|
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
import com.rongwei.bscommon.sys.dao.CommonDao;
|
|
|
import com.rongwei.bscommon.sys.excel.EquLubricationTaskManagementTemplate;
|
|
|
import com.rongwei.bscommon.sys.excel.EquMaintenanceTaskTemplate;
|
|
@@ -28,7 +27,6 @@ import com.rongwei.rwcommonentity.commonservers.domain.SysFileItemDo;
|
|
|
import com.rongwei.safecommon.fegin.CXCommonFeginClient;
|
|
|
import com.rongwei.safecommon.utils.CXCommonUtils;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
-import org.apache.commons.fileupload.FileItem;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -37,13 +35,11 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
import java.io.ByteArrayOutputStream;
|
|
|
-import java.io.InputStream;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
import java.util.stream.Stream;
|
|
|
|
|
|
-import static com.rongwei.safecommon.utils.SaveConstans.FileName.DEVICE_REPEATEDLY_FAILS_FILE_NAME;
|
|
|
import static com.rongwei.safecommon.utils.SaveConstans.FileName.PLANNING_TASK_FILE_NAME;
|
|
|
import static com.rongwei.safecommon.utils.SaveConstans.NotifyContent.*;
|
|
|
import static com.rongwei.safecommon.utils.SaveConstans.NotifyTitle.*;
|
|
@@ -89,49 +85,54 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
|
|
|
/**
|
|
|
* 根据任务ID发送 提醒
|
|
|
*
|
|
|
- * @param id 保养任务ID
|
|
|
+ * @param ids 保养任务ID
|
|
|
* @return {@link R}
|
|
|
* @date 2024/1/18 17:16
|
|
|
* @author shangmi
|
|
|
*/
|
|
|
@Override
|
|
|
- public R maintainCreateTaskNotify(String id) {
|
|
|
- if (StringUtils.isBlank(id)) {
|
|
|
+ public R maintainCreateTaskNotify(String ids) {
|
|
|
+ if (StringUtils.isBlank(ids)) {
|
|
|
log.info("任务ID为空");
|
|
|
return R.ok();
|
|
|
}
|
|
|
- EquMaintenanceTaskDo maintenanceTaskDo = maintenanceTaskService.getById(id);
|
|
|
+ String[] idList = ids.split(",");
|
|
|
+ for (String id : idList) {
|
|
|
|
|
|
- if (null == maintenanceTaskDo) {
|
|
|
- log.info("无法通过id:{}获取到任务列表", id);
|
|
|
- return R.ok();
|
|
|
- }
|
|
|
|
|
|
- // 发送人
|
|
|
- List<String> userId = new ArrayList<>();
|
|
|
- if (maintenanceTaskDo.getPrincipalid() != null) {
|
|
|
- userId.addAll(Arrays.asList(maintenanceTaskDo.getPrincipalid().split(",")));
|
|
|
- }
|
|
|
- if (maintenanceTaskDo.getOtherengineersid() != null) {
|
|
|
- userId.addAll(Arrays.asList(maintenanceTaskDo.getOtherengineersid().split(",")));
|
|
|
- }
|
|
|
+ EquMaintenanceTaskDo maintenanceTaskDo = maintenanceTaskService.getById(id);
|
|
|
|
|
|
- if (userId.isEmpty()) {
|
|
|
- log.info("id为{}的任务无提醒人", id);
|
|
|
- return R.ok();
|
|
|
- }
|
|
|
- // 发送标题
|
|
|
- String title = MAINTAIN_SYSTEM_TITLE;
|
|
|
- // 发送内容
|
|
|
- String context = String.format(MAINTAIN_SYSTEM_CONTENT, maintenanceTaskDo.getPlanyear() + "-" + maintenanceTaskDo.getMonth(),
|
|
|
- maintenanceTaskDo.getWorkshop(), maintenanceTaskDo.getEquipmentname(), maintenanceTaskDo.getEquipmentnumber(),
|
|
|
- maintenanceTaskDo.getMaintenancesite(), maintenanceTaskDo.getPrincipal(), maintenanceTaskDo.getOtherengineers());
|
|
|
- //删除提醒
|
|
|
- CXCommonUtils.deleteSendNotify("maintain", id);
|
|
|
+ if (null == maintenanceTaskDo) {
|
|
|
+ log.info("无法通过id:{}获取到任务列表", id);
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+ // 发送人
|
|
|
+ List<String> userId = new ArrayList<>();
|
|
|
+ if (maintenanceTaskDo.getPrincipalid() != null) {
|
|
|
+ userId.addAll(Arrays.asList(maintenanceTaskDo.getPrincipalid().split(",")));
|
|
|
+ }
|
|
|
+ if (maintenanceTaskDo.getOtherengineersid() != null) {
|
|
|
+ userId.addAll(Arrays.asList(maintenanceTaskDo.getOtherengineersid().split(",")));
|
|
|
+ }
|
|
|
|
|
|
- //发送提醒
|
|
|
- CXCommonUtils.sendNotify(title, context, null, userId.stream().distinct().collect(Collectors.toList()),
|
|
|
- maintenanceTaskDo.getId(), MAINTAIN, false);
|
|
|
+ if (userId.isEmpty()) {
|
|
|
+ log.info("id为{}的任务无提醒人", id);
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+ // 发送标题
|
|
|
+ String title = MAINTAIN_SYSTEM_TITLE;
|
|
|
+ // 发送内容
|
|
|
+ String context = String.format(MAINTAIN_SYSTEM_CONTENT, maintenanceTaskDo.getPlanyear() + "-" + maintenanceTaskDo.getMonth(),
|
|
|
+ maintenanceTaskDo.getWorkshop(), maintenanceTaskDo.getEquipmentname(), maintenanceTaskDo.getEquipmentnumber(),
|
|
|
+ maintenanceTaskDo.getMaintenancesite(), maintenanceTaskDo.getPrincipal(), maintenanceTaskDo.getOtherengineers());
|
|
|
+ // 删除提醒
|
|
|
+ CXCommonUtils.deleteSendNotify("maintain", id);
|
|
|
+
|
|
|
+ // 发送提醒
|
|
|
+ CXCommonUtils.sendNotify(title, context, null, userId.stream().distinct().collect(Collectors.toList()),
|
|
|
+ maintenanceTaskDo.getId(), MAINTAIN, false);
|
|
|
+ }
|
|
|
return R.ok();
|
|
|
}
|
|
|
|
|
@@ -164,7 +165,7 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
|
|
|
maintenanceTaskDo.getMaintenancesite(), simpleDateFormat.format(maintenanceTaskDo.getTaskendtime()), maintenanceTaskDo.getPrincipal(),
|
|
|
maintenanceTaskDo.getOtherengineers());
|
|
|
|
|
|
- //删除提醒
|
|
|
+ // 删除提醒
|
|
|
CXCommonUtils.deleteSendNotify("maintain", id);
|
|
|
|
|
|
CXCommonUtils.sendNotify(ACCEPTANCE_SYSTEM_TITLE, context, null, userId.stream().distinct().collect(Collectors.toList()),
|
|
@@ -214,18 +215,18 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public void sendPlanningTasksNotify(String planyear, String belongfactory, Integer taskquantity, String taskId,List<String> userId,String fileItemId) {
|
|
|
+ public void sendPlanningTasksNotify(String planyear, String belongfactory, Integer taskquantity, String taskId, List<String> userId, String fileItemId) {
|
|
|
String notifyId = SecurityUtil.getUUID();
|
|
|
- String formatFileNameAndId = PLANNING_TASK_FILE_NAME+"-;-"+fileItemId;
|
|
|
+ String formatFileNameAndId = PLANNING_TASK_FILE_NAME + "-;-" + fileItemId;
|
|
|
CXCommonUtils.deleteSendNotify("mobilePlanningTask", null);
|
|
|
// 发送消息提醒
|
|
|
- CXCommonUtils.sendNotify(notifyId,PLANNING_TASK_TITLE,
|
|
|
- String.format(PLANNING_TASK_CONTENT, planyear, belongfactory, taskquantity),formatFileNameAndId
|
|
|
+ CXCommonUtils.sendNotify(notifyId, PLANNING_TASK_TITLE,
|
|
|
+ String.format(PLANNING_TASK_CONTENT, planyear, belongfactory, taskquantity), formatFileNameAndId
|
|
|
, userId.stream().distinct().collect(Collectors.toList()), taskId, MOBILE_PLANNING_TASK, true);
|
|
|
SysFileItemDo sysFileItemDo = new SysFileItemDo();
|
|
|
sysFileItemDo.setId(fileItemId);
|
|
|
sysFileItemDo.setRelationid(notifyId);
|
|
|
- sysFileItemDo.setFilename(StringUtil.insertSpecificCharacter(PLANNING_TASK_FILE_NAME,TimeUtils.formatDayNumeral(new Date())));
|
|
|
+ sysFileItemDo.setFilename(StringUtil.insertSpecificCharacter(PLANNING_TASK_FILE_NAME, TimeUtils.formatDayNumeral(new Date())));
|
|
|
sysFileItemDo.setModifydate(new Date());
|
|
|
sysFileItemDo.setModifyusername("系统操作");
|
|
|
sysFileItemDo.setModifyuserid("0");
|
|
@@ -271,7 +272,6 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 故障停机提醒
|
|
|
*
|
|
@@ -318,7 +318,7 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
|
|
|
*/
|
|
|
@Override
|
|
|
public R deviceRepeatedlyFailsNotify() {
|
|
|
- //查询维修单汇总数据:根据故障发生时间自动查询每个工厂近3个月内 (以本月在往前倒推三个月至当前时间)所有
|
|
|
+ // 查询维修单汇总数据:根据故障发生时间自动查询每个工厂近3个月内 (以本月在往前倒推三个月至当前时间)所有
|
|
|
// 除去 无需维修、已关闭 且 维修对象分类 为 档案设备、工装 的 维修任务记录中,
|
|
|
// 然后根据所属工厂、设备类型、发生部位 分组查询对应分组类型的 数量记录 中 > 1的记录
|
|
|
List<EquMaintenanceOrderSumDTO> list = equMaintenanceOrderService.selectOrderSummaryData();
|
|
@@ -326,12 +326,12 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
|
|
|
log.info("记录为空,则不生成附件,也不生成提醒信息");
|
|
|
return R.ok();
|
|
|
}
|
|
|
- //消息提醒id
|
|
|
+ // 消息提醒id
|
|
|
String noticeId = SecurityUtil.getUUID();
|
|
|
- //生成附件返回对象
|
|
|
+ // 生成附件返回对象
|
|
|
String fileNameAndId = equMaintenanceOrderService.generateDeviceRepeatedlyFailsExcel(list, noticeId);
|
|
|
|
|
|
- //3.消息提醒
|
|
|
+ // 3.消息提醒
|
|
|
// 3.1发送人 取车间维修主管、设备部部长、设备部维修主管 角色中所有人员
|
|
|
List<String> userId = equMaintenanceOrderService.selectRoleList();
|
|
|
if (userId.isEmpty()) {
|
|
@@ -347,55 +347,53 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* 保养/润滑跨月未完成提醒
|
|
|
*
|
|
|
* @return {@link R}
|
|
|
* @date 2024/1/30 15:08
|
|
|
* @author shangmi
|
|
|
- *
|
|
|
*/
|
|
|
@Override
|
|
|
public R previousUnfinishedTaskNotify() {
|
|
|
- //时间处理
|
|
|
+ // 时间处理
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
Date date = new Date();
|
|
|
calendar.setTime(date);
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
String newDate = simpleDateFormat.format(date);
|
|
|
- calendar.set(Calendar.MONTH,-12);
|
|
|
+ calendar.set(Calendar.MONTH, -12);
|
|
|
String oldDate = simpleDateFormat.format(calendar.getTime());
|
|
|
- //查询距近一年时间内未完成保养/润滑任务
|
|
|
- List<EquMaintenanceTaskDo> maintenanceTaskDoList = maintenanceTaskService.getListByTimeQuantum(newDate,oldDate);
|
|
|
+ // 查询距近一年时间内未完成保养/润滑任务
|
|
|
+ List<EquMaintenanceTaskDo> maintenanceTaskDoList = maintenanceTaskService.getListByTimeQuantum(newDate, oldDate);
|
|
|
List<EquLubricationTaskManagementDo> lubricationTaskManagementDoList = equLubricationTaskManagementService
|
|
|
- .getListByTimeQuantum(newDate,oldDate);
|
|
|
- if (maintenanceTaskDoList.size()+lubricationTaskManagementDoList.size()==0){
|
|
|
+ .getListByTimeQuantum(newDate, oldDate);
|
|
|
+ if (maintenanceTaskDoList.size() + lubricationTaskManagementDoList.size() == 0) {
|
|
|
return R.ok();
|
|
|
}
|
|
|
List<String> lubricationIds = lubricationTaskManagementDoList.stream().map(EquLubricationTaskManagementDo::getId).collect(Collectors.toList());
|
|
|
List<EquLubricationTaskDetailDo> lubricationTaskDetailDoList = lubricationTaskDetailService.getDetailByMasterId(lubricationIds);
|
|
|
|
|
|
- //删除提醒
|
|
|
- CXCommonUtils.deleteSendNotify(PREVIOUS_UNFINISHED_TASK,null);
|
|
|
- //遍历三个工厂 分别给每个工厂发送提醒
|
|
|
- for (PlantEnum plantEnum : PlantEnum.values()){
|
|
|
+ // 删除提醒
|
|
|
+ CXCommonUtils.deleteSendNotify(PREVIOUS_UNFINISHED_TASK, null);
|
|
|
+ // 遍历三个工厂 分别给每个工厂发送提醒
|
|
|
+ for (PlantEnum plantEnum : PlantEnum.values()) {
|
|
|
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
|
|
// String fileUrl="E:\\Desktop\\test.xlsx";
|
|
|
String plantId = plantEnum.getId();
|
|
|
- //赛选出该工厂保养任务信息
|
|
|
+ // 赛选出该工厂保养任务信息
|
|
|
List<EquMaintenanceTaskDo> maintenanceTaskList = maintenanceTaskDoList.stream()
|
|
|
.filter(info -> info.getTenantid().equals(plantId)).collect(Collectors.toList());
|
|
|
- //赛选出该工厂润滑任务信息
|
|
|
+ // 赛选出该工厂润滑任务信息
|
|
|
List<EquLubricationTaskManagementDo> lubricationTaskManagementList = lubricationTaskManagementDoList.stream()
|
|
|
.filter(info -> plantId.equals(info.getTenantid())).collect(Collectors.toList());
|
|
|
- //赛选出该工厂下的润滑任务信息
|
|
|
+ // 赛选出该工厂下的润滑任务信息
|
|
|
List<EquLubricationTaskDetailDo> lubricationTaskDetailList = lubricationTaskDetailDoList.stream()
|
|
|
.filter(info -> plantId.equals(info.getTenantid())).collect(Collectors.toList());
|
|
|
- if (maintenanceTaskList.size()+lubricationTaskDetailList.size()==0){
|
|
|
+ if (maintenanceTaskList.size() + lubricationTaskDetailList.size() == 0) {
|
|
|
continue;
|
|
|
}
|
|
|
- List<String> userIdList = extractUsersByTask(maintenanceTaskList, lubricationTaskManagementList,plantId);
|
|
|
+ List<String> userIdList = extractUsersByTask(maintenanceTaskList, lubricationTaskManagementList, plantId);
|
|
|
// 发送内容
|
|
|
String context = String.format(PREVIOUS_UNFINISHED_TASK_CONTENT,
|
|
|
plantEnum.getName(),
|
|
@@ -403,30 +401,32 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
|
|
|
lubricationTaskDetailList.size());
|
|
|
|
|
|
ExcelWriter excelWriter = EasyExcel.write(byteArrayOutputStream).build();
|
|
|
+ // ExcelWriter excelWriter = EasyExcel.write(fileUrl).build();
|
|
|
|
|
|
List<EquMaintenanceTaskTemplate> equMaintenanceTaskTemplates = maintainDeriveDate(plantEnum, maintenanceTaskList);
|
|
|
- List<EquLubricationTaskManagementTemplate> lubricationTaskManagementTemplates = lubricationDeriveDate(plantEnum,lubricationTaskManagementList,lubricationTaskDetailList);
|
|
|
- generateExcel(excelWriter,equMaintenanceTaskTemplates,lubricationTaskManagementTemplates,Boolean.TRUE);
|
|
|
+ List<EquLubricationTaskManagementTemplate> lubricationTaskManagementTemplates = lubricationDeriveDate(plantEnum, lubricationTaskManagementList, lubricationTaskDetailList);
|
|
|
+ generateExcel(excelWriter, equMaintenanceTaskTemplates, lubricationTaskManagementTemplates, Boolean.TRUE);
|
|
|
|
|
|
excelWriter.finish();
|
|
|
|
|
|
byte[] byteArray = byteArrayOutputStream.toByteArray();
|
|
|
|
|
|
- MultipartFile multipartFile = new MockMultipartFile("file", newDate+"-保养/润滑跨月未完成.xlsx" , "application/vnd.ms-excel", byteArray);
|
|
|
+ MultipartFile multipartFile = new MockMultipartFile("file", newDate + "-保养/润滑跨月未完成.xlsx", "application/vnd.ms-excel", byteArray);
|
|
|
|
|
|
- //消息提醒id
|
|
|
+ // 消息提醒id
|
|
|
String noticeId = SecurityUtil.getUUID();
|
|
|
|
|
|
- R upload = CXCommonUtils.upload(multipartFile,noticeId);
|
|
|
+ R upload = CXCommonUtils.upload(multipartFile, noticeId);
|
|
|
String fileItemId = "";
|
|
|
- if ("200".equals(upload.getCode())){
|
|
|
+ if ("200".equals(upload.getCode())) {
|
|
|
JSONObject jsonObject = JSONUtil.parseObj(upload.getData());
|
|
|
// Map<String,String> map = (Map<String, String>) JSON.parse(upload.getData().toString());
|
|
|
- fileItemId =jsonObject.get("filename").toString() + "-;-" + jsonObject.get("id").toString();;
|
|
|
+ fileItemId = jsonObject.get("filename").toString() + "-;-" + jsonObject.get("id").toString();
|
|
|
+ ;
|
|
|
}
|
|
|
|
|
|
|
|
|
- CXCommonUtils.sendNotify(noticeId,PREVIOUS_UNFINISHED_TASK_TITLE, context,plantId , userIdList.stream().distinct().collect(Collectors.toList()),
|
|
|
+ CXCommonUtils.sendNotify(noticeId, PREVIOUS_UNFINISHED_TASK_TITLE, context, plantId, userIdList.stream().distinct().collect(Collectors.toList()),
|
|
|
fileItemId, PREVIOUS_UNFINISHED_TASK, true);
|
|
|
}
|
|
|
|
|
@@ -436,44 +436,44 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
|
|
|
@Override
|
|
|
public R endUnfinishedTaskNotify() {
|
|
|
|
|
|
- //时间处理
|
|
|
+ // 时间处理
|
|
|
Calendar calendar = Calendar.getInstance();
|
|
|
Date date = new Date();
|
|
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
|
|
calendar.setTime(date);
|
|
|
String newDate = simpleDateFormat.format(date);
|
|
|
// int sky = calendar.get(Calendar.DAY_OF_MONTH)-1;
|
|
|
- calendar.set(Calendar.DAY_OF_MONTH,1);
|
|
|
+ calendar.set(Calendar.DAY_OF_MONTH, 1);
|
|
|
String oldDate = simpleDateFormat.format(calendar.getTime());
|
|
|
- //查询距近一年时间内未完成保养/润滑任务
|
|
|
- List<EquMaintenanceTaskDo> maintenanceTaskDoList = maintenanceTaskService.getListByTimeQuantum(newDate,oldDate);
|
|
|
+ // 查询距近一年时间内未完成保养/润滑任务
|
|
|
+ List<EquMaintenanceTaskDo> maintenanceTaskDoList = maintenanceTaskService.getListByTimeQuantum(newDate, oldDate);
|
|
|
List<EquLubricationTaskManagementDo> lubricationTaskManagementDoList = equLubricationTaskManagementService
|
|
|
- .getListByTimeQuantum(newDate,oldDate);
|
|
|
- if (maintenanceTaskDoList.size()+lubricationTaskManagementDoList.size()==0){
|
|
|
+ .getListByTimeQuantum(newDate, oldDate);
|
|
|
+ if (maintenanceTaskDoList.size() + lubricationTaskManagementDoList.size() == 0) {
|
|
|
return R.ok();
|
|
|
}
|
|
|
List<String> lubricationIds = lubricationTaskManagementDoList.stream().map(EquLubricationTaskManagementDo::getId).collect(Collectors.toList());
|
|
|
List<EquLubricationTaskDetailDo> lubricationTaskDetailDoList = lubricationTaskDetailService.getDetailByMasterId(lubricationIds);
|
|
|
- //删除提醒
|
|
|
- CXCommonUtils.deleteSendNotify(END_UNFINISHED_TASK,null);
|
|
|
- //遍历三个工厂 分别给每个工厂发送提醒
|
|
|
- for (PlantEnum plantEnum : PlantEnum.values()){
|
|
|
+ // 删除提醒
|
|
|
+ CXCommonUtils.deleteSendNotify(END_UNFINISHED_TASK, null);
|
|
|
+ // 遍历三个工厂 分别给每个工厂发送提醒
|
|
|
+ for (PlantEnum plantEnum : PlantEnum.values()) {
|
|
|
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
|
|
|
// String fileUrl="E:\\Desktop\\test.xlsx";
|
|
|
String plantId = plantEnum.getId();
|
|
|
- //赛选出该工厂保养任务信息
|
|
|
+ // 赛选出该工厂保养任务信息
|
|
|
List<EquMaintenanceTaskDo> maintenanceTaskList = maintenanceTaskDoList.stream()
|
|
|
.filter(info -> info.getTenantid().equals(plantId)).collect(Collectors.toList());
|
|
|
- //赛选出该工厂润滑任务信息
|
|
|
+ // 赛选出该工厂润滑任务信息
|
|
|
List<EquLubricationTaskManagementDo> lubricationTaskManagementList = lubricationTaskManagementDoList.stream()
|
|
|
.filter(info -> plantId.equals(info.getTenantid())).collect(Collectors.toList());
|
|
|
- //赛选出该工厂下的润滑任务信息
|
|
|
+ // 赛选出该工厂下的润滑任务信息
|
|
|
List<EquLubricationTaskDetailDo> lubricationTaskDetailList = lubricationTaskDetailDoList.stream()
|
|
|
.filter(info -> plantId.equals(info.getTenantid())).collect(Collectors.toList());
|
|
|
- if (maintenanceTaskList.size()+lubricationTaskDetailList.size()==0){
|
|
|
+ if (maintenanceTaskList.size() + lubricationTaskDetailList.size() == 0) {
|
|
|
continue;
|
|
|
}
|
|
|
- List<String> userIdList = extractUsersByTask(maintenanceTaskList, lubricationTaskManagementList,plantId);
|
|
|
+ List<String> userIdList = extractUsersByTask(maintenanceTaskList, lubricationTaskManagementList, plantId);
|
|
|
// 发送内容
|
|
|
String context = String.format(END_UNFINISHED_TASK_CONTENT,
|
|
|
newDate,
|
|
@@ -484,25 +484,26 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
|
|
|
ExcelWriter excelWriter = EasyExcel.write(byteArrayOutputStream).build();
|
|
|
|
|
|
List<EquMaintenanceTaskTemplate> equMaintenanceTaskTemplates = maintainDeriveDate(plantEnum, maintenanceTaskList);
|
|
|
- List<EquLubricationTaskManagementTemplate> lubricationTaskManagementTemplates = lubricationDeriveDate(plantEnum,lubricationTaskManagementList,lubricationTaskDetailList);
|
|
|
- generateExcel(excelWriter,equMaintenanceTaskTemplates,lubricationTaskManagementTemplates,Boolean.TRUE);
|
|
|
+ List<EquLubricationTaskManagementTemplate> lubricationTaskManagementTemplates = lubricationDeriveDate(plantEnum, lubricationTaskManagementList, lubricationTaskDetailList);
|
|
|
+ generateExcel(excelWriter, equMaintenanceTaskTemplates, lubricationTaskManagementTemplates, Boolean.TRUE);
|
|
|
|
|
|
excelWriter.finish();
|
|
|
|
|
|
byte[] byteArray = byteArrayOutputStream.toByteArray();
|
|
|
|
|
|
- MultipartFile multipartFile = new MockMultipartFile("file", newDate+"-保养/润滑月末未完成.xlsx" , "application/vnd.ms-excel", byteArray);
|
|
|
+ MultipartFile multipartFile = new MockMultipartFile("file", newDate + "-保养/润滑月末未完成.xlsx", "application/vnd.ms-excel", byteArray);
|
|
|
|
|
|
- //消息提醒id
|
|
|
+ // 消息提醒id
|
|
|
String noticeId = SecurityUtil.getUUID();
|
|
|
|
|
|
- R upload = CXCommonUtils.upload(multipartFile,noticeId);
|
|
|
+ R upload = CXCommonUtils.upload(multipartFile, noticeId);
|
|
|
String fileItemId = "";
|
|
|
- if ("200".equals(upload.getCode())){
|
|
|
+ if ("200".equals(upload.getCode())) {
|
|
|
JSONObject jsonObject = JSONUtil.parseObj(upload.getData());
|
|
|
- fileItemId =jsonObject.get("filename").toString() + "-;-" + jsonObject.get("id").toString();;
|
|
|
+ fileItemId = jsonObject.get("filename").toString() + "-;-" + jsonObject.get("id").toString();
|
|
|
+ ;
|
|
|
}
|
|
|
- CXCommonUtils.sendNotify(noticeId,END_UNFINISHED_TASK_TITLE, context, plantId, userIdList.stream().distinct().collect(Collectors.toList()),
|
|
|
+ CXCommonUtils.sendNotify(noticeId, END_UNFINISHED_TASK_TITLE, context, plantId, userIdList.stream().distinct().collect(Collectors.toList()),
|
|
|
fileItemId, END_UNFINISHED_TASK, true);
|
|
|
}
|
|
|
|
|
@@ -510,48 +511,45 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
* 润滑任务导出数据迁移
|
|
|
*
|
|
|
- * @param plantEnum 工厂
|
|
|
+ * @param plantEnum 工厂
|
|
|
* @param lubricationTaskManagementList 润滑主表
|
|
|
- * @param lubricationTaskDetailList 润滑明细(部位)
|
|
|
+ * @param lubricationTaskDetailList 润滑明细(部位)
|
|
|
* @return {@link List<EquLubricationTaskManagementTemplate>}
|
|
|
* @date 2024/1/31 16:55
|
|
|
* @author shangmi
|
|
|
- *
|
|
|
*/
|
|
|
|
|
|
private List<EquLubricationTaskManagementTemplate> lubricationDeriveDate(
|
|
|
PlantEnum plantEnum,
|
|
|
List<EquLubricationTaskManagementDo> lubricationTaskManagementList,
|
|
|
List<EquLubricationTaskDetailDo> lubricationTaskDetailList) {
|
|
|
- //模板数据
|
|
|
+ // 模板数据
|
|
|
List<EquLubricationTaskManagementTemplate> equLubricationTaskManagementTemplates = new ArrayList<>();
|
|
|
- //遍历主表
|
|
|
- for (EquLubricationTaskManagementDo lubricationTaskManagementDo : lubricationTaskManagementList){
|
|
|
+ // 遍历主表
|
|
|
+ for (EquLubricationTaskManagementDo lubricationTaskManagementDo : lubricationTaskManagementList) {
|
|
|
List<EquLubricationTaskDetailDo> lubricationTaskDetailDoList = lubricationTaskDetailList.stream()
|
|
|
.filter(info -> lubricationTaskManagementDo.getId().equals(info.getMasterid())).collect(Collectors.toList());
|
|
|
String[] split = lubricationTaskManagementDo.getTaskfrequency().split(",");
|
|
|
StringBuilder taskfrequency = new StringBuilder();
|
|
|
- //遍历润滑周期
|
|
|
+ // 遍历润滑周期
|
|
|
for (int i = 0; i < split.length; i++) {
|
|
|
taskfrequency.append(LubricationFrequencyEnum.massageOf(split[i]));
|
|
|
- if (i!=split.length-1){
|
|
|
+ if (i != split.length - 1) {
|
|
|
taskfrequency.append(',');
|
|
|
}
|
|
|
}
|
|
|
|
|
|
equLubricationTaskManagementTemplates.addAll(
|
|
|
- //遍历子表转移数据
|
|
|
- lubricationTaskDetailDoList.stream().map(info ->{
|
|
|
+ // 遍历子表转移数据
|
|
|
+ lubricationTaskDetailDoList.stream().map(info -> {
|
|
|
EquLubricationTaskManagementTemplate lubricationTaskTemplate = new EquLubricationTaskManagementTemplate();
|
|
|
- BeanUtils.copyProperties(lubricationTaskManagementDo,lubricationTaskTemplate);
|
|
|
- BeanUtils.copyProperties(info,lubricationTaskTemplate);
|
|
|
+ BeanUtils.copyProperties(lubricationTaskManagementDo, lubricationTaskTemplate);
|
|
|
+ BeanUtils.copyProperties(info, lubricationTaskTemplate);
|
|
|
lubricationTaskTemplate.setPlant(PlantEnum.nameOf(plantEnum.getId()));
|
|
|
- lubricationTaskTemplate.setIslubricationcompleted("y".equals(info.getIslubricationcompleted())?"是":"否");
|
|
|
+ lubricationTaskTemplate.setIslubricationcompleted("y".equals(info.getIslubricationcompleted()) ? "是" : "否");
|
|
|
lubricationTaskTemplate.setFrequency(taskfrequency.toString());
|
|
|
return lubricationTaskTemplate;
|
|
|
}).collect(Collectors.toList())
|
|
@@ -563,32 +561,31 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
|
|
|
/**
|
|
|
* 获得提醒用户ID
|
|
|
*
|
|
|
- * @param maintenanceTaskList 保养任务
|
|
|
- * @param lubricationTaskManagementList 润滑任务
|
|
|
+ * @param maintenanceTaskList 保养任务
|
|
|
+ * @param lubricationTaskManagementList 润滑任务
|
|
|
* @return {@link List<String>}
|
|
|
* @date 2024/1/31 11:32
|
|
|
* @author shangmi
|
|
|
- *
|
|
|
*/
|
|
|
|
|
|
public List<String> extractUsersByTask(List<EquMaintenanceTaskDo> maintenanceTaskList,
|
|
|
List<EquLubricationTaskManagementDo> lubricationTaskManagementList,
|
|
|
- String plantId){
|
|
|
+ String plantId) {
|
|
|
|
|
|
- //车间ID
|
|
|
+ // 车间ID
|
|
|
StringBuilder stringBuilder = new StringBuilder();
|
|
|
- //赛选出所以车间 并去重
|
|
|
+ // 赛选出所以车间 并去重
|
|
|
List<String> workshops = Stream.concat(maintenanceTaskList.stream().map(EquMaintenanceTaskDo::getWorkshopid),
|
|
|
lubricationTaskManagementList.stream().map(EquLubricationTaskManagementDo::getEquipmentworkshopid))
|
|
|
.distinct().collect(Collectors.toList());
|
|
|
- //拼接车间信息
|
|
|
+ // 拼接车间信息
|
|
|
for (int i = 0; i < workshops.size(); i++) {
|
|
|
stringBuilder.append("'").append(workshops.get(i)).append("'");
|
|
|
- if (i!= workshops.size()-1){
|
|
|
+ if (i != workshops.size() - 1) {
|
|
|
stringBuilder.append(",");
|
|
|
}
|
|
|
}
|
|
|
- //需接收提醒用户ID
|
|
|
+ // 需接收提醒用户ID
|
|
|
List<String> userIds = commonDao.getRoleUserIds(
|
|
|
"'车间主任','车间保养主管'", "so.ID IN (" + stringBuilder + ")"
|
|
|
);
|
|
@@ -605,44 +602,42 @@ public class EquipmentSendNotifyServiceImpl implements EquipmentSendNotifyServic
|
|
|
/**
|
|
|
* 为sheep页塞数据
|
|
|
*
|
|
|
- * @param excelWriter 表格
|
|
|
+ * @param excelWriter 表格
|
|
|
* @param equMaintenanceTaskTemplates
|
|
|
* @param lubricationTaskManagementTemplates
|
|
|
* @return
|
|
|
* @date 2024/1/31 16:58
|
|
|
* @author shangmi
|
|
|
- *
|
|
|
*/
|
|
|
|
|
|
public void generateExcel(
|
|
|
ExcelWriter excelWriter,
|
|
|
List<EquMaintenanceTaskTemplate> equMaintenanceTaskTemplates,
|
|
|
List<EquLubricationTaskManagementTemplate> lubricationTaskManagementTemplates,
|
|
|
- Boolean isTrue){
|
|
|
+ Boolean isTrue) {
|
|
|
|
|
|
- WriteSheet maintainSheet = EasyExcel.writerSheet(0, isTrue?"保养任务跨月未完成":"保养任务月末未完成")
|
|
|
+ WriteSheet maintainSheet = EasyExcel.writerSheet(0, isTrue ? "保养任务跨月未完成" : "保养任务月末未完成")
|
|
|
.head(EquMaintenanceTaskTemplate.class).build();
|
|
|
- WriteSheet lubricationSheet = EasyExcel.writerSheet(1, isTrue?"润滑任务跨月未完成":"润滑任务月末未完成")
|
|
|
+ WriteSheet lubricationSheet = EasyExcel.writerSheet(1, isTrue ? "润滑任务跨月未完成" : "润滑任务月末未完成")
|
|
|
.head(EquLubricationTaskManagementTemplate.class).build();
|
|
|
- excelWriter.write(equMaintenanceTaskTemplates,maintainSheet);
|
|
|
- excelWriter.write(lubricationTaskManagementTemplates,lubricationSheet);
|
|
|
+ excelWriter.write(equMaintenanceTaskTemplates, maintainSheet);
|
|
|
+ excelWriter.write(lubricationTaskManagementTemplates, lubricationSheet);
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 保养任务导出数据迁移
|
|
|
*
|
|
|
- * @param plantEnum 工厂枚举
|
|
|
+ * @param plantEnum 工厂枚举
|
|
|
* @param maintenanceTaskList 任务数据
|
|
|
* @return {@link List<EquMaintenanceTaskTemplate>}
|
|
|
* @date 2024/1/31 15:49
|
|
|
* @author shangmi
|
|
|
- *
|
|
|
*/
|
|
|
|
|
|
- public List<EquMaintenanceTaskTemplate> maintainDeriveDate(PlantEnum plantEnum, List<EquMaintenanceTaskDo> maintenanceTaskList){
|
|
|
- return maintenanceTaskList.stream().map(info ->{
|
|
|
+ public List<EquMaintenanceTaskTemplate> maintainDeriveDate(PlantEnum plantEnum, List<EquMaintenanceTaskDo> maintenanceTaskList) {
|
|
|
+ return maintenanceTaskList.stream().map(info -> {
|
|
|
EquMaintenanceTaskTemplate equMaintenanceTaskTemplate = new EquMaintenanceTaskTemplate();
|
|
|
- BeanUtils.copyProperties(info,equMaintenanceTaskTemplate);
|
|
|
+ BeanUtils.copyProperties(info, equMaintenanceTaskTemplate);
|
|
|
|
|
|
equMaintenanceTaskTemplate.setPlant(plantEnum.getName());
|
|
|
equMaintenanceTaskTemplate.setMaintenancetype(MaintenanceTypeEnum.messageOf(info.getMaintenancetype()));
|