diff --git a/dl-module-base/src/main/java/cn/iocoder/yudao/common/BaseConstants.java b/dl-module-base/src/main/java/cn/iocoder/yudao/common/BaseConstants.java index 75654893..a668d14d 100644 --- a/dl-module-base/src/main/java/cn/iocoder/yudao/common/BaseConstants.java +++ b/dl-module-base/src/main/java/cn/iocoder/yudao/common/BaseConstants.java @@ -107,6 +107,24 @@ public class BaseConstants { /**维修记录*/ public static final String REPAIR_RECORD_TYPE_RECORD = "record"; + /**创建工单*/ + public static final String REPAIR_RECORD_TYPE_CJGD = "cjgd"; + /**指派施工*/ + public static final String REPAIR_RECORD_TYPE_ZPSG = "zpsg"; + /**领料*/ + public static final String REPAIR_RECORD_TYPE_LL = "ll"; + /**退料*/ + public static final String REPAIR_RECORD_TYPE_TL = "tl"; + /**施工完成(自检)*/ + public static final String REPAIR_RECORD_TYPE_SGWCZJ = "sgwczj"; + /**总检*/ + public static final String REPAIR_RECORD_TYPE_ZJ = "zj"; + /**结束工单*/ + public static final String REPAIR_RECORD_TYPE_JSGD = "jsgd"; + /** 开始施工 */ + public static final String REPAIR_RECORD_TYPE_KSSG = "kssg"; + /** 施工中 */ + public static final String REPAIR_RECORD_TYPE_SGZ = "sgz"; } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/common/RepairCons.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/common/RepairCons.java new file mode 100644 index 00000000..d0b8f61c --- /dev/null +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/common/RepairCons.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.common; + +/** + * 维修系统常量 + * @author vinjor-M + * @date 17:44 2024/10/18 +**/ +public class RepairCons { + + /**工单-待处理*/ + public static final String TICKETS_WAITING = "waiting"; + /**工单-所有*/ + public static final String TICKETS_ALL = "all"; +} diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlRepairTicketsController.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlRepairTicketsController.java index 659d5ad0..0611900b 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlRepairTicketsController.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlRepairTicketsController.java @@ -1,6 +1,7 @@ package cn.iocoder.yudao.module.tickets.controller.admin; +import cn.iocoder.yudao.common.RepairCons; import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.module.tickets.entity.DlRepairTickets; import cn.iocoder.yudao.module.tickets.service.DlRepairTicketsService; @@ -9,6 +10,7 @@ import cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsReqVO; import cn.iocoder.yudao.module.tickets.vo.DlRepairTicketsRespVO; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.Operation; +import org.apache.commons.lang3.StringUtils; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; @@ -171,6 +173,10 @@ public class DlRepairTicketsController { @RequestParam(value = "pageNo", defaultValue = "1")Integer pageNo, @RequestParam(value = "pageSize", defaultValue = "10")Integer pageSize){ Page page = new Page<>(pageNo, pageSize); + if(StringUtils.isEmpty(repairTicketsReqVO.getSelectType())){ + //查询类型为空,默认查待处理的 + repairTicketsReqVO.setSelectType(RepairCons.TICKETS_WAITING); + } return success(dlRepairTicketsService.getPageType(repairTicketsReqVO, page)); } @@ -213,5 +219,19 @@ public class DlRepairTicketsController { dlRepairTicketsService.updateRepair(reqVO); return CommonResult.ok(); } + + /** + * 更新工单状态 + * + * @author 小李 + * @date 15:46 2024/10/18 + * @param respVO 请求对象 + **/ + @PostMapping("/updateStatus") + @Operation(summary = "更新工单状态") + public CommonResult updateStatus(@RequestBody DlRepairTicketsRespVO respVO){ + dlRepairTicketsService.updateStatus(respVO); + return CommonResult.ok(); + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlRepairTitemController.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlRepairTitemController.java index b6bbc2fa..072e1a0c 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlRepairTitemController.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlRepairTitemController.java @@ -48,5 +48,18 @@ public class DlRepairTitemController { Page page = new Page<>(pageNo, pageSize); return success(dlRepairTitemService.getTItemPage(repairTitemRespVO, page)); } + + /** + * 获取当前操作人操作的工单中的项目 + * + * @author 小李 + * @date 15:01 2024/10/18 + * @param ticketId 工单ID + **/ + @GetMapping("/listProject") + @Operation(summary = "获取当前操作人操作的工单中的项目") + public CommonResult getProjectList(@RequestParam("ticketId") String ticketId){ + return success(dlRepairTitemService.getProjectList(ticketId)); + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/mapper/DlRepairTicketsMapper.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/mapper/DlRepairTicketsMapper.java index 23dec322..4a53a9f2 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/mapper/DlRepairTicketsMapper.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/mapper/DlRepairTicketsMapper.java @@ -27,13 +27,21 @@ public interface DlRepairTicketsMapper extends BaseMapper { IPage getTicketsPage(@Param("map") DlRepairTicketsReqVO repairTicketsReqVO, Page page); /** - * 分类查询工单分页 + * 分类查询工单分页----待处理的 * * @author 小李 * @date 16:26 2024/10/12 * @param repairTicketsReqVO 查询对象 **/ IPage getPageType(@Param("map") DlRepairTicketsReqVO repairTicketsReqVO, Page page); + /** + * 分类查询工单分页----所有记录 + * + * @author 小李 + * @date 16:26 2024/10/12 + * @param repairTicketsReqVO 查询对象 + **/ + IPage getPageTypeAll(@Param("map") DlRepairTicketsReqVO repairTicketsReqVO, Page page); } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlRepairTicketsService.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlRepairTicketsService.java index e835c805..c8c24f75 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlRepairTicketsService.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlRepairTicketsService.java @@ -116,4 +116,14 @@ public interface DlRepairTicketsService extends IService { * @param reqVO 请求对象 **/ void updateRepair(DlRepairTicketsReqVO reqVO); + + /** + * 更新工单状态 + * + * @param respVO 请求对象 + * @author 小李 + * @date 15:46 2024/10/18 + **/ + void updateStatus(DlRepairTicketsRespVO respVO); + } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlRepairTitemService.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlRepairTitemService.java index fea0013d..82bd2045 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlRepairTitemService.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlRepairTitemService.java @@ -6,6 +6,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; +import java.util.List; + /** * 针对表【dl_repair_titem(维修工单子表)】的数据库操作Service * @@ -22,4 +24,14 @@ public interface DlRepairTitemService extends IService { * @param repairTitemRespVO 查询对象 **/ IPage getTItemPage(DlRepairTitemRespVO repairTitemRespVO, Page page); + + /** + * 获取当前操作人操作的工单中的项目 + * + * @param ticketId 工单ID + * @author 小李 + * @date 15:01 2024/10/18 + **/ + List getProjectList(String ticketId); + } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java index 76fede3c..a848266a 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTicketsServiceImpl.java @@ -138,6 +138,9 @@ public class DlRepairTicketsServiceImpl extends ServiceImpl() + .set(DlRepairTickets::getTicketsWorkStatus, respVO.getTicketsWorkStatus()) + .eq(DlRepairTickets::getId, respVO.getId()) + ); + // 更新工单子表 + titemService.update(new LambdaUpdateWrapper() + .set(DlRepairTitem::getItemStatus, respVO.getItem().getItemStatus()) + .eq(DlRepairTitem::getId, respVO.getItem().getId()) + ); + // 记录日志 + recordsService.saveRepairRecord(respVO.getId(), respVO.getItem().getId(), respVO.getRecordType(), respVO.getRemark(), respVO.getImage()); + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTitemServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTitemServiceImpl.java index b972b1d2..c2f0a9b5 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTitemServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlRepairTitemServiceImpl.java @@ -4,11 +4,14 @@ import cn.iocoder.yudao.module.tickets.entity.DlRepairTitem; import cn.iocoder.yudao.module.tickets.mapper.DlRepairTitemMapper; import cn.iocoder.yudao.module.tickets.service.DlRepairTitemService; import cn.iocoder.yudao.module.tickets.vo.DlRepairTitemRespVO; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; +import java.util.List; + /** * 针对表【dl_repair_titem(维修工单子表)】的数据库操作Service实现 * @@ -30,6 +33,21 @@ public class DlRepairTitemServiceImpl extends ServiceImpl getTItemPage(DlRepairTitemRespVO repairTitemRespVO, Page page){ return baseMapper.getTItemPage(repairTitemRespVO, page); } + + /** + * 获取当前操作人操作的工单中的项目 + * + * @param ticketId 工单ID + * @author 小李 + * @date 15:01 2024/10/18 + **/ + @Override + public List getProjectList(String ticketId){ + return baseMapper.selectList(new LambdaQueryWrapper().and(item -> { + item.eq(DlRepairTitem::getItemType, "01") + .eq(DlRepairTitem::getTicketId, ticketId); + })); + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTicketsReqVO.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTicketsReqVO.java index a138d05e..c1e3b341 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTicketsReqVO.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTicketsReqVO.java @@ -25,4 +25,6 @@ public class DlRepairTicketsReqVO extends DlRepairTickets { /** 工单中项目指定的施工人员的ids */ private List userIds; + /** 查询类型(waiting 待处理的 | all 所有数据) */ + private String selectType; } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTicketsRespVO.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTicketsRespVO.java index 9c0c021d..1ec18ecf 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTicketsRespVO.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/vo/DlRepairTicketsRespVO.java @@ -31,6 +31,15 @@ public class DlRepairTicketsRespVO extends DlRepairTickets { /** 预约记录ID */ private String bookingId; + /** 图片路径 */ + private String image; + + /** 子表单条数据 */ + private DlRepairTitem item; + + /** 记录类型 */ + private String recordType; + /** 客户信息 */ private CustomerMain customerInfo; diff --git a/dl-module-repair/src/main/resources/mapper/tickets/DlRepairTicketsMapper.xml b/dl-module-repair/src/main/resources/mapper/tickets/DlRepairTicketsMapper.xml index 8272a711..3a2694cd 100644 --- a/dl-module-repair/src/main/resources/mapper/tickets/DlRepairTicketsMapper.xml +++ b/dl-module-repair/src/main/resources/mapper/tickets/DlRepairTicketsMapper.xml @@ -203,17 +203,65 @@ and drt.is_finish = #{map.isFinish} - and ( - - find_in_set(#{item}, drti.repair_ids) > 0 + and (drt.tickets_status = '05') + and (drt.now_repair_id in + + #{item} ) - - and (drt.now_repair_id in - - #{item} - + order by drt.create_time desc + + +