feat:增加模具导出功能

plp
86158 1 week ago
parent 8371002507
commit 9b421a5d66

@ -0,0 +1,78 @@
package cn.iocoder.yudao.module.common.dal.mysql.mold;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.MoldPageReqVO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import com.alibaba.excel.util.StringUtils;
import org.apache.ibatis.annotations.Mapper;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* Mapper
*
* @author
*/
@Mapper
public interface MoldMapper extends BaseMapperX<MoldDO> {
default PageResult<MoldDO> selectPage(MoldPageReqVO reqVO) {
LambdaQueryWrapperX<MoldDO> wrapper = new LambdaQueryWrapperX<>();
wrapper
.eqIfPresent(MoldDO::getCode, reqVO.getCode())
.likeIfPresent(MoldDO::getName, reqVO.getName())
.eqIfPresent(MoldDO::getUnitId, reqVO.getUnitId())
.eqIfPresent(MoldDO::getMachineId, reqVO.getMachineId())
.likeIfPresent(MoldDO::getMachineName, reqVO.getMachineName())
.eqIfPresent(MoldDO::getUseTime, reqVO.getUseTime())
.betweenIfPresent(MoldDO::getInTime, reqVO.getInTime())
.eqIfPresent(MoldDO::getStatus, reqVO.getStatus())
.likeIfPresent(MoldDO::getImages, reqVO.getImages())
.likeIfPresent(MoldDO::getRemark, reqVO.getRemark())
.eqIfPresent(MoldDO::getIsEnable, reqVO.getIsEnable())
.betweenIfPresent(MoldDO::getCreateTime, reqVO.getCreateTime())
.eqIfPresent(MoldDO::getBrandId, reqVO.getBrandId())
.likeIfPresent(MoldDO::getFileUrl, reqVO.getFileUrl())
.orderByDesc(MoldDO::getId);
if (StringUtils.isNotBlank(reqVO.getIds())) {
List<Long> idList = Arrays.stream(reqVO.getIds().split(","))
.map(String::trim)
.map(Long::valueOf)
.collect(Collectors.toList());
wrapper.in(MoldDO::getId, idList);
}
return selectPage(reqVO, wrapper);
}
// 保持原有方法以兼容旧代码
default PageResult<MoldDO> selectPage(PageParam reqVO, Long brandId) {
return selectPage(reqVO, new LambdaQueryWrapperX<MoldDO>()
.eqIfPresent(MoldDO::getBrandId, brandId)
.orderByDesc(MoldDO::getId));
}
default int deleteByBrandId(Long brandId) {
return delete(MoldDO::getBrandId, brandId);
}
default List<MoldDO> selectBy(MoldDO reqVO) {
return selectList(new LambdaQueryWrapperX<MoldDO>()
.eqIfPresent(MoldDO::getCode, reqVO.getCode())
.likeIfPresent(MoldDO::getName, reqVO.getName())
.eqIfPresent(MoldDO::getBrandId, reqVO.getBrandId())
.orderByDesc(MoldDO::getId));
}
default List<MoldDO> selectBy(Long brandId) {
return selectList(new LambdaQueryWrapperX<MoldDO>()
.eq(MoldDO::getBrandId, brandId)
.orderByDesc(MoldDO::getId));
}
}

@ -6,11 +6,15 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandProductDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairPageReqVO;
import cn.iocoder.yudao.module.common.controller.admin.moldrepair.vo.MoldRepairRespVO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldBrandProductDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldrepair.MoldRepairDO;
import cn.iocoder.yudao.module.erp.service.mold.MoldBrandService;
import cn.iocoder.yudao.module.system.api.user.dto.AdminUserRespDTO;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
@ -112,12 +116,12 @@ public class MoldBrandController {
@GetMapping("/mold/page")
@Operation(summary = "获得模具分页")
@Parameter(name = "brandId", description = "型号id")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:query')")
public CommonResult<PageResult<MoldRespVO>> getMoldPage(PageParam pageReqVO, @RequestParam(value = "brandId", required = false) Long brandId) {
return success(moldBrandService.getMoldPage(pageReqVO, brandId));
public CommonResult<PageResult<MoldRespVO>> getMoldPage(@Valid MoldPageReqVO pageReqVO) {
return success(moldBrandService.getMoldPage(pageReqVO));
}
@GetMapping("/mold/list")
@Operation(summary = "获得模具列表")
@PreAuthorize("@ss.hasPermission('erp:mold-brand:query')")
@ -158,6 +162,20 @@ public class MoldBrandController {
return success(moldBrandService.getMold(id));
}
@GetMapping("/mold/export-excel")
@Operation(summary = "导出模具 Excel")
@Parameter(name = "brandId", description = "型号ID", required = true)
@PreAuthorize("@ss.hasPermission('erp:mold-brand:query')")
@ApiAccessLog(operateType = EXPORT)
public void exportMoldExcel(@Valid MoldPageReqVO pageReqVO,
HttpServletResponse response, @RequestParam("brandId") Long brandId) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
pageReqVO.setBrandId(brandId); // 将brandId设置到pageReqVO中
List<MoldRespVO> list = moldBrandService.getMoldPage(pageReqVO).getList(); // 调用正确的方法
// 导出 Excel
ExcelUtils.write(response, "模具.xls", "数据", MoldRespVO.class, list);
}
// ==================== 子表(模具产品) ====================
@GetMapping("/mold-brand-product/page")

@ -1,47 +0,0 @@
package cn.iocoder.yudao.module.erp.dal.mysql.mold;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
/**
* Mapper
*
* @author
*/
@Mapper
public interface MoldMapper extends BaseMapperX<MoldDO> {
default PageResult<MoldDO> selectPage(PageParam reqVO, Long brandId) {
return selectPage(reqVO, new LambdaQueryWrapperX<MoldDO>()
.eqIfPresent(MoldDO::getBrandId, brandId)
.orderByDesc(MoldDO::getId));
}
default int deleteByBrandId(Long brandId) {
return delete(MoldDO::getBrandId, brandId);
}
default List<MoldDO> selectBy(MoldDO reqVO) {
return selectList(new LambdaQueryWrapperX<MoldDO>()
.eqIfPresent(MoldDO::getCode, reqVO.getCode())
.likeIfPresent(MoldDO::getName, reqVO.getName())
.eqIfPresent(MoldDO::getBrandId, reqVO.getBrandId())
.orderByDesc(MoldDO::getId));
}
default List<MoldDO> selectBy(Long brandId) {
return selectList(new LambdaQueryWrapperX<MoldDO>()
.eq(MoldDO::getBrandId, brandId)
.orderByDesc(MoldDO::getId));
}
}

@ -4,10 +4,10 @@ import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils;
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandProductDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldBrandProductDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductCategoryDO;
import javax.validation.Valid;
@ -79,7 +79,13 @@ public interface MoldBrandService {
* @return
*/
PageResult<MoldRespVO> getMoldPage(PageParam pageReqVO, Long brandId);
/**
*
*
* @param pageReqVO
* @return
*/
PageResult<MoldRespVO> getMoldPage(MoldPageReqVO pageReqVO);
List<MoldDO> getMoldList();
/**

@ -5,22 +5,22 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.common.util.collection.MapUtils;
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandProductDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.moldrepair.MoldRepairDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.moldrepair.MoldRepairLineDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.moldticketresults.MoldTicketResultsDO;
import cn.iocoder.yudao.module.common.controller.admin.mold.vo.*;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldBrandDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldBrandProductDO;
import cn.iocoder.yudao.module.common.dal.dataobject.mold.MoldDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldrepair.MoldRepairDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldrepair.MoldRepairLineDO;
import cn.iocoder.yudao.module.common.dal.dataobject.moldticketresults.MoldTicketResultsDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductDO;
import cn.iocoder.yudao.module.erp.dal.dataobject.product.ErpProductUnitDO;
import cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldBrandMapper;
import cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldBrandProductMapper;
import cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldMapper;
import cn.iocoder.yudao.module.erp.dal.mysql.moldrepair.MoldRepairLineMapper;
import cn.iocoder.yudao.module.erp.dal.mysql.moldrepair.MoldRepairMapper;
import cn.iocoder.yudao.module.erp.dal.mysql.moldticketresults.MoldTicketResultsMapper;
import cn.iocoder.yudao.module.erp.controller.admin.moldticketmanagement.enums.MoldPlanTypeEnum;
import cn.iocoder.yudao.module.common.dal.mysql.mold.MoldBrandMapper;
import cn.iocoder.yudao.module.common.dal.mysql.mold.MoldBrandProductMapper;
import cn.iocoder.yudao.module.common.dal.mysql.mold.MoldMapper;
import cn.iocoder.yudao.module.common.dal.mysql.moldrepair.MoldRepairLineMapper;
import cn.iocoder.yudao.module.common.dal.mysql.moldrepair.MoldRepairMapper;
import cn.iocoder.yudao.module.common.dal.mysql.moldticketresults.MoldTicketResultsMapper;
import cn.iocoder.yudao.module.common.controller.admin.moldticketmanagement.enums.MoldPlanTypeEnum;
import cn.iocoder.yudao.module.erp.service.product.ErpProductService;
import cn.iocoder.yudao.module.erp.service.product.ErpProductUnitService;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
@ -135,6 +135,11 @@ public class MoldBrandServiceImpl implements MoldBrandService {
PageResult<MoldDO> pageResult = moldMapper.selectPage(pageReqVO, brandId);
return new PageResult<>(buildMoldVOList(pageResult.getList()), pageResult.getTotal());
}
@Override
public PageResult<MoldRespVO> getMoldPage(MoldPageReqVO pageReqVO) {
PageResult<MoldDO> pageResult = moldMapper.selectPage(pageReqVO);
return new PageResult<>(buildMoldVOList(pageResult.getList()), pageResult.getTotal());
}
@Override
public List<MoldDO> getMoldList() {
@ -191,13 +196,13 @@ public class MoldBrandServiceImpl implements MoldBrandService {
}
//点检列表
List<MoldTicketResultsDO> inspectionList = moldticketResultsMapper.findByMoldIdAndPlanType(id, MoldPlanTypeEnum.INSPECTION.getCode());
List<MoldTicketResultsDO> inspectionList = moldticketResultsMapper.findByMoldIdAndPlanType(id, MoldPlanTypeEnum.INSPECTION.getCode(),null,null,null);
if(CollectionUtils.isNotEmpty(inspectionList)){
moldDO.setInspectionList(inspectionList);
}
//保养列表
List<MoldTicketResultsDO> maintainList = moldticketResultsMapper.findByMoldIdAndPlanType(id, MoldPlanTypeEnum.MAINTENANCE.getCode());
List<MoldTicketResultsDO> maintainList = moldticketResultsMapper.findByMoldIdAndPlanType(id, MoldPlanTypeEnum.MAINTENANCE.getCode(),null,null,null);
if(CollectionUtils.isNotEmpty(maintainList)){
moldDO.setMaintainList(maintainList);
}

Loading…
Cancel
Save