From ad8a38fb97f8bd9fd4077c9e576f54e48aec5151 Mon Sep 17 00:00:00 2001 From: lujiang Date: Fri, 23 Aug 2024 09:46:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=84=E8=A7=92=E8=89=B2=E5=88=97=E8=A1=A8?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=8F=98=E6=9B=B4=EF=BC=8C=E6=95=85=E9=9A=9C?= =?UTF-8?q?=E7=AD=89=E7=BA=A7=E7=94=B1=E6=B4=BE=E5=8D=95=E5=91=98=E5=A1=AB?= =?UTF-8?q?=E5=86=99=EF=BC=8C=E8=AE=BE=E5=A4=87=E7=B1=BB=E5=9E=8B=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E5=AD=97=E6=AE=B5=EF=BC=8C=E6=A5=BC=E5=B1=82=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E7=BC=96=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/controller/RepairController.java | 106 ++++++++++++++++-- .../controller/RepairStatsController.java | 20 +++- .../java/com/ics/admin/domain/Repair.java | 4 +- .../ics/admin/domain/RepairAddressFloor.java | 8 +- .../ics/admin/domain/RepairDeviceType.java | 9 ++ .../com/ics/admin/mapper/RepairMapper.java | 19 +--- .../com/ics/admin/service/IRepairService.java | 13 +-- .../admin/service/impl/RepairServiceImpl.java | 27 +++-- .../com/ics/admin/utils/RepairListDTO.java | 26 +++++ .../mapper/admin/RepairAddressFloorMapper.xml | 18 ++- .../mapper/admin/RepairDeviceTypeMapper.xml | 19 +++- .../resources/mapper/admin/RepairMapper.xml | 105 +++++++++-------- 12 files changed, 265 insertions(+), 109 deletions(-) create mode 100644 shoot-hand/ics-admin/src/main/java/com/ics/admin/utils/RepairListDTO.java diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairController.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairController.java index 357ccee..11e70c7 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairController.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairController.java @@ -3,13 +3,17 @@ package com.ics.admin.controller; import com.ics.admin.domain.Repair; import com.ics.admin.domain.RepairAttach; import com.ics.admin.domain.RepairLog; +import com.ics.admin.service.IIcsCustomerStaffService; import com.ics.admin.service.IRepairAttachService; import com.ics.admin.service.IRepairLogService; import com.ics.admin.service.IRepairService; import com.ics.admin.utils.RepairDTO; +import com.ics.admin.utils.RepairListDTO; import com.ics.admin.vo.RepairAttachVO; import com.ics.common.core.controller.BaseController; +import com.ics.common.core.domain.IcsCustomerStaff; import com.ics.common.core.domain.R; +import com.ics.common.utils.DateUtils; import com.ics.common.utils.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; @@ -20,6 +24,7 @@ import org.wf.jwtp.annotation.Logical; import org.wf.jwtp.annotation.RequiresPermissions; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -43,6 +48,9 @@ public class RepairController extends BaseController { @Autowired private IRepairAttachService repairAttachService; + @Autowired + private IIcsCustomerStaffService customerStaffService; + /** * 报修 */ @@ -50,7 +58,7 @@ public class RepairController extends BaseController { @PostMapping("flow/start") public R startFlow(@RequestBody RepairDTO repairDTO) { Long userId = getLoginStaffId(); -// if (!repairService.submitCheck(userId.toString())) return R.error("报修过于频繁,请稍后再试."); + if (!repairService.submitCheck(userId.toString())) return R.error("报修过于频繁,请稍后再试."); String result = repairService.handleFlow(repairDTO.getRepair(), userId, repairDTO.getFiles(), null, null); return IRepairService.OK.equals(result) ? R.ok() : R.error(result); } @@ -86,19 +94,99 @@ public class RepairController extends BaseController { * 管理员:重派单,全部,无效申请 type对应值:anew、all、invalid 【小程序暂时用不到】 * 楼层管理员:全部、无效申请 type对应值:all、invalid * - * name : 工单名称搜索关键字 + * name : 工单描述搜索关键字 *

*/ + + /** + * 工单列表 + * role 1.普通用户,3派单员,5维修人员, 7管理员, 9 楼层管理员 + * + * 【报修查询】 普通用户,管理员, 楼层管理员 + * 全部、处理中、待评价、已评价、无效申请 + * type值:all、process、evaling、evaled、invalid + * 【派单入口】 + * 管理员: + * 重新派单、待派单、已派单、无效申请 + * type值:anew、wait、already、invalid + * 派单员: + * 待派单、已派单、无效申请 + * type值:wait、already、invalid + * 【维修入口】 + * 待完成、进行中、已完成 + * type对应值:wait、process、end + * 【查询条件】 + * repair: + * sn: 单号,模糊查询 + * repairLevel:故障等级,模糊查询 + * typeId:设备类别id,精确查询 + * deviceId:设备id,精确查询 + * name:报修人,模糊查询 + * phone:联系电话,模糊查询 + * addressId:报修地点id,精确查询 + * floorId:报修楼层id,精确查询 + * room:门牌号,模糊查询 + * explain:描述,模糊查询 + * failureTypeId:故障类型id,精确查询 + * beginTime : 工单创建日期范围;开始时间;格式示例 2024-08-22;成对出现 + * endTime : 工单创建日期范围;结束时间;格式示例 2024-08-25;成对出现 + * + * ======================================================================== + * + * 普通用户: + * 全部、处理中、待评价、已评价、无效申请 + * type值:all、process-1、3、5、7、evaling-9、evaled-13、invalid-11 + * + * 派单员 + * 待派单、已派单、无效申请 + * type值:wait-1、already-5、7、9、13、invalid-11 + * + * 维修人员 + * 待完成、进行中、已完成 + * type值:wait-5、process-7、end-9、13 + * + * 管理员: + * 全部、重新派单、待派单、已派单、处理中、待评价、已评价、无效申请 + * type值:all、anew-3、wait-1、already-5、7、9、13、process-1、3、5、7、evaling-9、evaled-13、invalid-11 + * + * 楼层管理员 + * type值:all、process-1、3、5、7、evaling-9、evaled-13、invalid-11 + * ======================================================================== + */ @RequiresPermissions(value = {"repair:manage:operator", "member:center:view"}, logical = Logical.OR) @RequestMapping("list") - public R list(@RequestBody Map map) { - String type = map.get("type"); - String menu = map.get("menu"); - String repairName = map.get("name"); - if (StringUtils.isBlank(type) || StringUtils.isBlank(menu)) return R.error(); - startPage(); + public R list(@RequestBody RepairListDTO repairListDTO) { + Repair repair = repairListDTO.getRepair(); + if (repair == null) repair = new Repair(); + String role = repairListDTO.getRole(); + String type = repairListDTO.getType(); + if (StringUtils.isBlank(type) || StringUtils.isBlank(role)) return R.error(); Long userId = getLoginStaffId(); - return result(repairService.repairList(menu, userId.toString(), type, repairName)); + if ("7".equals(role)) { //管理员认证角色 + IcsCustomerStaff customerStaff = customerStaffService.selectIcsCustomerStaffById(userId); + if (!"7".equals(customerStaff.getDataType())) return R.error("权限不足!"); + } + Map params = new HashMap<>(); + params.put("role", role); + params.put("type", type); + params.put("userId", userId); + //时间范围处理 + String beginTime = repair.getBeginTime(), endTime = repair.getEndTime(); + if (beginTime != null && endTime != null && beginTime.length() == 10 && endTime.length() == 10) { + try { + Date s = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, beginTime + " 00:00:00"); + Date e = DateUtils.dateTime(DateUtils.YYYY_MM_DD_HH_MM_SS, endTime + " 23:59:59"); + if (s.getTime() <= e.getTime()) { + params.put("beginTime", s); + params.put("endTime", e); + } + } catch (Exception e) { + //时间格式处理失败则放弃时间搜索条件 + } + } + repair.setParams(params); + startPage(); + return result(repairService.repairList(repair)); } /** diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairStatsController.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairStatsController.java index 4a5093e..3236406 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairStatsController.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/controller/RepairStatsController.java @@ -1,6 +1,7 @@ package com.ics.admin.controller; import com.alibaba.fastjson.JSONObject; +import com.ics.admin.domain.Repair; import com.ics.admin.vo.RepairAdminStatsVo; import com.ics.admin.vo.RepairFloorStatsVo; import com.ics.admin.vo.RepairWorkerStatsVo; @@ -13,6 +14,9 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.wf.jwtp.annotation.RequiresPermissions; +import java.util.HashMap; +import java.util.Map; + /** * 工单各种统计接口 * created at 2024-8-15 20:36 @@ -46,8 +50,14 @@ public class RepairStatsController extends BaseController { @RequiresPermissions(value = {"repair:manage:operator"}) @RequestMapping("oneWorkerList") public R oneWorkerList(String workerId) { + Repair repair = new Repair(); + Map params = new HashMap<>(); + params.put("role", "5"); + params.put("type", "all"); + params.put("userId", workerId); + repair.setParams(params); startPage(); - return result(repairService.repairList("5", workerId, "", null)); + return result(repairService.repairList(repair)); } /** @@ -66,8 +76,14 @@ public class RepairStatsController extends BaseController { @RequiresPermissions(value = {"repair:manage:operator"}) @RequestMapping("oneFloorList") public R oneFloorList(String floorerId) { + Repair repair = new Repair(); + Map params = new HashMap<>(); + params.put("role", "9"); + params.put("userId", floorerId); + params.put("type", "all"); + repair.setParams(params); startPage(); - return result(repairService.floorRepairList(floorerId)); + return result(repairService.repairList(repair)); } /** diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/Repair.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/Repair.java index 8d1c571..49fe5bf 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/Repair.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/Repair.java @@ -64,7 +64,7 @@ public class Repair extends BaseEntity { /** * 报修地点id */ - private String addressId; + private Long addressId; /** * 报修地点名称 */ @@ -72,7 +72,7 @@ public class Repair extends BaseEntity { /** * 报修楼层id */ - private String floorId; + private Long floorId; /** * 报修楼层名称 */ diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/RepairAddressFloor.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/RepairAddressFloor.java index 18a45e6..b907b67 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/RepairAddressFloor.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/RepairAddressFloor.java @@ -23,6 +23,10 @@ public class RepairAddressFloor extends BaseEntity { * 楼层名称 */ private String name; + /** + * 楼层编码 + */ + private String bm; /** 楼层管理员id */ private Long adminId; @@ -33,7 +37,9 @@ public class RepairAddressFloor extends BaseEntity { /** 备注 */ private String remark; - + private String ext1; + private String ext2; + private String ext3; diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/RepairDeviceType.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/RepairDeviceType.java index e84e863..63ee35c 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/RepairDeviceType.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/domain/RepairDeviceType.java @@ -22,6 +22,11 @@ public class RepairDeviceType extends BaseEntity { /** 名称 */ private String name; + /** + * 该设备类型预计需要完成的天数 + */ + private Integer days; + @TableField(exist = false) private Long staffId; @@ -42,5 +47,9 @@ public class RepairDeviceType extends BaseEntity { /** 备注 */ private String remark; + private String ext1; + private String ext2; + private String ext3; + } diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairMapper.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairMapper.java index 23b210f..5071386 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairMapper.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/mapper/RepairMapper.java @@ -22,13 +22,12 @@ public interface RepairMapper { */ Repair selectRepairById(Long id); - List normalRepairList(@Param("userId") String userId, @Param("type") String type, @Param("repairName") String repairName); - - List preRepairList(@Param("userId") String userId, @Param("type") String type, @Param("repairName") String repairName); - - List workRepairList(@Param("userId") String userId, @Param("type") String type, @Param("repairName") String repairName); - - List adminRepairList(@Param("userId") String userId, @Param("type") String type, @Param("repairName") String repairName); + /** + * 查询工单列表 + * @param repairParam + * @return + */ + List repairList(Repair repairParam); /** * 维修工 工单 数量统计 @@ -38,12 +37,6 @@ public interface RepairMapper { */ Integer workerRepairNumber(@Param("userId") String userId, @Param("type") String type); - /** - * 楼层管理管工单列表 - * @param floorerId 楼层管理员id - * @return - */ - List floorRepairList(@Param("floorerId") String floorerId, @Param("type") String type, @Param("repairName") String repairName); /** * 新增工单 * diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairService.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairService.java index cc9a095..730c467 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairService.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/IRepairService.java @@ -36,24 +36,17 @@ public interface IRepairService { Repair selectRepairById(Long id); /** - * @param menu 1.普通用户,3派单员,5维修人, 7管理员 * 查询工单列表 + * role 1.普通用户,3派单员,5维修人, 7管理员, 9 楼层管理员 + * @param repairParam 工单查询参数 */ - List repairList(String menu, String userId, String type ,String repairName); + List repairList(Repair repairParam); /** * 获取维修人员工单数量 * @param userId 用户id */ Map workerRepairNumber(String userId); - - /** - * 楼层管理管工单列表 - * @param floorerId 管理员id - * @return - */ - List floorRepairList(String floorerId); - /** * 新增工单 * diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairServiceImpl.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairServiceImpl.java index 2817eb4..0b4c78d 100644 --- a/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairServiceImpl.java +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/service/impl/RepairServiceImpl.java @@ -1,11 +1,13 @@ package com.ics.admin.service.impl; import com.ics.admin.domain.Repair; +import com.ics.admin.domain.RepairDeviceType; import com.ics.admin.domain.RepairLog; import com.ics.admin.domain.RepairRelational; import com.ics.admin.domain.RepairRemind; import com.ics.admin.mapper.IcsCustomerStaffMapper; import com.ics.admin.mapper.RepairAttachMapper; +import com.ics.admin.mapper.RepairDeviceTypeMapper; import com.ics.admin.mapper.RepairLogMapper; import com.ics.admin.mapper.RepairMapper; import com.ics.admin.mapper.RepairRelationalMapper; @@ -45,6 +47,9 @@ public class RepairServiceImpl implements IRepairService { @Autowired private ISnService snService; + @Autowired + private RepairDeviceTypeMapper repairDeviceTypeMapper; + @Autowired private RepairRelationalMapper repairRelationalMapper; @@ -116,12 +121,16 @@ public class RepairServiceImpl implements IRepairService { //没有设置维修人员则到派单环节,否则到“修理工是否接收”环节 to = repair.getRepairUserId() == null ? 1 : 5; if (repair.getTypeId() == null) return "表单设备类型数据为空"; + RepairDeviceType repairDeviceType=repairDeviceTypeMapper.selectRepairDeviceTypeById(repair.getTypeId()); + if (repairDeviceType == null) return "设备类型无效"; List listRelational = repairRelationalMapper.selectDispatcherByTypeId(repair.getTypeId()); if (listRelational == null || listRelational.size() == 0) return "根据表单设备类型找不到派单员"; nextUser = customerStaffMapper.selectIcsCustomerStaffById(listRelational.get(0).getUserId());//查询派单员 if (nextUser == null) return "没有找到派单员账号"; repair.setSn(snService.generate(Sn.Type.REPAIR));//编单号 repair.setPerUserId(nextUser.getId());//设置派单员 + int days=repairDeviceType.getDays(); + repair.setPreDate(new Date(now.getTime() + (days * 24 * 60 * 60 * 1000)));//设置预计完成时间 repair.setTimeout(1);//告警默认绿色 repair.setWarn(1);//预警默认绿色 repair.setDeleteFlag(0); @@ -139,7 +148,8 @@ public class RepairServiceImpl implements IRepairService { nextUser = customerStaffMapper.selectIcsCustomerStaffById(repair.getRepairUserId()); if (nextUser == null) return "派单没有找到下一步执行人"; newRepair.setRepairUserId(nextUser.getId()); - newRepair.setPreDate(repair.getPreDate());//设置预计完成时间 + newRepair.setRepairLevel(repair.getRepairLevel());//设置故障等级 + //newRepair.setPreDate(repair.getPreDate());//设置预计完成时间 } if (FlowOperate.BACK.equals(operate)) { to = 3; @@ -337,14 +347,8 @@ public class RepairServiceImpl implements IRepairService { * 查询工单列表 */ @Override - public List repairList(String menu, String userId, String type, String repairName) { - List list = null; - //1.普通用户,3派单员,5维修人, 7管理员 ,9楼层管理员 - if ("9".equals(menu)) list = repairMapper.floorRepairList(userId, type, repairName); - if ("7".equals(menu)) list = repairMapper.adminRepairList(userId, type, repairName); - if ("5".equals(menu)) list = repairMapper.workRepairList(userId, type, repairName); - if ("3".equals(menu)) list = repairMapper.preRepairList(userId, type, repairName); - if ("1".equals(menu)) list = repairMapper.normalRepairList(userId, type, repairName); + public List repairList(Repair repairParam) { + List list = repairMapper.repairList(repairParam); if (list != null && list.size() > 0) { for (Repair repair : list) { if (repair.getPerUserId() != null && repair.getPerUserId() > 0) { @@ -380,11 +384,6 @@ public class RepairServiceImpl implements IRepairService { return map; } - @Override - public List floorRepairList(String floorerId) { - return repairMapper.floorRepairList(floorerId, "all", null); - } - /** * 新增工单 * diff --git a/shoot-hand/ics-admin/src/main/java/com/ics/admin/utils/RepairListDTO.java b/shoot-hand/ics-admin/src/main/java/com/ics/admin/utils/RepairListDTO.java new file mode 100644 index 0000000..ee56427 --- /dev/null +++ b/shoot-hand/ics-admin/src/main/java/com/ics/admin/utils/RepairListDTO.java @@ -0,0 +1,26 @@ +package com.ics.admin.utils; + +import com.ics.admin.domain.Repair; +import lombok.Data; + +import java.io.Serializable; + +/** + * 工单列表查询 传输参数体 + * created at 2024-8-21 22:28 + * + * @author lujiang + * @version 1.0.0 + * @since 1.0.0 + */ +@Data +public class RepairListDTO implements Serializable { + private static final long serialVersionUID = -202408212230L; + + private String role; + + private String type; + + private Repair repair; + +} diff --git a/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairAddressFloorMapper.xml b/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairAddressFloorMapper.xml index d60132d..250da27 100644 --- a/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairAddressFloorMapper.xml +++ b/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairAddressFloorMapper.xml @@ -8,8 +8,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + + + @@ -20,7 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - SELECT id, address_id, name, admin_Id, remark, delete_flag, create_by, create_time, update_by, update_time, tenant_id, park_id FROM ics_repair_address_floor + SELECT id, address_id, name, bm, admin_Id, remark, ext1, ext2, ext3, delete_flag, create_by, create_time, update_by, update_time, tenant_id, park_id FROM ics_repair_address_floor @@ -30,14 +34,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" INSERT INTO ics_repair_device_type name, + `days`, remark, + ext1, + ext2, + ext3, delete_flag, create_by, create_time, @@ -49,6 +57,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" #{name}, #{remark}, + #{ext1}, + #{ext2}, + #{ext3}, #{deleteFlag}, #{createBy}, #{createTime}, @@ -63,7 +74,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" UPDATE ics_repair_device_type name = #{name}, + `days` = #{days}, remark = #{remark}, + ext1 = #{ext1}, + ext2 = #{ext2}, + ext3 = #{ext3}, delete_flag = #{deleteFlag}, create_by = #{createBy}, create_time = #{createTime}, diff --git a/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairMapper.xml b/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairMapper.xml index ea1d000..5014461 100644 --- a/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairMapper.xml +++ b/shoot-hand/ics-admin/src/main/resources/mapper/admin/RepairMapper.xml @@ -201,50 +201,59 @@ WHERE id = #{id} - - - - - - - - + + + SELECT * FROM ics_repair rep where delete_flag = 0 + + + select rep.* from ics_repair rep,ics_repair_address_floor floor where + rep.delete_flag=0 and floor.delete_flag=0 and floor.id=rep.floor_id and floor.admin_id= #{params.userId} + + and create_by = #{params.userId} + and per_userid = #{params.userId} + and repair_user_id = #{params.userId} + + + + and rep.status <=7 + and rep.status = 9 + and rep.status = 13 + and rep.status = 11 + + + and status = 1 + =5 and status<=13 and status<> 11)]]> + + + + and status = 5 + and status = 7 + and (status = 9 or status = 13) + + + + and status = 1 + and status = 3 + =5 and status<=13 and status<> 11)]]> + + and rep.create_time between #{params.beginTime} and #{params.endTime} + AND rep.sn LIKE CONCAT('%', #{sn}, '%') + AND rep.repair_level LIKE CONCAT('%', #{repairLevel}, '%') + AND rep.type_id = #{typeId} + AND rep.device_id = #{deviceId} + AND rep.name LIKE CONCAT('%', #{name}, '%') + AND rep.phone LIKE CONCAT('%', #{phone}, '%') + AND rep.address_id = #{addressId} + AND rep.floor_id = #{floorId} + AND rep.room LIKE CONCAT('%', #{room}, '%') + AND rep.`explain` LIKE CONCAT('%', #{explain}, '%') + AND rep.failure_type_id = #{failureTypeId} order by create_time desc + - - - DELETE FROM ics_repair WHERE id = #{id}