diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/controller/admin/RepairWaresController.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/controller/admin/RepairWaresController.java index 3ceb96cf..c3536e16 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/controller/admin/RepairWaresController.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/controller/admin/RepairWaresController.java @@ -6,22 +6,17 @@ import cn.iocoder.yudao.module.project.service.RepairWaresService; import cn.iocoder.yudao.module.project.vo.RepairWaresPageReqVO; import cn.iocoder.yudao.module.project.vo.RepairWaresRespVO; import cn.iocoder.yudao.module.project.vo.RepairWaresSaveReqVO; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; -import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import javax.validation.Valid; -import java.util.Comparator; -import java.util.List; - import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - 配件库") @@ -129,5 +124,15 @@ public class RepairWaresController { return success(waresService.getWaresByName(name)); } + /** + * 查询所有有配件的分类 + * @author vinjor-M + * @date 10:51 2024/10/22 + **/ + @GetMapping("/getAllTypeList") + @Operation(summary = "查询所有有配件的分配") + public CommonResult getAllTypeList() { + return success(waresService.getAllTypeList()); + } } \ No newline at end of file diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/mapper/RepairWaresMapper.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/mapper/RepairWaresMapper.java index 9fd38886..d5d8181a 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/mapper/RepairWaresMapper.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/mapper/RepairWaresMapper.java @@ -9,6 +9,9 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; +import java.util.Map; + /** * 配件库 Mapper * @@ -35,4 +38,12 @@ public interface RepairWaresMapper extends BaseMapper { * @date 18:03 2024/9/25 **/ RepairWaresRespVO getWaresByName(@Param("name") String name); + + /** + * 查询所有有配件的分配 + * @author vinjor-M + * @date 10:54 2024/10/22 + * @return java.util.List> + **/ + List> selectAllType(); } \ No newline at end of file diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/RepairWaresService.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/RepairWaresService.java index d2cc6dfd..aae23399 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/RepairWaresService.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/RepairWaresService.java @@ -8,6 +8,9 @@ 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; +import java.util.Map; + /** * 配件库 Service 接口 * @@ -60,4 +63,12 @@ public interface RepairWaresService extends IService { * @date 18:03 2024/9/25 **/ RepairWaresRespVO getWaresByName(String name); + + /** + * 查询所有有配件的分配 + * @author vinjor-M + * @date 10:53 2024/10/22 + * @return java.util.List> + **/ + List> getAllTypeList(); } \ No newline at end of file diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/impl/RepairWaresServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/impl/RepairWaresServiceImpl.java index cb60c93a..2f92619c 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/impl/RepairWaresServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/project/service/impl/RepairWaresServiceImpl.java @@ -16,6 +16,8 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import java.util.Arrays; +import java.util.List; +import java.util.Map; /** * 配件库 Service 实现类 @@ -100,4 +102,16 @@ public class RepairWaresServiceImpl extends ServiceImpl> + * @author vinjor-M + * @date 10:53 2024/10/22 + **/ + @Override + public List> getAllTypeList() { + return waresMapper.selectAllType(); + } + } \ No newline at end of file diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/mapper/DlRepairSoMapper.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/mapper/DlRepairSoMapper.java index 53a8ed85..9e39cf10 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/mapper/DlRepairSoMapper.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/stockOperate/mapper/DlRepairSoMapper.java @@ -17,6 +17,17 @@ import org.apache.ibatis.annotations.Param; public interface DlRepairSoMapper extends BaseMapper { IPage getRepairSoPage(@Param("map") DlRepairSoReqVO repairSoReqVO, Page page); + + /** + * 根据条件查询指定数量:待确认的领料单 待确认的退料单 + * @author vinjor-M + * @date 16:09 2024/10/22 + * @param type 02 领料单 |04 退料单 + * @param userId 用户ID + * @param status 04 待领料状态 |07 待退料状态 + * @return java.lang.Integer + **/ + Integer selectCountNum(@Param("type") String type,@Param("userId") Long userId,@Param("status") String status); } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlTicketWaresController.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlTicketWaresController.java index 908fc791..a00c74d7 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlTicketWaresController.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/controller/admin/DlTicketWaresController.java @@ -73,6 +73,20 @@ public class DlTicketWaresController { return CommonResult.ok(); } + /** + * 新建配件申请单、 + * @author vinjor-M + * @date 14:35 2024/10/22 + * @param respVO 请求体 + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + **/ + @PostMapping("/newApplyOrder") + @Operation(summary = "新增、修改") + public CommonResult newApplyOrder(@RequestBody DlTicketWaresRespVO respVO){ + dlTicketWaresService.createApplyOrder(respVO); + return CommonResult.ok(); + } + /** * 删除 * @@ -142,5 +156,17 @@ public class DlTicketWaresController { dlTicketWaresService.passBackTicketWares(respVO); return CommonResult.ok(); } + + /** + * 维修工的角度查提交的配件申请单\待确认领料单\待确认退料单 待处理数量 + * @author vinjor-M + * @date 15:32 2024/10/22 + * @return cn.iocoder.yudao.framework.common.pojo.CommonResult + **/ + @GetMapping("/getWorkerTodo") + @Operation(summary = "维修工的角度查提交的配件申请单") + public CommonResult getWorkerTodo(){ + return success(dlTicketWaresService.getWorkerTodo()); + } } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/entity/DlTicketWares.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/entity/DlTicketWares.java index 110af90b..8e08152a 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/entity/DlTicketWares.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/entity/DlTicketWares.java @@ -57,4 +57,6 @@ public class DlTicketWares extends TenantBaseDO { /** 维修顾问name(system_user的nickname) */ private String adviserName; + /** 客户车辆的车牌号(dl_repair_tickets中的carNo) */ + private String licenseNumber; } \ No newline at end of file diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlTicketWaresService.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlTicketWaresService.java index 518b1c47..dd15fa14 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlTicketWaresService.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/DlTicketWaresService.java @@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; +import java.util.Map; /** * 针对表【dl_ticket_wares(工单配件申请/退回表)】的数据库操作Service @@ -88,4 +89,19 @@ public interface DlTicketWaresService extends IService { * @param respVO 请求对象 **/ void passBackTicketWares(DlTicketWaresRespVO respVO); + + /** + * 创建配件申请单 + * @author vinjor-M + * @date 14:48 2024/10/22 + * @param respVO 请求体 + **/ + void createApplyOrder(DlTicketWaresRespVO respVO); + + /** + * 维修工的角度查提交的配件申请单 待处理数量 + * @author vinjor-M + * @date 15:38 2024/10/22 + **/ + Map getWorkerTodo(); } diff --git a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlTicketWaresServiceImpl.java b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlTicketWaresServiceImpl.java index 43311cd6..424d0480 100644 --- a/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlTicketWaresServiceImpl.java +++ b/dl-module-repair/src/main/java/cn/iocoder/yudao/module/tickets/service/impl/DlTicketWaresServiceImpl.java @@ -3,12 +3,15 @@ package cn.iocoder.yudao.module.tickets.service.impl; import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.util.ObjectUtil; import cn.iocoder.yudao.common.RepairRoleEnum; +import cn.iocoder.yudao.common.SoStatusEnum; +import cn.iocoder.yudao.framework.security.core.LoginUser; import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils; import cn.iocoder.yudao.module.base.entity.RepairWorker; import cn.iocoder.yudao.module.base.service.RepairWorkerService; import cn.iocoder.yudao.module.project.entity.RepairWares; import cn.iocoder.yudao.module.project.service.RepairWaresService; import cn.iocoder.yudao.module.stockOperate.entity.DlRepairSoi; +import cn.iocoder.yudao.module.stockOperate.mapper.DlRepairSoMapper; import cn.iocoder.yudao.module.stockOperate.service.DlRepairSoService; import cn.iocoder.yudao.module.stockOperate.service.DlRepairSoiService; import cn.iocoder.yudao.module.tickets.entity.DlRepairTickets; @@ -28,15 +31,13 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; 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.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.math.BigDecimal; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Objects; +import java.util.*; import java.util.stream.Collectors; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception0; @@ -48,8 +49,7 @@ import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionU * @date 11:56 2024/10/15 **/ @Service -public class DlTicketWaresServiceImpl extends ServiceImpl - implements DlTicketWaresService { +public class DlTicketWaresServiceImpl extends ServiceImpl implements DlTicketWaresService { @Resource @@ -81,6 +81,9 @@ public class DlTicketWaresServiceImpl extends ServiceImpl list = respVO.getItems().stream().map(dlTwItem -> dlTwItem.setTwId(respVO.getId())).collect(Collectors.toList()); + twItemService.saveBatch(list); + } + + } + + /** + * 维修工的角度查提交的配件申请单\待确认领料单\待确认退料单 待处理数量 + * + * @author vinjor-M + * @date 15:38 2024/10/22 + **/ + @Override + public Map getWorkerTodo() { + LoginUser loginUser = SecurityFrameworkUtils.getLoginUser(); + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper() + .eq(DlTicketWares::getRepairId,loginUser.getId()); + List list = this.list(queryWrapper); + Map rtnMap = new HashMap<>(); + //所有提交的 + Integer submitNum = list.size(); + //已通过的 + Integer allowNum = 0; + //未通过的 + Integer noAllowNum = 0; + //待确认领料单 + Integer waitingReceiveNum = dlRepairSoMapper.selectCountNum("02",loginUser.getId(), SoStatusEnum.TO_BE_PICKED.getCode()); + //待确认退料单 + Integer waitingBackNum = dlRepairSoMapper.selectCountNum("04",loginUser.getId(), SoStatusEnum.TO_BE_RETURNED.getCode()); + for (DlTicketWares wares:list){ + if("02".equals(wares.getStatus())){ + //已通过 + allowNum++; + }else if("05".equals(wares.getStatus())){ + //被驳回 + noAllowNum++; + } + } + rtnMap.put("submitNum",submitNum); + rtnMap.put("allowNum",allowNum); + rtnMap.put("noAllowNum",noAllowNum); + rtnMap.put("waitingReceiveNum",waitingReceiveNum); + rtnMap.put("waitingBackNum",waitingBackNum); + return rtnMap; + } + } diff --git a/dl-module-repair/src/main/resources/mapper/project/RepairWaresMapper.xml b/dl-module-repair/src/main/resources/mapper/project/RepairWaresMapper.xml index 15cb813f..89679d42 100644 --- a/dl-module-repair/src/main/resources/mapper/project/RepairWaresMapper.xml +++ b/dl-module-repair/src/main/resources/mapper/project/RepairWaresMapper.xml @@ -24,6 +24,9 @@ and drw.name like concat('%', #{entity.name}, '%') + + and drw.type =#{entity.type} + GROUP BY drw.id @@ -44,4 +47,12 @@ LEFT JOIN dl_base_warehouse dbw ON drw.warehouse = dbw.id AND dbw.deleted = 0 where drw.name = #{name} order by drw.create_time desc limit 1 + \ No newline at end of file diff --git a/dl-module-repair/src/main/resources/mapper/stockOperate/DlRepairSoMapper.xml b/dl-module-repair/src/main/resources/mapper/stockOperate/DlRepairSoMapper.xml index 1ee6601d..4219b29f 100644 --- a/dl-module-repair/src/main/resources/mapper/stockOperate/DlRepairSoMapper.xml +++ b/dl-module-repair/src/main/resources/mapper/stockOperate/DlRepairSoMapper.xml @@ -86,4 +86,15 @@ order by so.create_time desc + diff --git a/yudao-server/src/main/resources/application-local.yaml b/yudao-server/src/main/resources/application-local.yaml index aa41b6e1..314f6e42 100644 --- a/yudao-server/src/main/resources/application-local.yaml +++ b/yudao-server/src/main/resources/application-local.yaml @@ -180,6 +180,7 @@ logging: cn.iocoder.yudao.module.staff.mapper: debug # cn.iocoder.yudao.module.property.mapper: debug # cn.iocoder.yudao.module.tickets.mapper: debug # + cn.iocoder.yudao.module.project.mapper: debug # debug: false