修改工单类型bug
This commit is contained in:
@@ -71,7 +71,7 @@ public class InspectionTaskDetailVo implements Serializable {
|
||||
* 巡检计划text
|
||||
*/
|
||||
@ExcelProperty(value = " 巡检计划text")
|
||||
private Long planText;
|
||||
private String planText;
|
||||
|
||||
/**
|
||||
* 巡检点id
|
||||
@@ -82,7 +82,7 @@ public class InspectionTaskDetailVo implements Serializable {
|
||||
* 巡检点text
|
||||
*/
|
||||
@ExcelProperty(value = "巡检点text")
|
||||
private Long pointText;
|
||||
private String pointText;
|
||||
|
||||
/**
|
||||
* 签到类型(1.现场拍照、2.摄像头签到、3.现场扫码)
|
||||
|
@@ -35,6 +35,11 @@ public class InspectionTaskVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "主键id")
|
||||
private Long id;
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
@ExcelProperty(value = "任务名称")
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 巡检计划id
|
||||
|
@@ -111,8 +111,9 @@ public class TbRoomVo implements Serializable {
|
||||
/**
|
||||
* 状态('空置','已售','已租','自用')
|
||||
*/
|
||||
@ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
|
||||
@ExcelDictFormat(readConverterExp = "'=空置','已售','已租','自用'")
|
||||
// @ExcelProperty(value = "状态", converter = ExcelDictConvert.class)
|
||||
@ExcelProperty(value = "状态")
|
||||
//@ExcelDictFormat(readConverterExp = "'=空置','已售','已租','自用'")
|
||||
private Integer status;
|
||||
|
||||
@Translation(type = TransConstant.DICT_TYPE_TO_LABEL, mapper = "status", other = "wy_fjzt")
|
||||
|
@@ -228,7 +228,7 @@ public class InspectionPlanServiceImpl implements IInspectionPlanService {
|
||||
if (DateUtil.isIn(today, startDate, endDate) && inspectionDayList.contains(day)) {
|
||||
InspectionTask task = new InspectionTask();
|
||||
task.setInspectionPlanId(p.getId());
|
||||
task.setTaskName(plan.getPlanName()+"的任务");
|
||||
task.setTaskName(plan.getPlanName() + "的任务");
|
||||
task.setTaskType(plan.getSignType());
|
||||
task.setPlanInsTime(startDate + "~" + p.getEndTime());
|
||||
task.setTenantId(plan.getTenantId());
|
||||
@@ -258,38 +258,35 @@ public class InspectionPlanServiceImpl implements IInspectionPlanService {
|
||||
staffQueryWrapper.eq(InspectionPlanStaff::getInspectionPlanId, plan.getId());
|
||||
//查询该计划巡查人员
|
||||
List<InspectionPlanStaffVo> inspectionPlanStaffVos = inspectionPlanStaffMapper.selectVoList(staffQueryWrapper);
|
||||
// 使用Optional安全处理可能为null的对象
|
||||
Optional.ofNullable(plan).ifPresent(p -> {
|
||||
DateTime today = DateUtil.date();
|
||||
DateTime startDate = DateUtil.date(plan.getStartDate());
|
||||
DateTime endDate = DateUtil.date(plan.getEndDate());
|
||||
String week = String.valueOf(DateUtil.dayOfWeek(DateUtil.date()));
|
||||
List<String> inspectionWorkdayList = Arrays.asList(p.getInspectionWorkday().split(","));
|
||||
if (DateUtil.isIn(today, startDate, endDate) && inspectionWorkdayList.contains(week)) {
|
||||
InspectionTask task = new InspectionTask();
|
||||
task.setInspectionPlanId(p.getId());
|
||||
task.setInspectionPlanId(p.getId());
|
||||
task.setTaskType(plan.getSignType());
|
||||
task.setTaskName(plan.getPlanName()+"的任务");
|
||||
task.setPlanInsTime(startDate + "~" + p.getEndTime());
|
||||
task.setTenantId(plan.getTenantId());
|
||||
task.setStatus("0");
|
||||
if (CollectionUtil.isNotEmpty(inspectionPlanStaffVos)) {
|
||||
String userIds = inspectionPlanStaffVos.stream().map(vo -> vo.getUserId().toString()).collect(Collectors.joining(","));
|
||||
DateTime today = DateUtil.date();
|
||||
DateTime startDate = DateUtil.date(plan.getStartDate());
|
||||
DateTime endDate = DateUtil.date(plan.getEndDate());
|
||||
String week = String.valueOf(DateUtil.dayOfWeek(DateUtil.date()));
|
||||
List<String> inspectionWorkdayList = Arrays.asList(plan.getInspectionWorkday().split(","));
|
||||
if (DateUtil.isIn(today, startDate, endDate) && inspectionWorkdayList.contains(week)) {
|
||||
InspectionTask task = new InspectionTask();
|
||||
task.setInspectionPlanId(plan.getId());
|
||||
task.setInspectionPlanId(plan.getId());
|
||||
task.setTaskType(plan.getSignType());
|
||||
task.setTaskName(plan.getPlanName() + "的任务");
|
||||
task.setPlanInsTime(startDate + "~" + plan.getEndTime());
|
||||
task.setTenantId(plan.getTenantId());
|
||||
task.setStatus("0");
|
||||
if (CollectionUtil.isNotEmpty(inspectionPlanStaffVos)) {
|
||||
String userIds = inspectionPlanStaffVos.stream().map(vo -> vo.getUserId().toString()).collect(Collectors.joining(","));
|
||||
|
||||
String userNames = inspectionPlanStaffVos.stream().map(InspectionPlanStaffVo::getUserName).collect(Collectors.joining(","));
|
||||
task.setPlanUserId(userIds);
|
||||
task.setPlanUserName(userNames);
|
||||
} else {
|
||||
task.setPlanUserId("");
|
||||
task.setPlanUserName("");
|
||||
}
|
||||
boolean b = inspectionTaskMapper.insert(task) > 0;
|
||||
if (b) {
|
||||
createTaskDetail(task, plan);
|
||||
}
|
||||
String userNames = inspectionPlanStaffVos.stream().map(InspectionPlanStaffVo::getUserName).collect(Collectors.joining(","));
|
||||
task.setPlanUserId(userIds);
|
||||
task.setPlanUserName(userNames);
|
||||
} else {
|
||||
task.setPlanUserId("");
|
||||
task.setPlanUserName("");
|
||||
}
|
||||
});
|
||||
boolean b = inspectionTaskMapper.insert(task) > 0;
|
||||
if (b) {
|
||||
createTaskDetail(task, plan);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -7,6 +7,7 @@ import cn.hutool.core.lang.Assert;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import org.apache.commons.beanutils.BeanMap;
|
||||
import org.apache.dubbo.config.annotation.DubboReference;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
@@ -30,6 +31,7 @@ import org.dromara.property.domain.vo.mobile.MServiceWorkOrdersRecordVo;
|
||||
import org.dromara.property.domain.vo.mobile.MServiceWorkOrdersVo;
|
||||
import org.dromara.property.mapper.*;
|
||||
import org.dromara.property.mapper.attendanceMapper.AttendanceUserGroupMapper;
|
||||
import org.dromara.system.api.RemoteUserService;
|
||||
import org.dromara.system.api.model.LoginUser;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.property.domain.bo.InspectionTaskDetailBo;
|
||||
@@ -60,7 +62,8 @@ public class InspectionTaskDetailServiceImpl implements IInspectionTaskDetailSer
|
||||
private final ServiceWorkOrdersMapper serviceWorkOrdersMapper;
|
||||
private final ServiceWorkOrdersRecordMapper workOrdersRecordMapper;
|
||||
private final AttendanceUserGroupMapper attendanceUserGroupMapper;
|
||||
|
||||
@DubboReference
|
||||
private RemoteUserService remoteUserService;
|
||||
/**
|
||||
* 查询巡检明细
|
||||
*
|
||||
@@ -84,35 +87,49 @@ public class InspectionTaskDetailServiceImpl implements IInspectionTaskDetailSer
|
||||
LambdaQueryWrapper<InspectionTaskDetail> lqw = buildQueryWrapper(bo);
|
||||
Page<InspectionTaskDetailVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
if (CollUtil.isNotEmpty(result.getRecords())) {
|
||||
// //收集任务id为list
|
||||
// List<Long> taskIds = result.getRecords().stream().map(InspectionTaskDetailVo::getTaskId).toList();
|
||||
// //收集任务为map id和名称
|
||||
// Map<Long, String> taskNameMap = inspectionTaskMapper.selectVoByIds(taskIds).stream()
|
||||
// .collect(Collectors.toMap(InspectionTaskVo::getId, InspectionTaskVo::getPlanName));
|
||||
// //收集路线id为list
|
||||
// List<Long> routeIds = result.getRecords().stream().map(InspectionTaskDetailVo::getRouteId).toList();
|
||||
// //收集任务为map id和名称
|
||||
// Map<Long, String> routeNameMap = inspectionRouteMapper.selectVoByIds(routeIds).stream()
|
||||
// .collect(Collectors.toMap(InspectionRouteVo::getId, InspectionRouteVo::getRouteName));
|
||||
// //收集路线列表
|
||||
// List<InspectionRouteVo> inspectionRoutes = inspectionRouteMapper.selectVoByIds(routeIds);
|
||||
// //收集计划id为list
|
||||
// List<Long> planIds = result.getRecords().stream().map(InspectionTaskDetailVo::getPlanId).toList();
|
||||
// //收集计划列表
|
||||
// Map<Long, String> planNameMap = inspectionPlanMapper.selectVoByIds(routeIds).stream()
|
||||
// .collect(Collectors.toMap(InspectionPlanVo::getId, InspectionPlanVo::getPlanName));
|
||||
// //巡检点id为list
|
||||
// List<Long> pointIds = result.getRecords().stream().map(InspectionTaskDetailVo::getPointId).toList();
|
||||
//收集任务id为list
|
||||
List<Long> taskIds = result.getRecords().stream().map(InspectionTaskDetailVo::getTaskId).toList();
|
||||
//收集任务为map id和名称
|
||||
Map<Long, String> taskNameMap = inspectionTaskMapper.selectVoByIds(taskIds).stream()
|
||||
.collect(Collectors.toMap(InspectionTaskVo::getId, InspectionTaskVo::getTaskName));
|
||||
//收集路线id为list
|
||||
List<Long> routeIds = result.getRecords().stream().map(InspectionTaskDetailVo::getRouteId).toList();
|
||||
//收集任务为map id和名称
|
||||
Map<Long, String> routeNameMap = inspectionRouteMapper.selectVoByIds(routeIds).stream()
|
||||
.collect(Collectors.toMap(InspectionRouteVo::getId, InspectionRouteVo::getRouteName));
|
||||
//收集计划id为list
|
||||
List<Long> planIds = result.getRecords().stream().map(InspectionTaskDetailVo::getPlanId).toList();
|
||||
//收集计划列表
|
||||
Map<Long, String> planNameMap = inspectionPlanMapper.selectVoByIds(planIds).stream()
|
||||
.collect(Collectors.toMap(InspectionPlanVo::getId, InspectionPlanVo::getPlanName));
|
||||
//巡检点id为list
|
||||
List<Long> pointIds = result.getRecords().stream().map(InspectionTaskDetailVo::getPointId).toList();
|
||||
//巡检点列表
|
||||
Map<Long, String> pointNameMap = inspectionPointMapper.selectVoByIds(pointIds).stream()
|
||||
.collect(Collectors.toMap(InspectionPointVo::getId, InspectionPointVo::getPointName));
|
||||
result.getRecords().stream().forEach(vo -> {
|
||||
disposeData(vo);
|
||||
disposeData(vo,taskNameMap,routeNameMap,planNameMap,pointNameMap);
|
||||
});
|
||||
}
|
||||
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
private void disposeData(InspectionTaskDetailVo vo) {
|
||||
|
||||
private void disposeData(InspectionTaskDetailVo vo,Map<Long, String> taskNameMap,Map<Long, String> routeNameMap, Map<Long, String> planNameMap,Map<Long, String> pointNameMap ) {
|
||||
vo.setTaskText(taskNameMap.get(vo.getTaskId()));
|
||||
vo.setRouteText(routeNameMap.get(vo.getRouteId()));
|
||||
vo.setPlanText(planNameMap.get(vo.getPlanId()));
|
||||
vo.setPointText(pointNameMap.get(vo.getPointId()));
|
||||
// if(ObjectUtil.isNotEmpty( vo.getPlanInspectionPersonText() )){
|
||||
// //以,切割拼接成
|
||||
// String[] split = vo.getPlanInspectionPersonText().split(",");
|
||||
// remoteUserService.selectNicknameById(Long.valueOf(vo.getPlanInspectionPerson()));
|
||||
// vo.setPlanInspectionPersonText( )
|
||||
// }
|
||||
// if(ObjectUtil.isNotEmpty(vo.setActualInspectionPerson())){
|
||||
//
|
||||
// vo.setActualInspectionPersonText();
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -346,6 +363,9 @@ public class InspectionTaskDetailServiceImpl implements IInspectionTaskDetailSer
|
||||
serviceWorkOrders.setProcessingWeight(serviceWorkOrdersType.getProcessingWeight());
|
||||
serviceWorkOrders.setType(serviceWorkOrdersType.getId());
|
||||
serviceWorkOrders.setLocation(bo.getInspectionLocation());
|
||||
Date originalDate = new Date(); // 当前时间
|
||||
Date newDate = DateUtil.offsetHour(originalDate, serviceWorkOrdersType.getCompletionNumber());
|
||||
serviceWorkOrders.setPlanCompleTime(newDate);
|
||||
boolean flag = serviceWorkOrdersMapper.insert(serviceWorkOrders) > 0;
|
||||
if (flag) {
|
||||
bo.setId(serviceWorkOrders.getId());
|
||||
@@ -358,6 +378,10 @@ public class InspectionTaskDetailServiceImpl implements IInspectionTaskDetailSer
|
||||
if (serviceWorkOrdersType.getOperationMode().equals(OrderTypeOperationEnum.AUTOMATE_DISPATCH.getValue())) {
|
||||
handleServiceWorkOrder(serviceWorkOrders, serviceWorkOrdersType, bo);
|
||||
}
|
||||
//修改巡检明细接口绑定工单id
|
||||
InspectionTaskDetail update = BeanUtil.copyProperties(bo, InspectionTaskDetail.class);
|
||||
update.setOrderId(serviceWorkOrders.getId());
|
||||
baseMapper.updateById(update);
|
||||
}
|
||||
}
|
||||
return flag;
|
||||
@@ -411,10 +435,6 @@ public class InspectionTaskDetailServiceImpl implements IInspectionTaskDetailSer
|
||||
// 5. 更新工单
|
||||
serviceWorkOrders.setDispatchTime(new Date());
|
||||
serviceWorkOrdersMapper.updateById(serviceWorkOrders);
|
||||
//修改巡检明细接口
|
||||
InspectionTaskDetail inspectionTaskDetail = baseMapper.selectById(bo.getId());
|
||||
inspectionTaskDetail.setOrderId(serviceWorkOrders.getId());
|
||||
baseMapper.updateById(inspectionTaskDetail);
|
||||
log.info("成功派单,工单号:{}", serviceWorkOrders.getOrderNo());
|
||||
}
|
||||
}
|
||||
|
@@ -228,6 +228,9 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
add.setStatus(WorkOrderStatusEnum.CREATE_ORDER.getValue());
|
||||
add.setInitiatorPeople(user.getNickname());
|
||||
add.setProcessingWeight(serviceWorkOrdersType.getProcessingWeight());
|
||||
Date originalDate = new Date(); // 当前时间
|
||||
Date newDate = DateUtil.offsetHour(originalDate, serviceWorkOrdersType.getCompletionNumber());
|
||||
add.setPlanCompleTime(newDate);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
@@ -332,11 +335,21 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
ordersLambdaQueryWrapper.eq(ServiceWorkOrdersRecord::getStatus, entity.getStatus());
|
||||
boolean exists = workOrdersRecordMapper.exists(ordersLambdaQueryWrapper);
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
ServiceWorkOrdersRecord serviceWorkOrdersRecord = new ServiceWorkOrdersRecord();
|
||||
serviceWorkOrdersRecord.setOrderId(entity.getId());
|
||||
serviceWorkOrdersRecord.setStatus(entity.getStatus());
|
||||
serviceWorkOrdersRecord.setHandler(entity.getHandler());
|
||||
workOrdersRecordMapper.insert(serviceWorkOrdersRecord);
|
||||
if (!exists) {
|
||||
ServiceWorkOrdersRecord serviceWorkOrdersRecord = new ServiceWorkOrdersRecord();
|
||||
serviceWorkOrdersRecord.setOrderId(entity.getId());
|
||||
serviceWorkOrdersRecord.setStatus(entity.getStatus());
|
||||
serviceWorkOrdersRecord.setHandler(entity.getHandler());
|
||||
boolean b = workOrdersRecordMapper.insert(serviceWorkOrdersRecord) > 0;
|
||||
if (b) {
|
||||
if (serviceWorkOrdersRecord.getStatus().equals(WorkOrderStatusEnum.DONE.getValue())) {
|
||||
entity.setCompleTime(new Date());
|
||||
entity.setIsTimeOut( DateUtil.compare(new Date(), entity.getPlanCompleTime())>0?"1":"0");
|
||||
baseMapper.updateById(entity);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -594,6 +607,9 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
add.setReportingType(OrderReportingTypeEnum.PHONE_REPORT.getValue());
|
||||
add.setProcessingWeight(serviceWorkOrdersType.getProcessingWeight());
|
||||
add.setInitiatorPeople(user.getNickname());
|
||||
Date originalDate = new Date(); // 当前时间
|
||||
Date newDate = DateUtil.offsetHour(originalDate, serviceWorkOrdersType.getCompletionNumber());
|
||||
add.setPlanCompleTime(newDate);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
|
Reference in New Issue
Block a user