zhangherong
2025-07-10 68dabe6222f72ca13c0ebfc606f13a7a0ed6e0f9
art: 技术状态鉴定-查询接口
已添加1个文件
已修改9个文件
396 ■■■■ 文件已修改
db/430设备管理数据库设计.pdma.json 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationOrderController.java 71 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationOrderDetailController.java 136 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationOrder.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationOrderDetail.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamTechnicalStatusEvaluationOrderMapper.java 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamTechnicalStatusEvaluationOrderMapper.xml 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamTechnicalStatusEvaluationOrderQuery.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationOrderService.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java 99 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
db/430É豸¹ÜÀíÊý¾Ý¿âÉè¼Æ.pdma.json
@@ -4,7 +4,7 @@
  "avatar": "",
  "version": "4.9.2",
  "createdTime": "2025-3-10 16:38:19",
  "updatedTime": "2025-7-9 19:20:22",
  "updatedTime": "2025-7-10 10:43:18",
  "dbConns": [],
  "profile": {
    "default": {
@@ -25418,6 +25418,24 @@
          "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098"
        },
        {
          "defKey": "order_id",
          "defName": "工单ID",
          "comment": "",
          "type": "",
          "len": "",
          "scale": "",
          "primaryKey": false,
          "notNull": false,
          "autoIncrement": false,
          "defaultValue": "",
          "hideInGraph": false,
          "refDict": "",
          "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64",
          "extProps": {},
          "domain": "16120F75-6AA7-4483-868D-F07F511BB081",
          "id": "237E6137-D268-4FDF-95F1-C20B95DE6F98"
        },
        {
          "defKey": "item_code",
          "defName": "序号",
          "comment": "",
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationOrderController.java
@@ -1,6 +1,5 @@
package org.jeecg.modules.eam.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
@@ -9,16 +8,11 @@
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationOrder;
import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationOrderQuery;
import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationOrderService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
 /**
 * @Description: æŠ€æœ¯çŠ¶æ€é‰´å®šå·¥å•
@@ -37,21 +31,18 @@
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param eamTechnicalStatusEvaluationOrder
     * @param query
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    @ApiOperation(value="技术状态鉴定工单-分页列表查询", notes="技术状态鉴定工单-分页列表查询")
    @GetMapping(value = "/list")
    public Result<?> queryPageList(EamTechnicalStatusEvaluationOrder eamTechnicalStatusEvaluationOrder,
    public Result<?> queryPageList(EamTechnicalStatusEvaluationOrderQuery query,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<EamTechnicalStatusEvaluationOrder> queryWrapper = QueryGenerator.initQueryWrapper(eamTechnicalStatusEvaluationOrder, req.getParameterMap());
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize) {
        Page<EamTechnicalStatusEvaluationOrder> page = new Page<EamTechnicalStatusEvaluationOrder>(pageNo, pageSize);
        IPage<EamTechnicalStatusEvaluationOrder> pageList = eamTechnicalStatusEvaluationOrderService.page(page, queryWrapper);
        IPage<EamTechnicalStatusEvaluationOrder> pageList = eamTechnicalStatusEvaluationOrderService.queryPageList(page, query);
        return Result.OK(pageList);
    }
    
@@ -83,33 +74,6 @@
        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) {
        eamTechnicalStatusEvaluationOrderService.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.eamTechnicalStatusEvaluationOrderService.removeByIds(Arrays.asList(ids.split(",")));
        return Result.OK("批量删除成功!");
    }
    
    /**
     * é€šè¿‡id查询
@@ -117,35 +81,10 @@
     * @param id
     * @return
     */
    @AutoLog(value = "技术状态鉴定工单-通过id查询")
    @ApiOperation(value="技术状态鉴定工单-通过id查询", notes="技术状态鉴定工单-通过id查询")
    @GetMapping(value = "/queryById")
    public Result<?> queryById(@RequestParam(name="id",required=true) String id) {
        EamTechnicalStatusEvaluationOrder eamTechnicalStatusEvaluationOrder = eamTechnicalStatusEvaluationOrderService.getById(id);
        return Result.OK(eamTechnicalStatusEvaluationOrder);
    }
  /**
   * å¯¼å‡ºexcel
   *
   * @param request
   * @param eamTechnicalStatusEvaluationOrder
   */
  @RequestMapping(value = "/exportXls")
  public ModelAndView exportXls(HttpServletRequest request, EamTechnicalStatusEvaluationOrder eamTechnicalStatusEvaluationOrder) {
      return super.exportXls(request, eamTechnicalStatusEvaluationOrder, EamTechnicalStatusEvaluationOrder.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, EamTechnicalStatusEvaluationOrder.class);
  }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamTechnicalStatusEvaluationOrderDetailController.java
@@ -1,24 +1,20 @@
package org.jeecg.modules.eam.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationOrderDetail;
import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationOrderDetailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.Arrays;
import java.util.List;
 /**
 * @Description: æŠ€æœ¯çŠ¶æ€é‰´å®šå·¥å•æ˜Žç»†
@@ -32,120 +28,24 @@
@RequestMapping("/eam/eamTechnicalStatusEvaluationOrderDetail")
public class EamTechnicalStatusEvaluationOrderDetailController extends JeecgController<EamTechnicalStatusEvaluationOrderDetail, IEamTechnicalStatusEvaluationOrderDetailService> {
    @Autowired
    private IEamTechnicalStatusEvaluationOrderDetailService eamTechnicalStatusEvaluationOrderDetailService;
    private IEamTechnicalStatusEvaluationOrderDetailService orderDetailService;
    
    /**
     * åˆ†é¡µåˆ—表查询
     * ä¸€æ¬¡åŠ è½½
     *
     * @param eamTechnicalStatusEvaluationOrderDetail
     * @param pageNo
     * @param pageSize
     * @param req
     * @param orderId
     * @return
     */
    @ApiOperation(value="技术状态鉴定工单明细-分页列表查询", notes="技术状态鉴定工单明细-分页列表查询")
    @GetMapping(value = "/list")
    public Result<?> queryPageList(EamTechnicalStatusEvaluationOrderDetail eamTechnicalStatusEvaluationOrderDetail,
                                   @RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
                                   @RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<EamTechnicalStatusEvaluationOrderDetail> queryWrapper = QueryGenerator.initQueryWrapper(eamTechnicalStatusEvaluationOrderDetail, req.getParameterMap());
        Page<EamTechnicalStatusEvaluationOrderDetail> page = new Page<EamTechnicalStatusEvaluationOrderDetail>(pageNo, pageSize);
        IPage<EamTechnicalStatusEvaluationOrderDetail> pageList = eamTechnicalStatusEvaluationOrderDetailService.page(page, queryWrapper);
        return Result.OK(pageList);
    @ApiOperation(value = "技术状态鉴定规范明细-不分页列表查询", notes = "技术状态鉴定规范明细-不分页列表查询")
    @GetMapping(value = "/queryList")
    public Result<?> queryList(@RequestParam("orderId") String orderId) {
        LambdaQueryWrapper<EamTechnicalStatusEvaluationOrderDetail> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EamTechnicalStatusEvaluationOrderDetail::getOrderId, orderId);
        queryWrapper.orderByAsc(EamTechnicalStatusEvaluationOrderDetail::getCheckCategory);
        queryWrapper.orderByAsc(EamTechnicalStatusEvaluationOrderDetail::getItemCode);
        List<EamTechnicalStatusEvaluationOrderDetail> list = orderDetailService.list(queryWrapper);
        return Result.OK(list);
    }
    
    /**
     * æ·»åŠ 
     *
     * @param eamTechnicalStatusEvaluationOrderDetail
     * @return
     */
    @AutoLog(value = "技术状态鉴定工单明细-添加")
    @ApiOperation(value="技术状态鉴定工单明细-添加", notes="技术状态鉴定工单明细-添加")
    @PostMapping(value = "/add")
    public Result<?> add(@RequestBody EamTechnicalStatusEvaluationOrderDetail eamTechnicalStatusEvaluationOrderDetail) {
        eamTechnicalStatusEvaluationOrderDetailService.save(eamTechnicalStatusEvaluationOrderDetail);
        return Result.OK("添加成功!");
    }
    /**
     * ç¼–辑
     *
     * @param eamTechnicalStatusEvaluationOrderDetail
     * @return
     */
    @AutoLog(value = "技术状态鉴定工单明细-编辑")
    @ApiOperation(value="技术状态鉴定工单明细-编辑", notes="技术状态鉴定工单明细-编辑")
    @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST})
    public Result<?> edit(@RequestBody EamTechnicalStatusEvaluationOrderDetail eamTechnicalStatusEvaluationOrderDetail) {
        eamTechnicalStatusEvaluationOrderDetailService.updateById(eamTechnicalStatusEvaluationOrderDetail);
        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) {
        eamTechnicalStatusEvaluationOrderDetailService.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.eamTechnicalStatusEvaluationOrderDetailService.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) {
        EamTechnicalStatusEvaluationOrderDetail eamTechnicalStatusEvaluationOrderDetail = eamTechnicalStatusEvaluationOrderDetailService.getById(id);
        return Result.OK(eamTechnicalStatusEvaluationOrderDetail);
    }
  /**
   * å¯¼å‡ºexcel
   *
   * @param request
   * @param eamTechnicalStatusEvaluationOrderDetail
   */
  @RequestMapping(value = "/exportXls")
  public ModelAndView exportXls(HttpServletRequest request, EamTechnicalStatusEvaluationOrderDetail eamTechnicalStatusEvaluationOrderDetail) {
      return super.exportXls(request, eamTechnicalStatusEvaluationOrderDetail, EamTechnicalStatusEvaluationOrderDetail.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, EamTechnicalStatusEvaluationOrderDetail.class);
  }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationOrder.java
@@ -1,6 +1,7 @@
package org.jeecg.modules.eam.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
@@ -130,4 +131,12 @@
    /**备注*/
    @ApiModelProperty(value = "备注")
    private String remark;
    //列表展示
    @TableField(exist = false)
    private String equipmentCode;
    @TableField(exist = false)
    private String equipmentName;
    @TableField(exist = false)
    private String equipmentModel;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamTechnicalStatusEvaluationOrderDetail.java
@@ -40,6 +40,9 @@
    /**更新时间*/
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**工单ID*/
    @ApiModelProperty(value = "工单ID")
    private String orderId;
    /**序号*/
    @ApiModelProperty(value = "序号")
    private Integer itemCode;
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamTechnicalStatusEvaluationOrderMapper.java
@@ -1,10 +1,12 @@
package org.jeecg.modules.eam.mapper;
import java.util.List;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationOrder;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: æŠ€æœ¯çŠ¶æ€é‰´å®šå·¥å•
@@ -14,4 +16,11 @@
 */
public interface EamTechnicalStatusEvaluationOrderMapper extends BaseMapper<EamTechnicalStatusEvaluationOrder> {
    /**
     * åˆ†é¡µæŸ¥è¯¢
     * @param page
     * @param queryWrapper
     * @return
     */
    IPage<EamTechnicalStatusEvaluationOrder> queryPageList(Page<EamTechnicalStatusEvaluationOrder> page, @Param(Constants.WRAPPER) QueryWrapper<EamTechnicalStatusEvaluationOrder> queryWrapper);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamTechnicalStatusEvaluationOrderMapper.xml
@@ -1,5 +1,11 @@
<?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.EamTechnicalStatusEvaluationOrderMapper">
    <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationOrder">
        select ems.*, e.equipment_code, e.equipment_name, e.equipment_model
        from eam_technical_status_evaluation_order ems
        inner join eam_equipment e
        on ems.equipment_id = e.id
        ${ew.customSqlSegment}
    </select>
</mapper>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamTechnicalStatusEvaluationOrderQuery.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,23 @@
package org.jeecg.modules.eam.request;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
public class EamTechnicalStatusEvaluationOrderQuery {
    private String orderNum;
    private String equipmentId;
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date dateBegin;
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date dateEnd;
    private String evaluationStatus;
    private String column;
    private String order;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamTechnicalStatusEvaluationOrderService.java
@@ -1,7 +1,10 @@
package org.jeecg.modules.eam.service;
import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationOrder;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationOrder;
import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationOrderQuery;
/**
 * @Description: æŠ€æœ¯çŠ¶æ€é‰´å®šå·¥å•
@@ -11,4 +14,11 @@
 */
public interface IEamTechnicalStatusEvaluationOrderService extends IService<EamTechnicalStatusEvaluationOrder> {
    /**
     * åˆ†é¡µæŸ¥è¯¢
     * @param page
     * @param query
     * @return
     */
    IPage<EamTechnicalStatusEvaluationOrder> queryPageList(Page<EamTechnicalStatusEvaluationOrder> page, EamTechnicalStatusEvaluationOrderQuery query);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamTechnicalStatusEvaluationOrderServiceImpl.java
@@ -1,11 +1,35 @@
package org.jeecg.modules.eam.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.apache.shiro.SecurityUtils;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.constant.DataBaseConstant;
import org.jeecg.common.system.vo.LoginUser;
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.eam.entity.EamTechnicalStatusEvaluationOrder;
import org.jeecg.modules.eam.mapper.EamTechnicalStatusEvaluationOrderMapper;
import org.jeecg.modules.eam.request.EamTechnicalStatusEvaluationOrderQuery;
import org.jeecg.modules.eam.service.IEamEquipmentService;
import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationOrderDetailService;
import org.jeecg.modules.eam.service.IEamTechnicalStatusEvaluationOrderService;
import org.jeecg.modules.system.entity.BaseFactory;
import org.jeecg.modules.system.entity.BaseFactoryUser;
import org.jeecg.modules.system.service.IBaseFactoryService;
import org.jeecg.modules.system.service.IBaseFactoryUserService;
import org.jeecg.modules.system.service.ISysBusinessCodeRuleService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.util.Arrays;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
/**
 * @Description: æŠ€æœ¯çŠ¶æ€é‰´å®šå·¥å•
@@ -16,4 +40,77 @@
@Service
public class EamTechnicalStatusEvaluationOrderServiceImpl extends ServiceImpl<EamTechnicalStatusEvaluationOrderMapper, EamTechnicalStatusEvaluationOrder> implements IEamTechnicalStatusEvaluationOrderService {
    @Autowired
    private IBaseFactoryUserService baseFactoryUserService;
    @Autowired
    private IBaseFactoryService baseFactoryService;
    @Autowired
    private IEamTechnicalStatusEvaluationOrderDetailService orderDetailService;
    @Autowired
    private IEamEquipmentService equipmentService;
    @Autowired
    private ISysBusinessCodeRuleService businessCodeRuleService;
    @Override
    public IPage<EamTechnicalStatusEvaluationOrder> queryPageList(Page<EamTechnicalStatusEvaluationOrder> page, EamTechnicalStatusEvaluationOrderQuery query) {
        QueryWrapper<EamTechnicalStatusEvaluationOrder> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("ems.del_flag", CommonConstant.DEL_FLAG_0);
        //用户数据权限
        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        if (sysUser == null) {
            return page;
        }
        if (StringUtils.isNotBlank(sysUser.getEamEquipmentIds())) {
            //选择了设备,根据设备id过滤设备
            List<String> equipArr = Arrays.asList(sysUser.getEamEquipmentIds().split(","));
            queryWrapper.in("e.equipment_code", equipArr);
        } else {
            //没有选择设备,根据中心过滤设备
            List<BaseFactoryUser> baseFactoryUserList = baseFactoryUserService.
                    list(new LambdaQueryWrapper<BaseFactoryUser>().eq(BaseFactoryUser::getUserId, sysUser.getId()));
            if (!CollectionUtils.isEmpty(baseFactoryUserList)) {
                Set<String> factoryIds = baseFactoryUserList.stream().map(BaseFactoryUser::getFactoryId).collect(Collectors.toSet());
                Set<String> factoryCodeList = baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet());
                queryWrapper.in("e.factory_org_code", factoryCodeList);
            } else {
                return page;
            }
        }
        if (query != null) {
            //编码 æ¨¡ç³ŠæŸ¥è¯¢
            if (StringUtils.isNotBlank(query.getOrderNum())) {
                queryWrapper.like("ems.order_num", query.getOrderNum());
            }
            //设备
            if (StringUtils.isNotBlank(query.getEquipmentId())) {
                queryWrapper.eq("ems.equipment_id", query.getEquipmentId());
            }
            //保养分类
            if (StringUtils.isNotBlank(query.getEvaluationStatus())) {
                queryWrapper.eq("ems.evaluation_status", query.getEvaluationStatus());
            }
            if (query.getDateBegin() != null && query.getDateEnd() != null) {
                queryWrapper.between("ems.evaluation_date", query.getDateBegin(), query.getDateEnd());
            }
            //排序
            if (StringUtils.isNotBlank(query.getColumn()) && StringUtils.isNotBlank(query.getOrder())) {
                String column = query.getColumn();
                if (column.endsWith(CommonConstant.DICT_TEXT_SUFFIX)) {
                    column = column.substring(0, column.lastIndexOf(CommonConstant.DICT_TEXT_SUFFIX));
                }
                if (DataBaseConstant.SQL_ASC.equalsIgnoreCase(query.getOrder())) {
                    queryWrapper.orderByAsc("ems." + oConvertUtils.camelToUnderline(column));
                } else {
                    queryWrapper.orderByDesc("ems." + oConvertUtils.camelToUnderline(column));
                }
            } else {
                queryWrapper.orderByDesc("ems.create_time");
            }
        } else {
            queryWrapper.orderByDesc("ems.create_time");
        }
        queryWrapper.orderByDesc("ems.create_time");
        return this.getBaseMapper().queryPageList(page, queryWrapper);
    }
}