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 e17abf628..84c9b1218 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 @@ -1,36 +1,31 @@ package cn.iocoder.yudao.module.erp.controller.admin.mold; -import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandProductDO; -import org.springframework.web.bind.annotation.*; - -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.v3.oas.annotations.tags.Tag; -import io.swagger.v3.oas.annotations.Parameter; -import io.swagger.v3.oas.annotations.Operation; - -import java.util.*; -import java.io.IOException; - +import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; +import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.CommonResult; import cn.iocoder.yudao.framework.common.util.object.BeanUtils; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - -import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog; -import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*; - 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.service.mold.MoldBrandService; +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.servlet.http.HttpServletResponse; import javax.validation.Valid; +import java.io.IOException; +import java.util.List; + +import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.EXPORT; +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; @Tag(name = "管理后台 - 模具型号") @RestController @@ -73,7 +68,12 @@ public class MoldBrandController { MoldBrandDO moldBrand = moldBrandService.getMoldBrand(id); return success(BeanUtils.toBean(moldBrand, MoldBrandRespVO.class)); } - + @GetMapping("/getBrandList") + @Operation(summary = "获得模具型号列表") + public CommonResult> getBrandList(MoldBrandPageReqVO pageReqVO) { + List brandDOList = moldBrandService.selectBy(pageReqVO); + return success(brandDOList); + } @GetMapping("/page") @Operation(summary = "获得模具型号分页") @PreAuthorize("@ss.hasPermission('erp:mold-brand:query')") @@ -95,7 +95,12 @@ public class MoldBrandController { } // ==================== 子表(模具) ==================== - + @GetMapping("/getMoldList") + @Operation(summary = "获得模具型号") + public CommonResult> getMoldList(MoldDO moldDO) { + List doList = moldBrandService.selectBy(moldDO); + return success(doList); + } @GetMapping("/mold/page") @Operation(summary = "获得模具分页") @Parameter(name = "brandId", description = "型号id") diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/mold/MoldBrandMapper.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/mold/MoldBrandMapper.java index 41914834f..b0ef596e5 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/mold/MoldBrandMapper.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/dal/mysql/mold/MoldBrandMapper.java @@ -1,13 +1,13 @@ package cn.iocoder.yudao.module.erp.dal.mysql.mold; -import java.util.*; - import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.MoldBrandPageReqVO; import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandDO; import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.*; + +import java.util.List; /** * 模具型号 Mapper @@ -32,5 +32,19 @@ public interface MoldBrandMapper extends BaseMapperX { .betweenIfPresent(MoldBrandDO::getCreateTime, reqVO.getCreateTime()) .orderByDesc(MoldBrandDO::getId)); } - + default List selectBy(MoldBrandPageReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(MoldBrandDO::getCode, reqVO.getCode()) + .likeIfPresent(MoldBrandDO::getName, reqVO.getName()) + .eqIfPresent(MoldBrandDO::getMoldType, reqVO.getMoldType()) + .eqIfPresent(MoldBrandDO::getProductId, reqVO.getProductId()) + .eqIfPresent(MoldBrandDO::getUseTime, reqVO.getUseTime()) + .eqIfPresent(MoldBrandDO::getMaintainType, reqVO.getMaintainType()) + .eqIfPresent(MoldBrandDO::getMaintainTime, reqVO.getMaintainTime()) + .eqIfPresent(MoldBrandDO::getMoldSize, reqVO.getMoldSize()) + .eqIfPresent(MoldBrandDO::getRemark, reqVO.getRemark()) + .eqIfPresent(MoldBrandDO::getIsEnable, reqVO.getIsEnable()) + .betweenIfPresent(MoldBrandDO::getCreateTime, reqVO.getCreateTime()) + .orderByDesc(MoldBrandDO::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/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 index 59c116f35..2f47c628c 100644 --- 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 @@ -1,14 +1,14 @@ package cn.iocoder.yudao.module.erp.dal.mysql.mold; -import java.util.*; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +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 java.util.List; + /** * 模具 Mapper * @@ -26,5 +26,11 @@ public interface MoldMapper extends BaseMapperX { 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()) + .eq(MoldDO::getBrandId, reqVO.getBrandId()) + .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 4a49b8c39..434ae6851 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 @@ -1,14 +1,19 @@ package cn.iocoder.yudao.module.erp.service.mold; -import java.util.*; +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.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; import javax.validation.Valid; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * 模具型号 Service 接口 @@ -46,7 +51,7 @@ public interface MoldBrandService { * @return 模具型号 */ MoldBrandDO getMoldBrand(Long id); - + List selectBy(MoldBrandPageReqVO reqVO); /** * 获得模具型号分页 * @@ -54,7 +59,13 @@ public interface MoldBrandService { * @return 模具型号分页 */ PageResult getMoldBrandPage(MoldBrandPageReqVO pageReqVO); - + default Map getMap(Collection ids) { + if (CollUtil.isEmpty(ids)) { + return new HashMap<>(); + } + return CollectionUtils.convertMap(getList(ids), MoldBrandDO::getId); + } + List getList(Collection ids); // ==================== 子表(模具) ==================== /** @@ -95,7 +106,7 @@ public interface MoldBrandService { * @return 模具 */ MoldDO getMold(Long id); - + List selectBy(MoldDO reqVO); // ==================== 子表(模具产品) ==================== /** 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 58df32c30..66d244484 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 @@ -1,32 +1,30 @@ package cn.iocoder.yudao.module.erp.service.mold; import cn.hutool.core.collection.CollUtil; -import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; +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.module.erp.controller.admin.product.vo.product.ErpProductRespVO; +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.product.ErpProductCategoryDO; +import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO; 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.service.product.ErpProductService; import cn.iocoder.yudao.module.erp.service.product.ErpProductUnitService; import org.springframework.stereotype.Service; -import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; - -import java.util.*; -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.MoldDO; -import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.common.pojo.PageParam; -import cn.iocoder.yudao.framework.common.util.object.BeanUtils; - -import cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldBrandMapper; -import cn.iocoder.yudao.module.erp.dal.mysql.mold.MoldMapper; +import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; @@ -89,7 +87,10 @@ public class MoldBrandServiceImpl implements MoldBrandService { public MoldBrandDO getMoldBrand(Long id) { return moldBrandMapper.selectById(id); } - + @Override + public List selectBy(MoldBrandPageReqVO reqVO){ + return moldBrandMapper.selectBy(reqVO); + } @Override public PageResult getMoldBrandPage(MoldBrandPageReqVO pageReqVO) { PageResult pageResult = moldBrandMapper.selectPage(pageReqVO); @@ -106,6 +107,10 @@ public class MoldBrandServiceImpl implements MoldBrandService { product -> item.setProductName(product.getName())); }); } + @Override + public List getList(Collection ids) { + return moldBrandMapper.selectBatchIds(ids); + } // ==================== 子表(模具) ==================== @Override @@ -151,7 +156,10 @@ public class MoldBrandServiceImpl implements MoldBrandService { public MoldDO getMold(Long id) { return moldMapper.selectById(id); } - + @Override + public List selectBy(MoldDO reqVO){ + return moldMapper.selectBy(reqVO); + } private void validateMoldExists(Long id) { if (moldMapper.selectById(id) == null) { throw exception(MOLD_NOT_EXISTS); diff --git a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldService.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldService.java index 3bfc5d07e..82e7d16eb 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldService.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldService.java @@ -1,11 +1,17 @@ package cn.iocoder.yudao.module.erp.service.mold; -import java.util.*; -import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.*; -import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO; +import cn.hutool.core.collection.CollUtil; 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.MoldPageReqVO; +import cn.iocoder.yudao.module.erp.controller.admin.mold.vo.MoldSaveReqVO; +import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO; import javax.validation.Valid; +import java.util.Collection; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * 模具 Service 接口 @@ -51,5 +57,11 @@ public interface MoldService { * @return 模具分页 */ PageResult getMoldPage(MoldPageReqVO pageReqVO); - + List getList(Collection ids); + default Map getMap(Collection ids) { + if (CollUtil.isEmpty(ids)) { + return new HashMap<>(); + } + return CollectionUtils.convertMap(getList(ids), 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/MoldServiceImpl.java b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldServiceImpl.java index 5352348aa..f345495ce 100644 --- a/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldServiceImpl.java +++ b/yudao-module-erp/yudao-module-erp-biz/src/main/java/cn/iocoder/yudao/module/erp/service/mold/MoldServiceImpl.java @@ -1,5 +1,6 @@ package cn.iocoder.yudao.module.erp.service.mold; +import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldBrandDO; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import org.springframework.transaction.annotation.Transactional; @@ -71,5 +72,8 @@ public class MoldServiceImpl implements MoldService { public PageResult getMoldPage(MoldPageReqVO pageReqVO) { return moldMapper.selectPage(pageReqVO, pageReqVO.getBrandId()); } - + @Override + public List getList(Collection ids) { + return moldMapper.selectBatchIds(ids); + } } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/MachineComponentController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/MachineComponentController.java index 976723738..eb2ea67e3 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/MachineComponentController.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/machine/MachineComponentController.java @@ -71,7 +71,6 @@ public class MachineComponentController { @GetMapping("/list") @Operation(summary = "获得机台列表") - @PreAuthorize("@ss.hasPermission('mes:machine-component:query')") public CommonResult> getMachineComponentList(@Valid MachineComponentListReqVO listReqVO) { List list = machineComponentService.getMachineComponentList(listReqVO); return success(BeanUtils.toBean(list, MachineComponentRespVO.class)); @@ -98,5 +97,4 @@ public class MachineComponentController { ExcelUtils.write(response, "机台.xls", "数据", MachineComponentRespVO.class, BeanUtils.toBean(list, MachineComponentRespVO.class)); } - } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldrecord/MoldRecordController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldrecord/MoldRecordController.java index 9bfc07e45..18096a210 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldrecord/MoldRecordController.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldrecord/MoldRecordController.java @@ -75,7 +75,8 @@ public class MoldRecordController { @PreAuthorize("@ss.hasPermission('mes:mold-record:query')") public CommonResult> getMoldRecordPage(@Valid MoldRecordPageReqVO pageReqVO) { PageResult pageResult = moldRecordService.getMoldRecordPage(pageReqVO); - return success(BeanUtils.toBean(pageResult, MoldRecordRespVO.class)); + List list = moldRecordService.buildVOList(pageResult.getList()); + return success(new PageResult<>(list,pageResult.getTotal())); } @GetMapping("/export-excel") @@ -86,9 +87,10 @@ public class MoldRecordController { HttpServletResponse response) throws IOException { pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE); List list = moldRecordService.getMoldRecordPage(pageReqVO).getList(); + // 导出 Excel ExcelUtils.write(response, "模具维保.xls", "数据", MoldRecordRespVO.class, - BeanUtils.toBean(list, MoldRecordRespVO.class)); + moldRecordService.buildVOList(list)); } // ==================== 子表(模具维保明细) ==================== @@ -101,4 +103,12 @@ public class MoldRecordController { return success(moldRecordService.getMoldRecordSubjectDetailListByRecordId(recordId)); } + @GetMapping("/updateStatus") + @Operation(summary = "更新模具维保状态") + @Parameter(name = "id", description = "编号", required = true, example = "1024") + @PreAuthorize("@ss.hasPermission('mes:mold-record:update')") + public CommonResult updateStatus(@RequestParam("id") Long id, @RequestParam("status")String status) { + MoldRecordDO moldRecord = moldRecordService.getMoldRecord(id); + return success(BeanUtils.toBean(moldRecord, MoldRecordRespVO.class)); + } } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldrecord/vo/MoldRecordRespVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldrecord/vo/MoldRecordRespVO.java index 6f199c3cc..4f739bab4 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldrecord/vo/MoldRecordRespVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldrecord/vo/MoldRecordRespVO.java @@ -25,24 +25,38 @@ public class MoldRecordRespVO { private String flowCode; @Schema(description = "模具型号ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "17427") - @ExcelProperty("模具型号ID") private Long brandId; + @Schema(description = "模具型号", requiredMode = Schema.RequiredMode.REQUIRED, example = "17427") + @ExcelProperty("模具型号") + private String brandName; + @Schema(description = "规格", requiredMode = Schema.RequiredMode.REQUIRED, example = "17427") + @ExcelProperty("规格") + private String brandType; @Schema(description = "模具ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "21232") - @ExcelProperty("模具ID") private Long moldId; + @Schema(description = "模具", requiredMode = Schema.RequiredMode.REQUIRED, example = "21232") + @ExcelProperty("模具") + private String moldName; @Schema(description = "前模具ID", example = "23487") - @ExcelProperty("前模具ID") private Long oldMoldId; + @Schema(description = "前模具", example = "23487") + @ExcelProperty("前模具") + private String oldMoldName; @Schema(description = "机台ID", example = "1825") @ExcelProperty("机台ID") private Long machineId; + @Schema(description = "机台", example = "1825") + @ExcelProperty("机台") + private String machineName; @Schema(description = "负责人ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "27306") - @ExcelProperty("负责人ID") private Long userId; + @Schema(description = "负责人", requiredMode = Schema.RequiredMode.REQUIRED, example = "27306") + @ExcelProperty("负责人") + private String userName; @Schema(description = "单据类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") @ExcelProperty(value = "单据类型", converter = DictConvert.class) diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldrecord/vo/MoldRecordSaveReqVO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldrecord/vo/MoldRecordSaveReqVO.java index 1a0b9670a..330cafd74 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldrecord/vo/MoldRecordSaveReqVO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldrecord/vo/MoldRecordSaveReqVO.java @@ -43,11 +43,9 @@ public class MoldRecordSaveReqVO { private String recordType; @Schema(description = "状态", requiredMode = Schema.RequiredMode.REQUIRED, example = "2") - @NotEmpty(message = "状态不能为空") private String recordStatus; @Schema(description = "备注", requiredMode = Schema.RequiredMode.REQUIRED, example = "你猜") - @NotEmpty(message = "备注不能为空") private String remark; @Schema(description = "模具维保明细列表") diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldrecordsubject/MoldRecordSubjectController.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldrecordsubject/MoldRecordSubjectController.java index fbd483b3f..3c13965c5 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldrecordsubject/MoldRecordSubjectController.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/controller/admin/moldrecordsubject/MoldRecordSubjectController.java @@ -89,5 +89,10 @@ public class MoldRecordSubjectController { ExcelUtils.write(response, "维保项目.xls", "数据", MoldRecordSubjectRespVO.class, BeanUtils.toBean(list, MoldRecordSubjectRespVO.class)); } - + @GetMapping("/getList") + @Operation(summary = "获得维保项目列表") + public CommonResult> getList(MoldRecordSubjectPageReqVO pageReqVO) { + List list = moldRecordSubjectService.selectBy(pageReqVO); + return success(list); + } } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/moldrecordsubject/MoldRecordSubjectMapper.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/moldrecordsubject/MoldRecordSubjectMapper.java index 682325e9f..323f12ad6 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/moldrecordsubject/MoldRecordSubjectMapper.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/mysql/moldrecordsubject/MoldRecordSubjectMapper.java @@ -1,13 +1,13 @@ package cn.iocoder.yudao.module.mes.dal.mysql.moldrecordsubject; -import java.util.*; - import cn.iocoder.yudao.framework.common.pojo.PageResult; -import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; +import cn.iocoder.yudao.module.mes.controller.admin.moldrecordsubject.vo.MoldRecordSubjectPageReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.moldrecordsubject.MoldRecordSubjectDO; import org.apache.ibatis.annotations.Mapper; -import cn.iocoder.yudao.module.mes.controller.admin.moldrecordsubject.vo.*; + +import java.util.List; /** * 维保项目 Mapper @@ -23,5 +23,10 @@ public interface MoldRecordSubjectMapper extends BaseMapperX selectBy(MoldRecordSubjectPageReqVO reqVO) { + return selectList(new LambdaQueryWrapperX() + .eqIfPresent(MoldRecordSubjectDO::getSubject, reqVO.getSubject()) + .eqIfPresent(MoldRecordSubjectDO::getExpect, reqVO.getExpect()) + .orderByDesc(MoldRecordSubjectDO::getId)); + } } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/redis/no/MesNoRedisDAO.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/redis/no/MesNoRedisDAO.java index 0be4b3fcc..75bb4e37b 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/redis/no/MesNoRedisDAO.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/dal/redis/no/MesNoRedisDAO.java @@ -26,6 +26,7 @@ public class MesNoRedisDAO { * 模具 {@link cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO} */ public static final String MOLD_NO_PREFIX = "MUJU-"; + public static final String MOLD_RECORD_NO_PREFIX = "MR-"; /** * 生产任务单{@link cn.iocoder.yudao.module.mes.dal.dataobject.task.TaskDO} */ diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrecord/MoldRecordService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrecord/MoldRecordService.java index 48d3e917b..ff4bd1440 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrecord/MoldRecordService.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrecord/MoldRecordService.java @@ -2,6 +2,7 @@ package cn.iocoder.yudao.module.mes.service.moldrecord; import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.module.mes.controller.admin.moldrecord.vo.MoldRecordPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.moldrecord.vo.MoldRecordRespVO; import cn.iocoder.yudao.module.mes.controller.admin.moldrecord.vo.MoldRecordSaveReqVO; import cn.iocoder.yudao.module.mes.dal.dataobject.moldrecord.MoldRecordDO; import cn.iocoder.yudao.module.mes.dal.dataobject.moldrecord.MoldRecordSubjectDetailDO; @@ -53,7 +54,7 @@ public interface MoldRecordService { * @return 模具维保分页 */ PageResult getMoldRecordPage(MoldRecordPageReqVO pageReqVO); - + List buildVOList(List list); // ==================== 子表(模具维保明细) ==================== /** diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrecord/MoldRecordServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrecord/MoldRecordServiceImpl.java index 526bad39e..cf93c01fb 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrecord/MoldRecordServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrecord/MoldRecordServiceImpl.java @@ -1,21 +1,40 @@ package cn.iocoder.yudao.module.mes.service.moldrecord; +import cn.hutool.core.collection.CollUtil; 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.dal.dataobject.mold.MoldBrandDO; +import cn.iocoder.yudao.module.erp.dal.dataobject.mold.MoldDO; +import cn.iocoder.yudao.module.erp.service.mold.MoldBrandService; +import cn.iocoder.yudao.module.erp.service.mold.MoldService; import cn.iocoder.yudao.module.mes.controller.admin.moldrecord.vo.MoldRecordPageReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.moldrecord.vo.MoldRecordRespVO; import cn.iocoder.yudao.module.mes.controller.admin.moldrecord.vo.MoldRecordSaveReqVO; +import cn.iocoder.yudao.module.mes.controller.admin.plan.vo.PlanRespVO; +import cn.iocoder.yudao.module.mes.dal.dataobject.machine.MachineComponentDO; import cn.iocoder.yudao.module.mes.dal.dataobject.moldrecord.MoldRecordDO; import cn.iocoder.yudao.module.mes.dal.dataobject.moldrecord.MoldRecordSubjectDetailDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.plan.PlanDO; +import cn.iocoder.yudao.module.mes.dal.dataobject.task.TaskDO; import cn.iocoder.yudao.module.mes.dal.mysql.moldrecord.MoldRecordMapper; import cn.iocoder.yudao.module.mes.dal.mysql.moldrecord.MoldRecordSubjectDetailMapper; +import cn.iocoder.yudao.module.mes.dal.redis.no.MesNoRedisDAO; +import cn.iocoder.yudao.module.mes.service.machine.MachineComponentService; +import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; +import cn.iocoder.yudao.module.system.service.user.AdminUserService; +import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.util.Collections; import java.util.List; +import java.util.Map; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.MOLD_RECORD_NOT_EXISTS; /** @@ -31,16 +50,24 @@ public class MoldRecordServiceImpl implements MoldRecordService { private MoldRecordMapper moldRecordMapper; @Resource private MoldRecordSubjectDetailMapper moldRecordSubjectDetailMapper; + @Resource + private MesNoRedisDAO noRedisDAO; @Override @Transactional(rollbackFor = Exception.class) public Long createMoldRecord(MoldRecordSaveReqVO createReqVO) { // 插入 MoldRecordDO moldRecord = BeanUtils.toBean(createReqVO, MoldRecordDO.class); + moldRecord.setRecordStatus("草稿"); + if (StringUtils.isEmpty(moldRecord.getCode())) { + String no = noRedisDAO.generate3(MesNoRedisDAO.MOLD_RECORD_NO_PREFIX); + moldRecord.setCode(no); + } moldRecordMapper.insert(moldRecord); // 插入子表 - createMoldRecordSubjectDetailList(moldRecord.getId(), createReqVO.getMoldRecordSubjectDetails()); + if(createReqVO.getMoldRecordSubjectDetails()!=null && createReqVO.getMoldRecordSubjectDetails().size()>0) + createMoldRecordSubjectDetailList(moldRecord.getId(), createReqVO.getMoldRecordSubjectDetails()); // 返回 return moldRecord.getId(); } @@ -85,7 +112,45 @@ public class MoldRecordServiceImpl implements MoldRecordService { public PageResult getMoldRecordPage(MoldRecordPageReqVO pageReqVO) { return moldRecordMapper.selectPage(pageReqVO); } + @Resource + private AdminUserService userService; + @Resource + private MoldBrandService moldBrandService; + @Resource + private MoldService moldService; + @Resource + private MachineComponentService machineComponentService; + @Override + public List buildVOList(List list) { + if (CollUtil.isEmpty(list)) { + return Collections.emptyList(); + } + Map userMap = userService.getUserMap( + convertSet(list, MoldRecordDO::getUserId)); + + Map brandMap = moldBrandService.getMap( + convertSet(list, MoldRecordDO::getBrandId)); + Map moldMap = moldService.getMap( + convertSet(list, MoldRecordDO::getMoldId)); + + Map machineMap = machineComponentService.getMap( + convertSet(list, MoldRecordDO::getMachineId)); + + return BeanUtils.toBean(list, MoldRecordRespVO.class, item -> { + MapUtils.findAndThen(userMap, item.getUserId(), + user -> item.setUserName(user.getNickname())); + + MapUtils.findAndThen(brandMap, item.getBrandId(), + brand -> item.setBrandName(brand.getName()).setBrandType(brand.getMoldType())); + + MapUtils.findAndThen(moldMap, item.getMoldId(), + mold -> item.setMoldName(mold.getName())); + MapUtils.findAndThen(machineMap, item.getMachineId(), + ma -> item.setMachineName(ma.getName())); + + }); + } // ==================== 子表(模具维保明细) ==================== @Override diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrecordsubject/MoldRecordSubjectService.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrecordsubject/MoldRecordSubjectService.java index 5b86429ea..ae224efed 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrecordsubject/MoldRecordSubjectService.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrecordsubject/MoldRecordSubjectService.java @@ -6,6 +6,7 @@ import cn.iocoder.yudao.module.mes.controller.admin.moldrecordsubject.vo.MoldRec import cn.iocoder.yudao.module.mes.dal.dataobject.moldrecordsubject.MoldRecordSubjectDO; import javax.validation.Valid; +import java.util.List; /** * 维保项目 Service 接口 @@ -51,5 +52,5 @@ public interface MoldRecordSubjectService { * @return 维保项目分页 */ PageResult getMoldRecordSubjectPage(MoldRecordSubjectPageReqVO pageReqVO); - + List selectBy(MoldRecordSubjectPageReqVO reqVO); } \ No newline at end of file diff --git a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrecordsubject/MoldRecordSubjectServiceImpl.java b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrecordsubject/MoldRecordSubjectServiceImpl.java index ef138fcb9..84a8861a2 100644 --- a/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrecordsubject/MoldRecordSubjectServiceImpl.java +++ b/yudao-module-mes/yudao-module-mes-biz/src/main/java/cn/iocoder/yudao/module/mes/service/moldrecordsubject/MoldRecordSubjectServiceImpl.java @@ -11,6 +11,8 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.util.List; + import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; import static cn.iocoder.yudao.module.mes.enums.ErrorCodeConstants.MOLD_RECORD_SUBJECT_NOT_EXISTS; @@ -67,5 +69,8 @@ public class MoldRecordSubjectServiceImpl implements MoldRecordSubjectService { public PageResult getMoldRecordSubjectPage(MoldRecordSubjectPageReqVO pageReqVO) { return moldRecordSubjectMapper.selectPage(pageReqVO); } - + @Override + public List selectBy(MoldRecordSubjectPageReqVO reqVO){ + return moldRecordSubjectMapper.selectBy(reqVO); + } } \ No newline at end of file