修订数据导入校验问题;修复工单办结bug
This commit is contained in:
parent
6b5935f880
commit
0d443be4bc
@ -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导入模板");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 在转换异常 获取其他异常下会调用本接口。抛出异常则停止读取。如果这里不抛出异常则 继续读取下一行。
|
||||
*
|
||||
|
||||
@ -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);
|
||||
|
||||
@ -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;
|
||||
LocalDateTime localDateTime = dateTime.plusMinutes(105);
|
||||
ZoneId zoneId = ZoneId.systemDefault();
|
||||
String cron = quartzUtils.convertToCron(Date.from(localDateTime.atZone(zoneId).toInstant()));
|
||||
// 开始
|
||||
if (status == 0) {
|
||||
LocalDateTime localDateTime = dateTime.plusMinutes(105);
|
||||
ZoneId zoneId = ZoneId.systemDefault();
|
||||
String cron = quartzUtils.convertToCron(Date.from(localDateTime.atZone(zoneId).toInstant()));
|
||||
// 通过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);
|
||||
// 删除工单完结超时任务
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user