From 4c510e740c632abd2060ef46f74d067f9528cd69 Mon Sep 17 00:00:00 2001 From: Lius <Lius2225@163.com> Date: 星期四, 03 四月 2025 11:45:08 +0800 Subject: [PATCH] 设备报修基础接口 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamReportRepair.java | 102 ++++++++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java | 23 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml | 48 ++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java | 28 +++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java | 49 ++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java | 152 +++++++++++++++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamReportRepairQuery.java | 37 ++++ 7 files changed, 439 insertions(+), 0 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java new file mode 100644 index 0000000..485c4c9 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportRepairController.java @@ -0,0 +1,152 @@ +package org.jeecg.modules.eam.controller; + +import java.util.Arrays; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.modules.eam.entity.EamReportRepair; +import org.jeecg.modules.eam.request.EamReportRepairQuery; +import org.jeecg.modules.eam.service.IEamReportRepairService; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.system.base.controller.JeecgController; + +import org.springframework.web.bind.annotation.*; +import org.springframework.web.servlet.ModelAndView; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; + +/** + * @Description: 鏁呴殰鎶ヤ慨 + * @Author: Lius + * @Date: 2025-04-01 + */ +@Slf4j +@Api(tags = "鏁呴殰鎶ヤ慨") +@RestController +@RequestMapping("/eam/eamReportRepair") +public class EamReportRepairController extends JeecgController<EamReportRepair, IEamReportRepairService> { + + @Resource + private IEamReportRepairService eamReportRepairService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param eamReportRepairQuery + * @param pageNo + * @param pageSize + * @return + */ + @AutoLog(value = "鏁呴殰鎶ヤ慨-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value = "鏁呴殰鎶ヤ慨-鍒嗛〉鍒楄〃鏌ヨ", notes = "鏁呴殰鎶ヤ慨-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<?> queryPageList(EamReportRepairQuery eamReportRepairQuery, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { + Page<EamReportRepair> page = new Page<EamReportRepair>(pageNo, pageSize); + IPage<EamReportRepair> pageList = eamReportRepairService.pageList(page, eamReportRepairQuery); + return Result.OK(pageList); + } + + /** + * 娣诲姞 + * + * @param eamReportRepair + * @return + */ + @AutoLog(value = "鏁呴殰鎶ヤ慨-娣诲姞") + @ApiOperation(value = "鏁呴殰鎶ヤ慨-娣诲姞", notes = "鏁呴殰鎶ヤ慨-娣诲姞") + @PostMapping(value = "/add") + public Result<?> add(@RequestBody EamReportRepair eamReportRepair) { +// eamReportRepair.setReportStatus(); + eamReportRepairService.save(eamReportRepair); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param eamReportRepair + * @return + */ + @AutoLog(value = "鏁呴殰鎶ヤ慨-缂栬緫") + @ApiOperation(value = "鏁呴殰鎶ヤ慨-缂栬緫", notes = "鏁呴殰鎶ヤ慨-缂栬緫") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<?> edit(@RequestBody EamReportRepair eamReportRepair) { + eamReportRepairService.updateById(eamReportRepair); + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "鏁呴殰鎶ヤ慨-閫氳繃id鍒犻櫎") + @ApiOperation(value = "鏁呴殰鎶ヤ慨-閫氳繃id鍒犻櫎", notes = "鏁呴殰鎶ヤ慨-閫氳繃id鍒犻櫎") + @DeleteMapping(value = "/delete") + public Result<?> delete(@RequestParam(name = "id", required = true) String id) { + eamReportRepairService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "鏁呴殰鎶ヤ慨-鎵归噺鍒犻櫎") + @ApiOperation(value = "鏁呴殰鎶ヤ慨-鎵归噺鍒犻櫎", notes = "鏁呴殰鎶ヤ慨-鎵归噺鍒犻櫎") + @DeleteMapping(value = "/deleteBatch") + public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.eamReportRepairService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�"); + } + + /** + * 閫氳繃id鏌ヨ + * + * @param id + * @return + */ + @AutoLog(value = "鏁呴殰鎶ヤ慨-閫氳繃id鏌ヨ") + @ApiOperation(value = "鏁呴殰鎶ヤ慨-閫氳繃id鏌ヨ", notes = "鏁呴殰鎶ヤ慨-閫氳繃id鏌ヨ") + @GetMapping(value = "/queryById") + public Result<?> queryById(@RequestParam(name = "id", required = true) String id) { + EamReportRepair eamReportRepair = eamReportRepairService.getById(id); + return Result.OK(eamReportRepair); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param eamReportRepair + */ + @RequestMapping(value = "/exportXls") + public ModelAndView exportXls(HttpServletRequest request, EamReportRepair eamReportRepair) { + return super.exportXls(request, eamReportRepair, EamReportRepair.class, "鏁呴殰鎶ヤ慨"); + } + + /** + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { + return super.importExcel(request, response, EamReportRepair.class); + } + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamReportRepair.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamReportRepair.java new file mode 100644 index 0000000..9ca62b5 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamReportRepair.java @@ -0,0 +1,102 @@ +package org.jeecg.modules.eam.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; +import org.jeecg.common.system.base.entity.JeecgEntity; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 鏁呴殰鎶ヤ慨 + * @Author: Lius + * @Date: 2025-04-01 + */ +@Data +@TableName("eam_report_repair") +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value = "eam_report_repair瀵硅薄", description = "鏁呴殰鎶ヤ慨") +public class EamReportRepair extends JeecgEntity implements Serializable { + + private static final long serialVersionUID = 3966250456529614720L; + + /** + * 鍒犻櫎鏍囪 + */ + @Excel(name = "鍒犻櫎鏍囪", width = 15) + @ApiModelProperty(value = "鍒犻櫎鏍囪") + @Dict(dicCode = "del_flag") + private Integer delFlag; + /** + * 鏁呴殰寮�濮嬫椂闂� + */ + @ApiModelProperty(value = "鏁呴殰寮�濮嬫椂闂�") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date faultStartTime; + /** + * 鏄惁鍋滄満 + */ + @Excel(name = "鏄惁鍋滄満", width = 15) + @ApiModelProperty(value = "鏄惁鍋滄満") + @Dict(dicCode = "breakdown_flag") + private String breakdownFlag; + /** + * 璁惧ID + */ + @Excel(name = "璁惧ID", width = 15) + @ApiModelProperty(value = "璁惧ID") + private String equipmentId; + /** + * 鏁呴殰绠�绉� + */ + @Excel(name = "鏁呴殰绠�绉�", width = 15) + @ApiModelProperty(value = "鏁呴殰绠�绉�") + private String faultName; + /** + * 鏁呴殰鍒嗙被 + */ + @Excel(name = "鏁呴殰鍒嗙被", width = 15) + @ApiModelProperty(value = "鏁呴殰鍒嗙被") + @Dict(dicCode = "fault_reason_category") + private String faultType; + /** + * 鏁呴殰鎻忚堪 + */ + @Excel(name = "鏁呴殰鎻忚堪", width = 15) + @ApiModelProperty(value = "鏁呴殰鎻忚堪") + private String faultDescription; + /** + * 鎶ヤ慨鐘舵�� + */ + @Excel(name = "鎶ヤ慨鐘舵��", width = 15) + @ApiModelProperty(value = "鎶ヤ慨鐘舵��") + @Dict(dicCode = "report_repair_status") + private String reportStatus; + /** + * 鐓х墖鏂囦欢ids;id浠ラ�楀彿鍒嗛殧 + */ + @Excel(name = "鐓х墖", width = 15) + @ApiModelProperty(value = "鐓х墖") + private String imageFiles; + /** + * 澶囨敞 + */ + @Excel(name = "澶囨敞", width = 15) + @ApiModelProperty(value = "澶囨敞") + private String remark; + + @TableField(exist = false) + @ApiModelProperty(value = "璁惧鍚嶇О") + private String equipmentName; +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java new file mode 100644 index 0000000..a86d58c --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamReportRepairMapper.java @@ -0,0 +1,28 @@ +package org.jeecg.modules.eam.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; +import org.jeecg.modules.eam.entity.EamReportRepair; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.eam.request.EamReportRepairQuery; + +import java.util.List; + +/** + * @Description: 鏁呴殰鎶ヤ慨 + * @Author: Lius + * @Date: 2025-04-01 + */ +public interface EamReportRepairMapper extends BaseMapper<EamReportRepair> { + + /** + * 鍒嗛〉鍒楄〃 + * + * @param page + * @param eamReportRepairQuery + * @param equipmentIds + * @return + */ + IPage<EamReportRepair> pageList(Page<EamReportRepair> page, @Param("eamReportRepair") EamReportRepairQuery eamReportRepairQuery, @Param("userId") String userId, @Param("equipmentIds") List<String> equipmentIds); +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml new file mode 100644 index 0000000..dfbd659 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportRepairMapper.xml @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="org.jeecg.modules.eam.mapper.EamReportRepairMapper"> + + <select id="pageList" resultType="org.jeecg.modules.eam.entity.EamReportRepair"> + SELECT + t1.*, + t2.equipment_name + FROM + eam_report_repair t1 + LEFT JOIN eam_equipment t2 ON t1.equipment_id = t2.equipment_code + <where> + <choose> + <when test="equipmentIds != null and equipmentIds.size() > 0 "> + AND t1.equipment_id IN + <foreach collection="equipmentIds" item="equipmentId" index="index" open="(" close=")" separator=","> + {equipmentId} + </foreach> + </when> + <otherwise> + EXISTS ( SELECT 1 FROM mdc_user_production t3 WHERE t3.user_id = #{userId} AND t3.pro_id= t2.org_id ) + </otherwise> + </choose> + <if test="eamReportRepair.equipmentId != null and eamReportRepair.equipmentId != ''"> + AND t1.equipment_id LIKE CONCAT(CONCAT('%',#{ eamReportRepair.equipmentId }),'%') + </if> + <if test="eamReportRepair.equipmentName != null and eamReportRepair.equipmentName != ''"> + AND t2.equipment_name = LIKE CONCAT(CONCAT('%',#{ eamReportRepair.equipmentName }),'%') + </if> + <if test="eamReportRepair.breakdownFlag != null and eamReportRepair.breakdownFlag != ''"> + AND t1.breakdown_flag = #{ eamReportRepair.breakdownFlag } + </if> + <if test="eamReportRepair.faultType != null and eamReportRepair.faultType != ''"> + AND t1.fault_type = #{ eamReportRepair.faultType } + </if> + <if test="eamReportRepair.reportStatus != null and eamReportRepair.reportStatus != ''"> + AND t1.report_status = #{ eamReportRepair.reportStatus } + </if> + <if test="eamReportRepair.faultName != null and eamReportRepair.faultName != ''"> + AND t1.fault_name = #{ eamReportRepair.faultName } + </if> + <if test="eamReportRepair.startTime != null and eamReportRepair.startTime != '' and eamReportRepair.endTime != null and eamReportRepair.endTime != ''"> + AND t1.fault_start_time BETWEEN #{ eamReportRepair.startTime } AND #{ eamReportRepair.endTime } + </if> + </where> + ORDER BY t1.fault_start_time DESC + </select> +</mapper> \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamReportRepairQuery.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamReportRepairQuery.java new file mode 100644 index 0000000..cec5aed --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamReportRepairQuery.java @@ -0,0 +1,37 @@ +package org.jeecg.modules.eam.request; + +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; +import lombok.experimental.Accessors; +import org.jeecg.modules.eam.entity.EamReportRepair; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Author: Lius + * @CreateTime: 2025-04-03 + * @Description: + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="璇锋眰瀵硅薄", description="璁惧鎶ヤ慨") +public class EamReportRepairQuery extends EamReportRepair implements Serializable { + + private static final long serialVersionUID = -7111580122226167877L; + + @ApiModelProperty(value = "寮�濮嬫椂闂�") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date startTime; + + @ApiModelProperty(value = "缁撴潫鏃堕棿") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date endTime; +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java new file mode 100644 index 0000000..dbaedda --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamReportRepairService.java @@ -0,0 +1,23 @@ +package org.jeecg.modules.eam.service; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.jeecg.modules.eam.entity.EamReportRepair; +import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.eam.request.EamReportRepairQuery; + +/** + * @Description: 鏁呴殰鎶ヤ慨 + * @Author: Lius + * @Date: 2025-04-01 + */ +public interface IEamReportRepairService extends IService<EamReportRepair> { + + /** + * 鍒嗛〉鍒楄〃 + * @param page + * @param eamReportRepairQuery + * @return + */ + IPage<EamReportRepair> pageList(Page<EamReportRepair> page, EamReportRepairQuery eamReportRepairQuery); +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java new file mode 100644 index 0000000..996b510 --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java @@ -0,0 +1,49 @@ +package org.jeecg.modules.eam.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.modules.eam.entity.EamReportRepair; +import org.jeecg.modules.eam.mapper.EamReportRepairMapper; +import org.jeecg.modules.eam.request.EamReportRepairQuery; +import org.jeecg.modules.eam.service.IEamReportRepairService; +import org.springframework.stereotype.Service; + +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +/** + * @Description: 鏁呴殰鎶ヤ慨 + * @Author: Lius + * @Date: 2025-04-01 + */ +@Service +public class EamReportRepairServiceImpl extends ServiceImpl<EamReportRepairMapper, EamReportRepair> implements IEamReportRepairService { + + /** + * 鍒嗛〉鍒楄〃 + * + * @param page + * @param eamReportRepairQuery + * @return + */ + @Override + public IPage<EamReportRepair> pageList(Page<EamReportRepair> page, EamReportRepairQuery eamReportRepairQuery) { + //鐢ㄦ埛鏁版嵁鏉冮檺 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + return page; + } + List<String> equipmentIds = new ArrayList<>(); + if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) { + //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧 + equipmentIds = Arrays.asList(sysUser.getEquipmentIds().split(",")); + } + return this.baseMapper.pageList(page, eamReportRepairQuery, sysUser.getId(), equipmentIds); + } +} -- Gitblit v1.9.3