diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairController.java index cbb2a1cc..44e61398 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/controller/RepairController.java @@ -8,11 +8,9 @@ import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.page.TableDataInfo; +import com.bonus.material.back.domain.vo.BackApplyVo; import com.bonus.material.repair.domain.*; -import com.bonus.material.repair.domain.vo.OCRBean; -import com.bonus.material.repair.domain.vo.RepairDeviceSummaryVo; -import com.bonus.material.repair.domain.vo.RepairDeviceVO; -import com.bonus.material.repair.domain.vo.RepairInputDetailsVo; +import com.bonus.material.repair.domain.vo.*; import com.bonus.material.repair.service.RepairService; import com.bonus.system.api.domain.SysUser; import com.fasterxml.jackson.core.JsonProcessingException; @@ -232,4 +230,44 @@ public class RepairController extends BaseController { return js; } + /** + * 查询修试查询-维修配件查询列表 + * @param dto + * @return + */ + @ApiOperation(value = "查询修试查询-维修配件查询列表") + @GetMapping("/selectRepairPartList") + public AjaxResult selectRepairPartList(RepairPartVo dto) { + Integer pageIndex = Convert.toInt(ServletUtils.getParameter("pageNum"), 1); + Integer pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10); + List list = service.selectRepairPartList(dto); + return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list)); + } + + /** + * 导出修试查询-维修配件查询列表 + * @param response + * @param dto + */ + @PostMapping("/exportRepairPartList") + public void exportBackApplyList(HttpServletResponse response, RepairPartVo dto) { + List list = service.selectRepairPartList(dto); + ExcelUtil util = new ExcelUtil(RepairPartVo.class); + util.exportExcel(response, list, "退维修配件查询数据"); + } + + /** + * 查询修试查询-维修配件查询二级列表 + * @param dto + * @return + */ + @ApiOperation(value = "查询修试查询-维修配件查询二级列表") + @GetMapping("/selectSecondRepairPartList") + public AjaxResult selectSecondRepairPartList(RepairPartInfo dto) { + Integer pageIndex = Convert.toInt(ServletUtils.getParameter("pageNum"), 1); + Integer pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10); + List list = service.selectSecondRepairPartList(dto); + return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list)); + } + } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairPartInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairPartInfo.java new file mode 100644 index 00000000..93df94df --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairPartInfo.java @@ -0,0 +1,49 @@ +package com.bonus.material.repair.domain.vo; + +import com.bonus.common.core.annotation.Excel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * 维修配件查询二级页面 + * @Author ma_sh + * @create 2025/4/1 14:19 + */ +@Data +public class RepairPartInfo { + + private Long typeId; + + private Long taskId; + + private Long maId; + + @ApiModelProperty(value="关键字") + private String keyWord; + + @ApiModelProperty(value = "配件名称") + @Excel(name = "配件名称") + private String partName; + + @ApiModelProperty(value = "规格型号") + @Excel(name = "规格型号") + private String partModelName; + + @ApiModelProperty(value = "使用数量") + @Excel(name = "使用数量") + private BigDecimal partNum; + + @ApiModelProperty(value = "单价") + @Excel(name = "单价(元)") + private BigDecimal partPrice; + + @ApiModelProperty(value = "收费金额(元)") + @Excel(name = "收费金额(元)") + private BigDecimal partTotalPrice; + + @ApiModelProperty(value = "不收费金额(元)") + @Excel(name = "不收费金额(元)") + private BigDecimal partNoTotalPrice; +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairPartVo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairPartVo.java new file mode 100644 index 00000000..fa5b6a23 --- /dev/null +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/domain/vo/RepairPartVo.java @@ -0,0 +1,94 @@ +package com.bonus.material.repair.domain.vo; + +import com.bonus.common.core.annotation.Excel; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +/** + * 修试查询-维修配件查询 + * @Author ma_sh + * @create 2025/4/1 11:10 + */ +@Data +public class RepairPartVo { + /** ID */ + private Long id; + + @ApiModelProperty(value = "维修单号") + @Excel(name = "维修单号") + private String repairCode; + + @ApiModelProperty(value = "单位id") + private Long unitId; + + @ApiModelProperty(value = "单位名称") + @Excel(name = "退料单位") + private String backUnitName; + + @ApiModelProperty(value="工程id") + private Long proId; + + @ApiModelProperty(value="工程名称") + @Excel(name = "工程名称") + private String backProName; + + @ApiModelProperty(value = "类型名称") + @Excel(name = "类型名称") + private String typeName; + + @ApiModelProperty(value = "规格型号") + @Excel(name = "规格型号") + private String typeModelName; + + @ApiModelProperty(value = "设备编码") + @Excel(name = "设备编码") + private String maCode; + + @ApiModelProperty(value = "维修数量") + @Excel(name = "维修数量") + private BigDecimal repairNum; + + @ApiModelProperty(value = "计量单位") + @Excel(name = "单位") + private String unitName; + + @ApiModelProperty(value = "配件名称") + @Excel(name = "配件名称") + private String partName; + + @ApiModelProperty(value = "配件规格") + @Excel(name = "配件规格") + private String partModelName; + + @ApiModelProperty(value = "使用数量") + @Excel(name = "使用数量") + private BigDecimal partNum; + + @ApiModelProperty(value = "维修人员") + @Excel(name = "维修人员") + private String repairPerson; + + @ApiModelProperty(value = "维修时间") + @JsonFormat(pattern = "yyyy-MM-dd") + @Excel(name = "维修时间", dateFormat = "yyyy-MM-dd", width = 20) + private Date repairTime; + + @ApiModelProperty(value="开始时间") + private String startTime; + + @ApiModelProperty(value="结束时间") + private String endTime; + + @ApiModelProperty(value="关键字") + private String keyWord; + + private Long typeId; + + private Long taskId; + + private Long maId; +} diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java index f635f081..9ed7e420 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/mapper/RepairMapper.java @@ -3,6 +3,8 @@ package com.bonus.material.repair.mapper; import com.bonus.material.repair.domain.*; import com.bonus.material.repair.domain.vo.RepairDeviceVO; import com.bonus.material.repair.domain.vo.RepairInputDetailsVo; +import com.bonus.material.repair.domain.vo.RepairPartInfo; +import com.bonus.material.repair.domain.vo.RepairPartVo; import com.bonus.system.api.domain.SysUser; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; @@ -240,4 +242,25 @@ public interface RepairMapper { * @return */ int updateStatus(RepairTaskDetails details); + + /** + * 查询修试查询-维修配件查询列表 + * @param dto + * @return + */ + List selectRepairPartList(RepairPartVo dto); + + /** + * 查询配件相关信息 + * @param repairPartVo + * @return + */ + RepairPartVo selectRepairPartInfo(RepairPartVo repairPartVo); + + /** + * 查询修试查询-维修配件查询二级列表 + * @param dto + * @return + */ + List selectSecondRepairPartList(RepairPartInfo dto); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/RepairService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/RepairService.java index 64881601..0546c8ed 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/RepairService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/RepairService.java @@ -6,9 +6,7 @@ import com.bonus.material.repair.domain.RepairApplyRecord; import com.bonus.material.repair.domain.RepairPartDetails; import com.bonus.material.repair.domain.RepairTask; import com.bonus.material.repair.domain.RepairTaskDetails; -import com.bonus.material.repair.domain.vo.RepairDeviceSummaryVo; -import com.bonus.material.repair.domain.vo.RepairDeviceVO; -import com.bonus.material.repair.domain.vo.RepairInputDetailsVo; +import com.bonus.material.repair.domain.vo.*; import com.bonus.system.api.domain.SysUser; import javax.validation.constraints.NotNull; @@ -94,4 +92,18 @@ public interface RepairService { * @return */ List getDetailsList(RepairPartDetails bean); + + /** + * 查询修试查询-维修配件查询列表 + * @param dto + * @return + */ + List selectRepairPartList(RepairPartVo dto); + + /** + * 查询修试查询-维修配件查询二级列表 + * @param dto + * @return + */ + List selectSecondRepairPartList(RepairPartInfo dto); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java index 23a2cd83..f9f1a45f 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/repair/service/impl/RepairServiceImpl.java @@ -15,10 +15,7 @@ import com.bonus.material.basic.mapper.BmFileInfoMapper; import com.bonus.material.ma.domain.PartType; import com.bonus.material.ma.mapper.PartTypeMapper; import com.bonus.material.repair.domain.*; -import com.bonus.material.repair.domain.vo.RepairDeviceSummaryVo; -import com.bonus.material.repair.domain.vo.RepairDeviceVO; -import com.bonus.material.repair.domain.vo.RepairInputDetailsVo; -import com.bonus.material.repair.domain.vo.RepairTicketVo; +import com.bonus.material.repair.domain.vo.*; import com.bonus.material.repair.mapper.RepairApplyDetailsMapper; import com.bonus.material.repair.mapper.RepairAuditDetailsMapper; import com.bonus.material.repair.mapper.RepairMapper; @@ -1237,4 +1234,82 @@ public class RepairServiceImpl implements RepairService { public List getDetailsList(RepairPartDetails bean) { return repairMapper.getDetailsList(bean); } + + /** + * 查询修试查询-维修配件查询列表 + * @param dto + * @return + */ + @Override + public List selectRepairPartList(RepairPartVo dto) { + // 查询维修配件列表 + List list = repairMapper.selectRepairPartList(dto); + if (!CollectionUtils.isEmpty(list)) { + for (RepairPartVo repairPartVo : list) { + // 查询配件相关信息 + RepairPartVo info = repairMapper.selectRepairPartInfo(repairPartVo); + if (info != null) { + repairPartVo.setPartName(StringUtils.isNotBlank(info.getPartName()) ? info.getPartName() : null); + repairPartVo.setPartModelName(StringUtils.isNotBlank(info.getPartModelName()) ? info.getPartModelName() : null); + repairPartVo.setPartNum(info.getPartNum()); + repairPartVo.setRepairPerson(StringUtils.isNotBlank(info.getRepairPerson()) ? info.getRepairPerson() : null); + } + } + // 如果关键字不为空,根据关键字查询 + if (!StringUtils.isBlank(dto.getKeyWord())) { + list = list.stream() + .filter(item -> containsBackKeyword(item, dto.getKeyWord())) + .collect(Collectors.toList()); + } + } + return list; + } + + /** + * 查询修试查询-维修配件查询二级列表 + * @param dto + * @return + */ + @Override + public List selectSecondRepairPartList(RepairPartInfo dto) { + List list = repairMapper.selectSecondRepairPartList(dto); + if (!CollectionUtils.isEmpty(list)) { + // 如果关键字不为空,根据关键字查询 + if (!StringUtils.isBlank(dto.getKeyWord())) { + list = list.stream() + .filter(item -> containsRepairKeyword(item, dto.getKeyWord())) + .collect(Collectors.toList()); + } + } + return list; + } + + /** + * 判断维修配件查询二级列表是否包含关键字 + * @param item + * @param keyWord + * @return + */ + private boolean containsRepairKeyword(RepairPartInfo item, String keyWord) { + return (item.getPartName() != null && item.getPartName().contains(keyWord)) || + (item.getPartModelName() != null && item.getPartModelName().contains(keyWord)); + } + + /** + * 判断维修配件查询列表是否包含关键字 + * @param item + * @param keyWord + * @return + */ + private boolean containsBackKeyword(RepairPartVo item, String keyWord) { + return (item.getTypeName() != null && item.getTypeName().contains(keyWord)) || + (item.getTypeModelName() != null && item.getTypeModelName().contains(keyWord)) || + (item.getRepairPerson() != null && item.getRepairPerson().contains(keyWord)) || + (item.getBackUnitName() != null && item.getBackUnitName().contains(keyWord)) || + (item.getBackProName() != null && item.getBackProName().contains(keyWord)) || + (item.getPartName() != null && item.getPartName().contains(keyWord)) || + (item.getPartModelName() != null && item.getPartModelName().contains(keyWord)) || + (item.getRepairCode() != null && item.getRepairCode().contains(keyWord)) || + (item.getMaCode() != null && item.getMaCode().contains(keyWord)); + } } diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml index 3947c0ab..434bfbd4 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/back/BackApplyInfoMapper.xml @@ -878,6 +878,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and bp.pro_id = #{proId} + ORDER BY bcd.create_time DESC + + + + + + update repair_apply_details