diff --git a/yudao-module-common/yudao-module-common-biz/src/main/java/cn/iocoder/yudao/module/common/dal/mysql/mold/MoldMapper.java b/yudao-module-common/yudao-module-common-biz/src/main/java/cn/iocoder/yudao/module/common/dal/mysql/mold/MoldMapper.java new file mode 100644 index 0000000000..581ab0b202 --- /dev/null +++ b/yudao-module-common/yudao-module-common-biz/src/main/java/cn/iocoder/yudao/module/common/dal/mysql/mold/MoldMapper.java @@ -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 { + + default PageResult selectPage(MoldPageReqVO reqVO) { + LambdaQueryWrapperX 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 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 selectPage(PageParam reqVO, Long brandId) { + return selectPage(reqVO, new LambdaQueryWrapperX() + .eqIfPresent(MoldDO::getBrandId, brandId) + .orderByDesc(MoldDO::getId)); + } + + default int deleteByBrandId(Long brandId) { + return delete(MoldDO::getBrandId, brandId); + } + + default List selectBy(MoldDO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(MoldDO::getCode, reqVO.getCode()) + .likeIfPresent(MoldDO::getName, reqVO.getName()) + .eqIfPresent(MoldDO::getBrandId, reqVO.getBrandId()) + .orderByDesc(MoldDO::getId)); + } + + default List selectBy(Long brandId) { + return selectList(new LambdaQueryWrapperX() + .eq(MoldDO::getBrandId, brandId) + .orderByDesc(MoldDO::getId)); + } +} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/mold/MoldBrandController.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/mold/MoldBrandController.java index 1ace17addc..a6386615d3 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/mold/MoldBrandController.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/controller/admin/mold/MoldBrandController.java @@ -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> getMoldPage(PageParam pageReqVO, @RequestParam(value = "brandId", required = false) Long brandId) { - return success(moldBrandService.getMoldPage(pageReqVO, brandId)); + public CommonResult> 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 list = moldBrandService.getMoldPage(pageReqVO).getList(); // 调用正确的方法 + // 导出 Excel + ExcelUtils.write(response, "模具.xls", "数据", MoldRespVO.class, list); + } + // ==================== 子表(模具产品) ==================== @GetMapping("/mold-brand-product/page") diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/mold/MoldMapper.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/mold/MoldMapper.java deleted file mode 100644 index c42aed010e..0000000000 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/mold/MoldMapper.java +++ /dev/null @@ -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 { - - default PageResult selectPage(PageParam reqVO, Long brandId) { - return selectPage(reqVO, new LambdaQueryWrapperX() - .eqIfPresent(MoldDO::getBrandId, brandId) - .orderByDesc(MoldDO::getId)); - } - - default int deleteByBrandId(Long brandId) { - return delete(MoldDO::getBrandId, brandId); - } - - default List selectBy(MoldDO reqVO) { - return selectList(new LambdaQueryWrapperX() - .eqIfPresent(MoldDO::getCode, reqVO.getCode()) - .likeIfPresent(MoldDO::getName, reqVO.getName()) - .eqIfPresent(MoldDO::getBrandId, reqVO.getBrandId()) - .orderByDesc(MoldDO::getId)); - } - - default List selectBy(Long brandId) { - return selectList(new LambdaQueryWrapperX() - .eq(MoldDO::getBrandId, brandId) - .orderByDesc(MoldDO::getId)); - } - - -} \ No newline at end of file diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldBrandService.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldBrandService.java index 70d1d6e30a..1c04930fb0 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldBrandService.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldBrandService.java @@ -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 getMoldPage(PageParam pageReqVO, Long brandId); - + /** + * 获得模具分页 + * + * @param pageReqVO 分页查询 + * @return 模具分页 + */ + PageResult getMoldPage(MoldPageReqVO pageReqVO); List getMoldList(); /** diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldBrandServiceImpl.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldBrandServiceImpl.java index 51008ef089..9e7ff01ca7 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldBrandServiceImpl.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldBrandServiceImpl.java @@ -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 pageResult = moldMapper.selectPage(pageReqVO, brandId); return new PageResult<>(buildMoldVOList(pageResult.getList()), pageResult.getTotal()); } + @Override + public PageResult getMoldPage(MoldPageReqVO pageReqVO) { + PageResult pageResult = moldMapper.selectPage(pageReqVO); + return new PageResult<>(buildMoldVOList(pageResult.getList()), pageResult.getTotal()); + } @Override public List getMoldList() { @@ -191,13 +196,13 @@ public class MoldBrandServiceImpl implements MoldBrandService { } //点检列表 - List inspectionList = moldticketResultsMapper.findByMoldIdAndPlanType(id, MoldPlanTypeEnum.INSPECTION.getCode()); + List inspectionList = moldticketResultsMapper.findByMoldIdAndPlanType(id, MoldPlanTypeEnum.INSPECTION.getCode(),null,null,null); if(CollectionUtils.isNotEmpty(inspectionList)){ moldDO.setInspectionList(inspectionList); } //保养列表 - List maintainList = moldticketResultsMapper.findByMoldIdAndPlanType(id, MoldPlanTypeEnum.MAINTENANCE.getCode()); + List maintainList = moldticketResultsMapper.findByMoldIdAndPlanType(id, MoldPlanTypeEnum.MAINTENANCE.getCode(),null,null,null); if(CollectionUtils.isNotEmpty(maintainList)){ moldDO.setMaintainList(maintainList); }