修订数据导入校验问题;修复工单办结bug

This commit is contained in:
DB 2024-02-04 16:10:43 +08:00
parent 6b5935f880
commit 0d443be4bc
3 changed files with 27 additions and 11 deletions

View File

@ -4,8 +4,11 @@ import cn.hutool.core.util.IdUtil;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.exception.ExcelDataConvertException;
import com.alibaba.excel.metadata.data.ReadCellData;
import com.alibaba.excel.read.listener.ReadListener;
import com.alibaba.excel.util.ConverterUtils;
import com.alibaba.excel.util.ListUtils;
import com.alibaba.fastjson.JSON;
import com.cpop.api.tencent.wxWork.handler.WebHookSendHandler;
import com.cpop.common.utils.StringUtils;
import com.cpop.common.utils.bean.BeanUtils;
@ -50,6 +53,7 @@ import java.time.LocalDate;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.concurrent.locks.Lock;
import static com.alibaba.excel.cache.Ehcache.BATCH_COUNT;
@ -196,6 +200,9 @@ public class DataImportServiceImpl extends ServiceImpl<DataImportMapper, DataImp
if (StringUtils.isBlank(dataImportDto.getBillingType())) {
throw new ServiceException(String.format("第%s行课卡类型不为暂无时计费类型不能为空请核实", analysisContext.readRowHolder().getRowIndex() + 1));
} else {
if (StringUtils.equals(dataImportDto.getBillingType(), "限时卡")){
dataImportDto.setBillingType("时限卡");
}
if (!StringUtils.equals(dataImportDto.getBillingType(), "时限卡")){
//首充课时
if (dataImportDto.getFirstChargePeriod() == null || dataImportDto.getFirstChargePeriod() <= 0) {
@ -259,6 +266,16 @@ public class DataImportServiceImpl extends ServiceImpl<DataImportMapper, DataImp
}
/**
* 这里会一行行的返回头
*/
@Override
public void invokeHead(Map<Integer, ReadCellData<?>> headMap, AnalysisContext context) {
if (!StringUtils.equals(headMap.get(15).getStringValue(), "停卡缓冲天数")) {
throw new ServiceException("模板错误请使用Oam导入模板");
}
}
/**
* 在转换异常 获取其他异常下会调用本接口抛出异常则停止读取如果这里不抛出异常则 继续读取下一行
*

View File

@ -266,14 +266,13 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
String taskRating = task.getTaskRating();
LocalDate now = LocalDate.now();
String dictValue = DictUtils.getDictValue(OAM_TASK_RATING, taskRating);
task.setExpectedCompletionDate(now.plusDays(Integer.parseInt(dictValue.split(",")[1])));
task.setExpectedCompletionDate(now.plusDays(Integer.parseInt(dictValue.split(",")[1]) - 1));
}
// 获取当前用户
JSONObject loginUser = SecurityUtils.getInstance().getLoginUserInfo();
if (!Constants.SUPER_ADMIN.equals(loginUser.getString("userName"))) {
// 获取当前员工
Staff staff = SpringUtils.getBean(StaffService.class)
.getOne(QueryWrapper.create().where(STAFF.USER_ID.eq(loginUser.getString("userId"))));
Staff staff = SpringUtils.getBean(StaffService.class).getOne(QueryWrapper.create().where(STAFF.USER_ID.eq(loginUser.getString("userId"))));
task.setResponsibleStaffId(staff.getId());
}
this.updateById(task);
@ -283,8 +282,7 @@ public class TaskServiceImpl extends ServiceImpl<TaskMapper, Task> implements Ta
SpringUtils.getBean(TaskStaffGroupService.class).save(taskStaffGroup);
// 通知所有人
try {
SpringUtils.getBean(WebHookSendHandler.class)
.webHookSendText(WebHookKeyConstant.PRODUCT_BOT,
SpringUtils.getBean(WebHookSendHandler.class).webHookSendText(WebHookKeyConstant.PRODUCT_BOT,
Collections.singletonList(loginUser.getString("phoneNumber")),
"==========任务领取==========" + "\n" + task.getTaskContent(),
false);

View File

@ -332,11 +332,11 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
QuartzUtils quartzUtils = SpringUtils.getBean(QuartzUtils.class);
try {
QuartzEnums acceptEnums = QuartzEnums.WORK_ORDER_FINISH_OVERTIME_REMIND_TASK;
// 开始
if (status == 0) {
LocalDateTime localDateTime = dateTime.plusMinutes(105);
ZoneId zoneId = ZoneId.systemDefault();
String cron = quartzUtils.convertToCron(Date.from(localDateTime.atZone(zoneId).toInstant()));
// 开始
if (status == 0) {
// 通过JobBuilder构建JobDetail实例JobDetail规定其job只能是实现Job接口的实例
JobDetail jobDetail = JobBuilder.newJob(WorkOrderFinishOverTimeRemindTask.class)
.withIdentity(acceptEnums.getName() + workOrderId, acceptEnums.getGroup())
@ -350,6 +350,9 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
.build();
scheduler.scheduleJob(jobDetail, cronTrigger);
} else if (status == 1) {
LocalDateTime localDateTime = dateTime.plusMinutes(105);
ZoneId zoneId = ZoneId.systemDefault();
String cron = quartzUtils.convertToCron(Date.from(localDateTime.atZone(zoneId).toInstant()));
//修改
quartzUtils.modifyJob(acceptEnums.getName() + workOrderId, QuartzEnums.WORK_ORDER_OVERTIME_TASK.getGroup(), cron);
} else {
@ -756,9 +759,7 @@ public class TaskWorkOrderServiceImpl extends ServiceImpl<TaskWorkOrderMapper, T
}
// 删除工单完结超时任务
try {
SpringUtils.getBean(QuartzUtils.class)
.deleteJob(QuartzEnums.WORK_ORDER_OVERTIME_TASK.getName() + workOrderId,
QuartzEnums.WORK_ORDER_OVERTIME_TASK.getGroup());
SpringUtils.getBean(QuartzUtils.class).deleteJob(QuartzEnums.WORK_ORDER_OVERTIME_TASK.getName() + workOrderId, QuartzEnums.WORK_ORDER_OVERTIME_TASK.getGroup());
// 删除工单暂停恢复任务
startOrRemoveWorkOrderPauseRecover(workOrderId, false, null);
// 删除工单完结超时任务