This commit is contained in:
@@ -47,7 +47,7 @@ public class ServiceWorkOrders extends TenantEntity {
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private Integer status;
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 派单时间
|
||||
@@ -55,15 +55,19 @@ public class ServiceWorkOrders extends TenantEntity {
|
||||
private Date dispatchTime;
|
||||
|
||||
/**
|
||||
* 发起人姓名
|
||||
* 发起人
|
||||
*/
|
||||
private String initiatorName;
|
||||
private long initiatorPeople;
|
||||
|
||||
|
||||
/**
|
||||
* 处理人姓名
|
||||
*/
|
||||
private String handler;
|
||||
private long handler;
|
||||
/**
|
||||
* 抄送人
|
||||
*/
|
||||
private long ccPeople;
|
||||
|
||||
/**
|
||||
* 地址
|
||||
@@ -88,17 +92,7 @@ public class ServiceWorkOrders extends TenantEntity {
|
||||
/**
|
||||
* 是否超时
|
||||
*/
|
||||
private Integer isTimeOut;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
private Long createById;
|
||||
|
||||
/**
|
||||
* 更新人id
|
||||
*/
|
||||
private Long updateById;
|
||||
private String isTimeOut;
|
||||
|
||||
|
||||
}
|
||||
|
@@ -0,0 +1,45 @@
|
||||
package org.dromara.property.domain;
|
||||
|
||||
import org.dromara.common.tenant.core.TenantEntity;
|
||||
import com.baomidou.mybatisplus.annotation.*;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
/**
|
||||
* 工单接单记录对象 service_work_orders_record
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-21
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("service_work_orders_record")
|
||||
public class ServiceWorkOrdersRecord extends TenantEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@TableId(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 工单id
|
||||
*/
|
||||
private Long orderId;
|
||||
|
||||
|
||||
/**
|
||||
* 状态(0创建工单,1已派单2已抢单3处理中,4已完成)
|
||||
*/
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 处理人
|
||||
*/
|
||||
private Long handler;
|
||||
}
|
@@ -57,16 +57,6 @@ public class ServiceWorkOrdersType extends TenantEntity {
|
||||
*/
|
||||
private Integer isTransfers;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
private Long createById;
|
||||
|
||||
/**
|
||||
* 更新人id
|
||||
*/
|
||||
private Long updateById;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
|
@@ -46,7 +46,7 @@ public class ServiceWorkOrdersBo extends BaseEntity {
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
private Integer status;
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 派单时间
|
||||
@@ -62,7 +62,7 @@ public class ServiceWorkOrdersBo extends BaseEntity {
|
||||
/**
|
||||
* 处理人姓名
|
||||
*/
|
||||
private String handler;
|
||||
private Long handler;
|
||||
|
||||
/**
|
||||
* 地址
|
||||
@@ -87,18 +87,6 @@ public class ServiceWorkOrdersBo extends BaseEntity {
|
||||
/**
|
||||
* 是否超时
|
||||
*/
|
||||
private Integer isTimeOut;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
private Long createById;
|
||||
|
||||
/**
|
||||
* 更新人id
|
||||
*/
|
||||
private Long updateById;
|
||||
|
||||
|
||||
private String isTimeOut;
|
||||
|
||||
}
|
||||
|
@@ -0,0 +1,53 @@
|
||||
package org.dromara.property.domain.bo;
|
||||
|
||||
import org.dromara.property.domain.ServiceWorkOrdersRecord;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
import jakarta.validation.constraints.*;
|
||||
|
||||
/**
|
||||
* 工单接单记录业务对象 service_work_orders_record
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-21
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = ServiceWorkOrdersRecord.class, reverseConvertGenerate = false)
|
||||
public class ServiceWorkOrdersRecordBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@NotNull(message = "id不能为空", groups = { EditGroup.class })
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 工单id
|
||||
*/
|
||||
@NotBlank(message = "工单id不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private long orderId;
|
||||
|
||||
/**
|
||||
* 状态(0创建工单,1已派单2已抢单3处理中,4已完成)
|
||||
*/
|
||||
@NotBlank(message = "状态(0创建工单,1已派单2已抢单3处理中,4已完成)不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 处理人
|
||||
*/
|
||||
@NotNull(message = "处理人不能为空", groups = { AddGroup.class, EditGroup.class })
|
||||
private Long handler;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
private String searchValue;
|
||||
|
||||
|
||||
}
|
@@ -60,19 +60,4 @@ public class ServiceWorkOrdersTypeBo extends BaseEntity {
|
||||
*/
|
||||
private Integer isTransfers;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
private Long createById;
|
||||
|
||||
/**
|
||||
* 更新人id
|
||||
*/
|
||||
private Long updateById;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
*/
|
||||
private String searchValue;
|
||||
|
||||
}
|
||||
|
@@ -5,10 +5,12 @@ import cn.idev.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.property.domain.ServiceWorkOrders;
|
||||
import org.dromara.property.domain.ServiceWorkOrdersRecord;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @Author:yuyongle
|
||||
@@ -51,7 +53,7 @@ public class ServiceWorkOrdersInfoVo implements Serializable {
|
||||
* 状态
|
||||
*/
|
||||
@ExcelProperty(value = "状态")
|
||||
private Integer status;
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 派单时间
|
||||
@@ -80,7 +82,7 @@ public class ServiceWorkOrdersInfoVo implements Serializable {
|
||||
* 处理人姓名
|
||||
*/
|
||||
@ExcelProperty(value = "处理人姓名")
|
||||
private String handler;
|
||||
private Long handler;
|
||||
/**
|
||||
* 处理人姓名文本
|
||||
*/
|
||||
@@ -120,7 +122,7 @@ public class ServiceWorkOrdersInfoVo implements Serializable {
|
||||
* 是否超时
|
||||
*/
|
||||
@ExcelProperty(value = "是否超时")
|
||||
private Integer isTimeOut;
|
||||
private String isTimeOut;
|
||||
/**
|
||||
* 类型名称
|
||||
*/
|
||||
@@ -131,4 +133,10 @@ public class ServiceWorkOrdersInfoVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
/**
|
||||
*工单记录
|
||||
*/
|
||||
private List<ServiceWorkOrdersRecordInfoVo> workOrdersRecordVoList;
|
||||
|
||||
|
||||
}
|
||||
|
@@ -0,0 +1,55 @@
|
||||
package org.dromara.property.domain.vo;
|
||||
|
||||
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.property.domain.ServiceWorkOrdersRecord;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
/**
|
||||
* 工单接单记录视图对象 service_work_orders_record
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-21
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = ServiceWorkOrdersRecord.class)
|
||||
public class ServiceWorkOrdersRecordInfoVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@ExcelProperty(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 状态(0创建工单,1已派单2已抢单3处理中,4已完成)
|
||||
*/
|
||||
@ExcelProperty(value = "状态(0创建工单,1已派单2已抢单3处理中,4已完成)")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 处理人
|
||||
*/
|
||||
@ExcelProperty(value = "处理人")
|
||||
private Long handler;
|
||||
/**
|
||||
* 处理人
|
||||
*/
|
||||
@ExcelProperty(value = "处理人")
|
||||
private String handlerName;
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ExcelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
}
|
@@ -0,0 +1,62 @@
|
||||
package org.dromara.property.domain.vo;
|
||||
|
||||
import org.dromara.property.domain.ServiceWorkOrdersRecord;
|
||||
import cn.idev.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import cn.idev.excel.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 工单接单记录视图对象 service_work_orders_record
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-21
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = ServiceWorkOrdersRecord.class)
|
||||
public class ServiceWorkOrdersRecordVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* id
|
||||
*/
|
||||
@ExcelProperty(value = "id")
|
||||
private Long id;
|
||||
|
||||
/**
|
||||
* 工单id
|
||||
*/
|
||||
@ExcelProperty(value = "工单id")
|
||||
private String orderId;
|
||||
|
||||
/**
|
||||
* 状态(0创建工单,1已派单2已抢单3处理中,4已完成)
|
||||
*/
|
||||
@ExcelProperty(value = "状态(0创建工单,1已派单2已抢单3处理中,4已完成)")
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 处理人
|
||||
*/
|
||||
@ExcelProperty(value = "处理人")
|
||||
private Long handler;
|
||||
|
||||
/**
|
||||
* 创建时间
|
||||
*/
|
||||
@ExcelProperty(value = "创建时间")
|
||||
private Date createTime;
|
||||
|
||||
|
||||
}
|
@@ -68,17 +68,6 @@ public class ServiceWorkOrdersTypeVo implements Serializable {
|
||||
@ExcelProperty(value = "是否支持转单(0支持,1不支持)")
|
||||
private Integer isTransfers;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
@ExcelProperty(value = "创建人id")
|
||||
private Long createById;
|
||||
|
||||
/**
|
||||
* 更新人id
|
||||
*/
|
||||
@ExcelProperty(value = "更新人id")
|
||||
private Long updateById;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
|
@@ -59,7 +59,7 @@ public class ServiceWorkOrdersVo implements Serializable {
|
||||
* 状态
|
||||
*/
|
||||
@ExcelProperty(value = "状态")
|
||||
private int status;
|
||||
private String status;
|
||||
|
||||
/**
|
||||
* 派单时间
|
||||
@@ -68,10 +68,19 @@ public class ServiceWorkOrdersVo implements Serializable {
|
||||
private Date dispatchTime;
|
||||
|
||||
/**
|
||||
* 发起人姓名
|
||||
* 发起人
|
||||
*/
|
||||
@ExcelProperty(value = "发起人姓名")
|
||||
private String initiatorName;
|
||||
private long initiatorPeople;
|
||||
|
||||
|
||||
/**
|
||||
* 处理人姓名
|
||||
*/
|
||||
private long handler;
|
||||
/**
|
||||
* 抄送人
|
||||
*/
|
||||
private long ccPeople;
|
||||
/**
|
||||
* 发起人姓名文本
|
||||
*/
|
||||
@@ -83,12 +92,6 @@ public class ServiceWorkOrdersVo implements Serializable {
|
||||
*/
|
||||
@ExcelProperty(value = "发起人手机号")
|
||||
private String initiatorPhone;
|
||||
|
||||
/**
|
||||
* 处理人姓名
|
||||
*/
|
||||
@ExcelProperty(value = "处理人姓名")
|
||||
private String handler;
|
||||
/**
|
||||
* 处理人姓名文本
|
||||
*/
|
||||
@@ -124,19 +127,7 @@ public class ServiceWorkOrdersVo implements Serializable {
|
||||
* 是否超时
|
||||
*/
|
||||
@ExcelProperty(value = "是否超时")
|
||||
private int isTimeOut;
|
||||
|
||||
/**
|
||||
* 创建人id
|
||||
*/
|
||||
@ExcelProperty(value = "创建人id")
|
||||
private Long createById;
|
||||
|
||||
/**
|
||||
* 更新人id
|
||||
*/
|
||||
@ExcelProperty(value = "更新人id")
|
||||
private Long updateById;
|
||||
private String isTimeOut;
|
||||
|
||||
/**
|
||||
* 搜索值
|
||||
|
@@ -0,0 +1,17 @@
|
||||
package org.dromara.property.mapper;
|
||||
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
import org.dromara.property.domain.ServiceWorkOrdersRecord;
|
||||
import org.dromara.property.domain.vo.ServiceWorkOrdersRecordVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 工单接单记录Mapper接口
|
||||
*
|
||||
* @author mocheng
|
||||
* @date 2025-07-21
|
||||
*/
|
||||
@Mapper
|
||||
public interface ServiceWorkOrdersRecordMapper extends BaseMapperPlus<ServiceWorkOrdersRecord, ServiceWorkOrdersRecordVo> {
|
||||
|
||||
}
|
@@ -1,6 +1,7 @@
|
||||
package org.dromara.property.service.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.IdUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
@@ -12,12 +13,15 @@ import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.property.domain.ResidentPerson;
|
||||
import org.dromara.property.domain.ServiceWorkOrders;
|
||||
import org.dromara.property.domain.ServiceWorkOrdersRecord;
|
||||
import org.dromara.property.domain.ServiceWorkOrdersType;
|
||||
import org.dromara.property.domain.bo.ServiceWorkOrdersBo;
|
||||
import org.dromara.property.domain.vo.*;
|
||||
import org.dromara.property.mapper.ResidentPersonMapper;
|
||||
import org.dromara.property.mapper.ServiceWorkOrdersMapper;
|
||||
import org.dromara.property.mapper.ServiceWorkOrdersRecordMapper;
|
||||
import org.dromara.property.mapper.ServiceWorkOrdersTypeMapper;
|
||||
import org.dromara.property.service.IServiceWorkOrdersService;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -40,6 +44,7 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
private final ServiceWorkOrdersMapper baseMapper;
|
||||
private final ServiceWorkOrdersTypeMapper typesMapper;
|
||||
private final ResidentPersonMapper residentPersonMapper;
|
||||
private final ServiceWorkOrdersRecordMapper workOrdersRecordMapper;
|
||||
|
||||
/**
|
||||
* 查询【工单处理】
|
||||
@@ -55,7 +60,7 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
if (Objects.nonNull(serviceWorkOrdersTypeVo)) {
|
||||
serviceWorkOrdersInfoVo.setTypeName(serviceWorkOrdersTypeVo.getOrderTypeName());
|
||||
}
|
||||
ResidentPersonVo residentPersonVo = residentPersonMapper.selectVoById(Long.valueOf(serviceWorkOrdersVo.getInitiatorName()));
|
||||
ResidentPersonVo residentPersonVo = residentPersonMapper.selectVoById(Long.valueOf(serviceWorkOrdersVo.getInitiatorPeople()));
|
||||
if (Objects.nonNull(residentPersonVo)) {
|
||||
serviceWorkOrdersInfoVo.setInitiatorNameText(residentPersonVo.getUserName());
|
||||
serviceWorkOrdersInfoVo.setInitiatorPhone(residentPersonVo.getPhone());
|
||||
@@ -65,6 +70,23 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
serviceWorkOrdersInfoVo.setHandlerText(residentPersonHandler.getUserName());
|
||||
serviceWorkOrdersInfoVo.setHandlerPhone(residentPersonHandler.getPhone());
|
||||
}
|
||||
//查询工单处理记录
|
||||
List<ServiceWorkOrdersRecordVo> serviceWorkOrdersRecordVoList = workOrdersRecordMapper.selectVoList(new LambdaQueryWrapper<ServiceWorkOrdersRecord>()
|
||||
.eq(ServiceWorkOrdersRecord::getOrderId, id));
|
||||
if (CollUtil.isNotEmpty(serviceWorkOrdersRecordVoList)) {
|
||||
List<ServiceWorkOrdersRecordInfoVo> serviceWorkOrdersRecordInfoVos = BeanUtil.copyToList(serviceWorkOrdersRecordVoList, ServiceWorkOrdersRecordInfoVo.class);
|
||||
List<Long>residentPersonIdList = serviceWorkOrdersRecordInfoVos.stream()
|
||||
.map(vo -> vo.getHandler())
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
List<ResidentPerson> residentPeople = residentPersonMapper.selectByIds(residentPersonIdList);
|
||||
serviceWorkOrdersRecordInfoVos.stream().forEach(workOrdersRecordVo->{
|
||||
ResidentPerson residentPerson = residentPeople.stream()
|
||||
.filter(vo -> vo.getId() != null && vo.getId().equals(serviceWorkOrdersVo.getHandler())).findFirst().orElse(null);
|
||||
workOrdersRecordVo.setHandlerName(residentPerson.getUserName());
|
||||
});
|
||||
serviceWorkOrdersInfoVo.setWorkOrdersRecordVoList(serviceWorkOrdersRecordInfoVos);
|
||||
}
|
||||
return serviceWorkOrdersInfoVo;
|
||||
}
|
||||
|
||||
@@ -87,11 +109,15 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
List<ServiceWorkOrdersTypeVo> serviceWorkOrdersTypeVoList = typesMapper.selectVoByIds(typeList);
|
||||
if (ObjectUtil.isEmpty(serviceWorkOrdersTypeVoList)) {
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
List<ServiceWorkOrdersVo> serviceWorkOrdersVoList = new ArrayList<>();
|
||||
result.getRecords().stream().forEach(s -> {
|
||||
ServiceWorkOrdersTypeVo serviceWorkOrdersTypeVo = serviceWorkOrdersTypeVoList.stream()
|
||||
.filter(vo -> vo.getId() != null && vo.getId().equals(s.getType())).findFirst().orElse(null);
|
||||
s.setTypeName(serviceWorkOrdersTypeVo.getOrderTypeName());
|
||||
|
||||
s.setTypeName(ObjectUtil.isNotNull(serviceWorkOrdersTypeVo) ? serviceWorkOrdersTypeVo.getOrderTypeName() : null);
|
||||
serviceWorkOrdersVoList.add(s);
|
||||
});
|
||||
return TableDataInfo.build(new Page<ServiceWorkOrdersVo>().setRecords(serviceWorkOrdersVoList));
|
||||
@@ -116,8 +142,8 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getOrderNo()), ServiceWorkOrders::getOrderNo, bo.getOrderNo());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getOrderName()), ServiceWorkOrders::getOrderName, bo.getOrderName());
|
||||
lqw.eq(bo.getDispatchTime() != null, ServiceWorkOrders::getDispatchTime, bo.getDispatchTime());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getInitiatorName()), ServiceWorkOrders::getInitiatorName, bo.getInitiatorName());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getHandler()), ServiceWorkOrders::getHandler, bo.getHandler());
|
||||
lqw.like(StringUtils.isNotBlank(bo.getInitiatorName()), ServiceWorkOrders::getInitiatorPeople, bo.getInitiatorName());
|
||||
lqw.eq(ObjectUtil.isNotEmpty(bo.getHandler()), ServiceWorkOrders::getHandler, bo.getHandler());
|
||||
lqw.eq(StringUtils.isNotBlank(bo.getLocation()), ServiceWorkOrders::getLocation, bo.getLocation());
|
||||
lqw.eq(bo.getPlanCompleTime() != null, ServiceWorkOrders::getPlanCompleTime, bo.getPlanCompleTime());
|
||||
lqw.eq(bo.getCompleTime() != null, ServiceWorkOrders::getCompleTime, bo.getCompleTime());
|
||||
@@ -138,10 +164,16 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
public Boolean insertByBo(ServiceWorkOrdersBo bo) {
|
||||
ServiceWorkOrders add = MapstructUtils.convert(bo, ServiceWorkOrders.class);
|
||||
add.setOrderNo("GD" + IdUtil.getSnowflakeNextIdStr());
|
||||
add.setStatus("0");
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
bo.setId(add.getId());
|
||||
ServiceWorkOrdersRecord serviceWorkOrdersRecord = new ServiceWorkOrdersRecord();
|
||||
serviceWorkOrdersRecord.setOrderId(add.getId());
|
||||
serviceWorkOrdersRecord.setStatus(add.getStatus());
|
||||
serviceWorkOrdersRecord.setHandler(add.getHandler());
|
||||
workOrdersRecordMapper.insert(serviceWorkOrdersRecord);
|
||||
}
|
||||
return flag;
|
||||
}
|
||||
@@ -156,7 +188,7 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateByBo(ServiceWorkOrdersBo bo) {
|
||||
ServiceWorkOrders update = MapstructUtils.convert(bo, ServiceWorkOrders.class);
|
||||
validEntityBeforeSave(update);
|
||||
validEntityBeforeUpdate(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
|
||||
@@ -166,6 +198,22 @@ public class ServiceWorkOrdersServiceImpl implements IServiceWorkOrdersService {
|
||||
private void validEntityBeforeSave(ServiceWorkOrders entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeUpdate(ServiceWorkOrders entity) {
|
||||
ServiceWorkOrders serviceWorkOrders = baseMapper.selectById(entity.getId());
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
if (!entity.getStatus().equals(serviceWorkOrders.getStatus())) {
|
||||
ServiceWorkOrdersRecord serviceWorkOrdersRecord = new ServiceWorkOrdersRecord();
|
||||
serviceWorkOrdersRecord.setOrderId(serviceWorkOrders.getId());
|
||||
serviceWorkOrdersRecord.setStatus(serviceWorkOrders.getStatus());
|
||||
serviceWorkOrdersRecord.setHandler(serviceWorkOrders.getHandler());
|
||||
workOrdersRecordMapper.insert(serviceWorkOrdersRecord);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.dromara.property.mapper.ServiceWorkOrdersRecordMapper">
|
||||
|
||||
</mapper>
|
Reference in New Issue
Block a user