Sfoglia il codice sorgente

修改物资说明返回的物资类型转义

车车 2 mesi fa
parent
commit
1fc8d9bd14

+ 92 - 95
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/materialsinstructions/MaterialsInstructionsController.java

@@ -1,95 +1,92 @@
-package cn.iocoder.yudao.module.iscs.controller.admin.materialsinstructions;
-
-import org.springframework.web.bind.annotation.*;
-import jakarta.annotation.Resource;
-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 jakarta.validation.constraints.*;
-import jakarta.validation.*;
-import jakarta.servlet.http.*;
-import java.util.*;
-import java.io.IOException;
-
-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.iscs.controller.admin.materialsinstructions.vo.*;
-import cn.iocoder.yudao.module.iscs.dal.dataobject.materialsinstructions.MaterialsInstructionsDO;
-import cn.iocoder.yudao.module.iscs.service.materialsinstructions.MaterialsInstructionsService;
-
-@Tag(name = "管理后台 - 物资使用说明")
-@RestController
-@RequestMapping("/iscs/materials-instructions")
-@Validated
-public class MaterialsInstructionsController {
-
-    @Resource
-    private MaterialsInstructionsService materialsInstructionsService;
-
-    @PostMapping("/insertMaterialsInstructions")
-    @Operation(summary = "创建物资使用说明")
-    @PreAuthorize("@ss.hasPermission('iscs:materials-instructions:create')")
-    public CommonResult<Long> insertMaterialsInstructions(@Valid @RequestBody MaterialsInstructionsSaveReqVO createReqVO) {
-        return success(materialsInstructionsService.createMaterialsInstructions(createReqVO));
-    }
-
-    @PutMapping("/updateMaterialsInstructions")
-    @Operation(summary = "更新物资使用说明")
-    @PreAuthorize("@ss.hasPermission('iscs:materials-instructions:update')")
-    public CommonResult<Boolean> updateMaterialsInstructions(@Valid @RequestBody MaterialsInstructionsSaveReqVO updateReqVO) {
-        materialsInstructionsService.updateMaterialsInstructions(updateReqVO);
-        return success(true);
-    }
-
-    @DeleteMapping("/deleteMaterialsInstructionsList")
-    @Parameter(name = "ids", description = "编号", required = true)
-    @Operation(summary = "批量删除物资使用说明")
-                @PreAuthorize("@ss.hasPermission('iscs:materials-instructions:delete')")
-    public CommonResult<Boolean> deleteMaterialsInstructionsList(@RequestParam("ids") List<Long> ids) {
-        materialsInstructionsService.deleteMaterialsInstructionsListByIds(ids);
-        return success(true);
-    }
-
-    @GetMapping("/selectMaterialsInstructionsById")
-    @Operation(summary = "获得物资使用说明")
-    @Parameter(name = "id", description = "编号", required = true, example = "1024")
-    @PreAuthorize("@ss.hasPermission('iscs:materials-instructions:query')")
-    public CommonResult<MaterialsInstructionsRespVO> selectMaterialsInstructionsById(@RequestParam("id") Long id) {
-        MaterialsInstructionsDO materialsInstructions = materialsInstructionsService.getMaterialsInstructions(id);
-        return success(BeanUtils.toBean(materialsInstructions, MaterialsInstructionsRespVO.class));
-    }
-
-    @GetMapping("/getMaterialsInstructionsPage")
-    @Operation(summary = "获得物资使用说明分页")
-    @PreAuthorize("@ss.hasPermission('iscs:materials-instructions:query')")
-    public CommonResult<PageResult<MaterialsInstructionsRespVO>> getMaterialsInstructionsPage(@Valid MaterialsInstructionsPageReqVO pageReqVO) {
-        PageResult<MaterialsInstructionsDO> pageResult = materialsInstructionsService.getMaterialsInstructionsPage(pageReqVO);
-        return success(BeanUtils.toBean(pageResult, MaterialsInstructionsRespVO.class));
-    }
-
-    @GetMapping("/exportMaterialsInstructionsExcel")
-    @Operation(summary = "导出物资使用说明 Excel")
-    @PreAuthorize("@ss.hasPermission('iscs:materials-instructions:export')")
-    @ApiAccessLog(operateType = EXPORT)
-    public void exportMaterialsInstructionsExcel(@Valid MaterialsInstructionsPageReqVO pageReqVO,
-              HttpServletResponse response) throws IOException {
-        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
-        List<MaterialsInstructionsDO> list = materialsInstructionsService.getMaterialsInstructionsPage(pageReqVO).getList();
-        // 导出 Excel
-        ExcelUtils.write(response, "物资使用说明.xls", "数据", MaterialsInstructionsRespVO.class,
-                        BeanUtils.toBean(list, MaterialsInstructionsRespVO.class));
-    }
-
-}
+package cn.iocoder.yudao.module.iscs.controller.admin.materialsinstructions;
+
+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.util.object.BeanUtils;
+import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
+import cn.iocoder.yudao.module.iscs.controller.admin.materialsinstructions.vo.MaterialsInstructionsPageReqVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.materialsinstructions.vo.MaterialsInstructionsRespVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.materialsinstructions.vo.MaterialsInstructionsSaveReqVO;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.materialsinstructions.MaterialsInstructionsDO;
+import cn.iocoder.yudao.module.iscs.service.materialsinstructions.MaterialsInstructionsService;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.annotation.Resource;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.validation.Valid;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.*;
+
+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
+@RequestMapping("/iscs/materials-instructions")
+@Validated
+public class MaterialsInstructionsController {
+
+    @Resource
+    private MaterialsInstructionsService materialsInstructionsService;
+
+    @PostMapping("/insertMaterialsInstructions")
+    @Operation(summary = "创建物资使用说明")
+    @PreAuthorize("@ss.hasPermission('iscs:materials-instructions:create')")
+    public CommonResult<Long> insertMaterialsInstructions(@Valid @RequestBody MaterialsInstructionsSaveReqVO createReqVO) {
+        return success(materialsInstructionsService.createMaterialsInstructions(createReqVO));
+    }
+
+    @PutMapping("/updateMaterialsInstructions")
+    @Operation(summary = "更新物资使用说明")
+    @PreAuthorize("@ss.hasPermission('iscs:materials-instructions:update')")
+    public CommonResult<Boolean> updateMaterialsInstructions(@Valid @RequestBody MaterialsInstructionsSaveReqVO updateReqVO) {
+        materialsInstructionsService.updateMaterialsInstructions(updateReqVO);
+        return success(true);
+    }
+
+    @DeleteMapping("/deleteMaterialsInstructionsList")
+    @Parameter(name = "ids", description = "编号", required = true)
+    @Operation(summary = "批量删除物资使用说明")
+                @PreAuthorize("@ss.hasPermission('iscs:materials-instructions:delete')")
+    public CommonResult<Boolean> deleteMaterialsInstructionsList(@RequestParam("ids") List<Long> ids) {
+        materialsInstructionsService.deleteMaterialsInstructionsListByIds(ids);
+        return success(true);
+    }
+
+    @GetMapping("/selectMaterialsInstructionsById")
+    @Operation(summary = "获得物资使用说明")
+    @Parameter(name = "id", description = "编号", required = true, example = "1024")
+    @PreAuthorize("@ss.hasPermission('iscs:materials-instructions:query')")
+    public CommonResult<MaterialsInstructionsRespVO> selectMaterialsInstructionsById(@RequestParam("id") Long id) {
+        MaterialsInstructionsDO materialsInstructions = materialsInstructionsService.getMaterialsInstructions(id);
+        return success(BeanUtils.toBean(materialsInstructions, MaterialsInstructionsRespVO.class));
+    }
+
+    @GetMapping("/getMaterialsInstructionsPage")
+    @Operation(summary = "获得物资使用说明分页")
+    @PreAuthorize("@ss.hasPermission('iscs:materials-instructions:query')")
+    public CommonResult<PageResult<MaterialsInstructionsRespVO>> getMaterialsInstructionsPage(@Valid MaterialsInstructionsPageReqVO pageReqVO) {
+        PageResult<MaterialsInstructionsRespVO> pageResult = materialsInstructionsService.getMaterialsInstructionsPage(pageReqVO);
+        return success(pageResult);
+    }
+
+    @GetMapping("/exportMaterialsInstructionsExcel")
+    @Operation(summary = "导出物资使用说明 Excel")
+    @PreAuthorize("@ss.hasPermission('iscs:materials-instructions:export')")
+    @ApiAccessLog(operateType = EXPORT)
+    public void exportMaterialsInstructionsExcel(@Valid MaterialsInstructionsPageReqVO pageReqVO,
+              HttpServletResponse response) throws IOException {
+        pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
+        List<MaterialsInstructionsRespVO> list = materialsInstructionsService.getMaterialsInstructionsPage(pageReqVO).getList();
+        // 导出 Excel
+        ExcelUtils.write(response, "物资使用说明.xls", "数据", MaterialsInstructionsRespVO.class, list);
+    }
+
+}

+ 9 - 5
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/controller/admin/materialsinstructions/vo/MaterialsInstructionsRespVO.java

@@ -1,11 +1,11 @@
 package cn.iocoder.yudao.module.iscs.controller.admin.materialsinstructions.vo;
 
+import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
+import com.alibaba.excel.annotation.ExcelProperty;
 import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.*;
-import java.util.*;
-import org.springframework.format.annotation.DateTimeFormat;
+import lombok.Data;
+
 import java.time.LocalDateTime;
-import com.alibaba.excel.annotation.*;
 
 @Schema(description = "管理后台 - 物资使用说明 Response VO")
 @Data
@@ -56,4 +56,8 @@ public class MaterialsInstructionsRespVO {
     @ExcelProperty("创建时间")
     private LocalDateTime createTime;
 
-}
+    @Schema(description = "物资类型NAME")
+    private String materialsTypeName;
+
+
+}

+ 9 - 5
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/dal/mysql/materialsinstructions/MaterialsInstructionsMapper.java

@@ -1,13 +1,14 @@
 package cn.iocoder.yudao.module.iscs.dal.mysql.materialsinstructions;
 
-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.iscs.controller.admin.materialsinstructions.vo.MaterialsInstructionsPageReqVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.materialsinstructions.vo.MaterialsInstructionsRespVO;
 import cn.iocoder.yudao.module.iscs.dal.dataobject.materialsinstructions.MaterialsInstructionsDO;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import org.apache.ibatis.annotations.Mapper;
-import cn.iocoder.yudao.module.iscs.controller.admin.materialsinstructions.vo.*;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 物资使用说明 Mapper
@@ -32,4 +33,7 @@ public interface MaterialsInstructionsMapper extends BaseMapperX<MaterialsInstru
                 .orderByDesc(MaterialsInstructionsDO::getId));
     }
 
-}
+    Page<MaterialsInstructionsRespVO> getMaterialsInstructionsPage(Page<MaterialsInstructionsDO> page, @Param(value = "vo") MaterialsInstructionsPageReqVO vo);
+
+
+}

+ 65 - 63
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/materialsinstructions/MaterialsInstructionsService.java

@@ -1,63 +1,65 @@
-package cn.iocoder.yudao.module.iscs.service.materialsinstructions;
-
-import java.util.*;
-import jakarta.validation.*;
-import cn.iocoder.yudao.module.iscs.controller.admin.materialsinstructions.vo.*;
-import cn.iocoder.yudao.module.iscs.dal.dataobject.materialsinstructions.MaterialsInstructionsDO;
-import cn.iocoder.yudao.framework.common.pojo.PageResult;
-import cn.iocoder.yudao.framework.common.pojo.PageParam;
-import com.baomidou.mybatisplus.extension.service.IService;
-
-/**
- * 物资使用说明 Service 接口
- *
- * @author 芋道源码
- */
-public interface MaterialsInstructionsService extends IService<MaterialsInstructionsDO> {
-
-    /**
-     * 创建物资使用说明
-     *
-     * @param createReqVO 创建信息
-     * @return 编号
-     */
-    Long createMaterialsInstructions(@Valid MaterialsInstructionsSaveReqVO createReqVO);
-
-    /**
-     * 更新物资使用说明
-     *
-     * @param updateReqVO 更新信息
-     */
-    void updateMaterialsInstructions(@Valid MaterialsInstructionsSaveReqVO updateReqVO);
-
-    /**
-     * 删除物资使用说明
-     *
-     * @param id 编号
-     */
-    void deleteMaterialsInstructions(Long id);
-
-    /**
-    * 批量删除物资使用说明
-    *
-    * @param ids 编号
-    */
-    void deleteMaterialsInstructionsListByIds(List<Long> ids);
-
-    /**
-     * 获得物资使用说明
-     *
-     * @param id 编号
-     * @return 物资使用说明
-     */
-    MaterialsInstructionsDO getMaterialsInstructions(Long id);
-
-    /**
-     * 获得物资使用说明分页
-     *
-     * @param pageReqVO 分页查询
-     * @return 物资使用说明分页
-     */
-    PageResult<MaterialsInstructionsDO> getMaterialsInstructionsPage(MaterialsInstructionsPageReqVO pageReqVO);
-
-}
+package cn.iocoder.yudao.module.iscs.service.materialsinstructions;
+
+import cn.iocoder.yudao.framework.common.pojo.PageResult;
+import cn.iocoder.yudao.module.iscs.controller.admin.materialsinstructions.vo.MaterialsInstructionsPageReqVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.materialsinstructions.vo.MaterialsInstructionsRespVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.materialsinstructions.vo.MaterialsInstructionsSaveReqVO;
+import cn.iocoder.yudao.module.iscs.dal.dataobject.materialsinstructions.MaterialsInstructionsDO;
+import com.baomidou.mybatisplus.extension.service.IService;
+import jakarta.validation.Valid;
+
+import java.util.List;
+
+/**
+ * 物资使用说明 Service 接口
+ *
+ * @author 芋道源码
+ */
+public interface MaterialsInstructionsService extends IService<MaterialsInstructionsDO> {
+
+    /**
+     * 创建物资使用说明
+     *
+     * @param createReqVO 创建信息
+     * @return 编号
+     */
+    Long createMaterialsInstructions(@Valid MaterialsInstructionsSaveReqVO createReqVO);
+
+    /**
+     * 更新物资使用说明
+     *
+     * @param updateReqVO 更新信息
+     */
+    void updateMaterialsInstructions(@Valid MaterialsInstructionsSaveReqVO updateReqVO);
+
+    /**
+     * 删除物资使用说明
+     *
+     * @param id 编号
+     */
+    void deleteMaterialsInstructions(Long id);
+
+    /**
+    * 批量删除物资使用说明
+    *
+    * @param ids 编号
+    */
+    void deleteMaterialsInstructionsListByIds(List<Long> ids);
+
+    /**
+     * 获得物资使用说明
+     *
+     * @param id 编号
+     * @return 物资使用说明
+     */
+    MaterialsInstructionsDO getMaterialsInstructions(Long id);
+
+    /**
+     * 获得物资使用说明分页
+     *
+     * @param pageReqVO 分页查询
+     * @return 物资使用说明分页
+     */
+    PageResult<MaterialsInstructionsRespVO> getMaterialsInstructionsPage(MaterialsInstructionsPageReqVO pageReqVO);
+
+}

+ 9 - 2
yudao-module-iscs/src/main/java/cn/iocoder/yudao/module/iscs/service/materialsinstructions/MaterialsInstructionsServiceImpl.java

@@ -4,9 +4,11 @@ import cn.hutool.core.collection.CollUtil;
 import cn.iocoder.yudao.framework.common.pojo.PageResult;
 import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
 import cn.iocoder.yudao.module.iscs.controller.admin.materialsinstructions.vo.MaterialsInstructionsPageReqVO;
+import cn.iocoder.yudao.module.iscs.controller.admin.materialsinstructions.vo.MaterialsInstructionsRespVO;
 import cn.iocoder.yudao.module.iscs.controller.admin.materialsinstructions.vo.MaterialsInstructionsSaveReqVO;
 import cn.iocoder.yudao.module.iscs.dal.dataobject.materialsinstructions.MaterialsInstructionsDO;
 import cn.iocoder.yudao.module.iscs.dal.mysql.materialsinstructions.MaterialsInstructionsMapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import jakarta.annotation.Resource;
 import org.springframework.stereotype.Service;
@@ -97,8 +99,13 @@ public class MaterialsInstructionsServiceImpl extends ServiceImpl<MaterialsInstr
     }
 
     @Override
-    public PageResult<MaterialsInstructionsDO> getMaterialsInstructionsPage(MaterialsInstructionsPageReqVO pageReqVO) {
-        return materialsInstructionsMapper.selectPage(pageReqVO);
+    public PageResult<MaterialsInstructionsRespVO> getMaterialsInstructionsPage(MaterialsInstructionsPageReqVO pageReqVO) {
+        Page<MaterialsInstructionsDO> page = new Page<MaterialsInstructionsDO>().setCurrent(pageReqVO.getPageNo()).setSize(pageReqVO.getPageSize());
+        Page<MaterialsInstructionsRespVO> pageResult = materialsInstructionsMapper.getMaterialsInstructionsPage(page, pageReqVO);
+        PageResult<MaterialsInstructionsRespVO> respVOPageResult = new PageResult<>();
+        respVOPageResult.setList(pageResult.getRecords());
+        respVOPageResult.setTotal(pageResult.getTotal());
+        return respVOPageResult;
     }
 
 }

+ 23 - 1
yudao-module-iscs/src/main/resources/mapper/MaterialsInstructionsMapper.xml

@@ -9,4 +9,26 @@
         文档可见:https://www.iocoder.cn/MyBatis/x-plugins/
      -->
 
-</mapper>
+    <select id="getMaterialsInstructionsPage"
+            resultType="cn.iocoder.yudao.module.iscs.controller.admin.materialsinstructions.vo.MaterialsInstructionsRespVO">
+        SELECT
+        i.*,
+        t.materials_type_name
+        FROM
+        isc_materials_instructions i
+        LEFT JOIN isc_materials_type t ON t.id = i.materials_type_id
+        <where>
+            i.deleted = 0
+            <if test="vo.instructionsTitle != null and vo.instructionsTitle.trim != ''">
+                and i.instructions_title like concat('%',#{vo.instructionsTitle},'%')
+            </if>
+            <if test="vo.materialsTypeId != null">
+                and i.materials_type_id = #{vo.materialsTypeId}
+            </if>
+            <if test="vo.fileType != null and vo.fileType.trim != ''">
+                and i.file_type = #{vo.fileType}
+            </if>
+        </where>
+        order by i.order_num asc, i.id desc
+    </select>
+</mapper>