lyh
2 天以前 37d6ceefa256356961be44e868842bf6a77e4599
加工设备三级保养验收单 加工设备三级保养移交单批量打印接口
已添加1个文件
已修改5个文件
428 ■■■■■ 文件已修改
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExport.java 272 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceOrderController.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderMapper.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExport.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,272 @@
package org.jeecg.modules.eam.dto;
import com.baomidou.mybatisplus.annotation.*;
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.aspect.annotation.DictList;
import org.jeecg.common.system.base.entity.JeecgEntity;
import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrderDetail;
import org.jeecg.modules.eam.entity.EamThirdMaintenanceSpare;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
 * @Description: è®¾å¤‡ä¸‰çº§ä¿å…»
 * @Author: jeecg-boot
 * @Date: 2025-04-29
 * @Version: V1.0
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class EamThirdMaintenanceOrderExport  {
    /**
     * ID
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "ID")
    private String id;
    /**
     * åˆ é™¤æ ‡è®°
     */
    @ApiModelProperty(value = "删除标记")
    private Integer delFlag;
    /**
     * å·¥å•号
     */
    @Excel(name = "工单号", width = 15)
    @ApiModelProperty(value = "工单号")
    private String orderNum;
    /**
     * è®¾å¤‡ID
     */
    @Excel(name = "设备ID", width = 15)
    @ApiModelProperty(value = "设备ID")
    private String equipmentId;
    /**
     * æ ‡å‡†ID
     */
    @Excel(name = "标准ID", width = 15)
    @ApiModelProperty(value = "标准ID")
    @Dict(dictTable = "eam_maintenance_standard", dicCode = "id", dicText = "standard_name")
    private String standardId;
    /**
     * è®¡åˆ’保养日期
     */
    @ApiModelProperty(value = "计划保养日期;提前70天生成工单")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    private String maintenanceDate;
    /**
     * é”å®šå·¥å•日期
     */
    @ApiModelProperty(value = "锁定工单日期;提前55天锁定工单")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date freezeOrderDate;
    /**
     * å·¥å•过期日期
     */
    @ApiModelProperty(value = "工单过期日期;到期未做直接过期")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date orderExpirationDate;
    /**
     * å®žé™…开始时间
     */
    @Excel(name = "实际开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "实际开始时间")
    private Date actualStartTime;
    /**
     * å®žé™…结束时间
     */
    @Excel(name = "实际结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "实际结束时间")
    private Date actualEndTime;
    /**
     * ç»´ä¿®äºº
     */
    @Excel(name = "维修人", width = 15)
    @ApiModelProperty(value = "维修人")
    @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
    private String repairman;
    /**
     * ä¿å…»çŠ¶æ€
     */
    @Excel(name = "保养状态", width = 15)
    @ApiModelProperty(value = "保养状态;待保养、保养中、待检查、操作人签字、维修人签字、维修室主任签字、设备检查人签字、已完成、已锁定、变更中、已取消")
    @Dict(dicCode = "third_maintenance_status")
    private String maintenanceStatus;
    /**
     * åˆ›å»ºæ–¹å¼
     */
    @Excel(name = "创建方式", width = 15)
    @ApiModelProperty(value = "创建方式")
    @Dict(dicCode = "order_creation_method")
    private String creationMethod;
    /**
     * è®¾å¤‡åŠŸèƒ½æ˜¯å¦é½å¤‡;是否
     */
    @Excel(name = "设备功能是否齐备;是否", width = 15)
    @ApiModelProperty(value = "设备功能是否齐备;是否")
    @Dict(dicCode = "yn")
    private String fullyFunctional;
    /**
     * è®¾å¤‡åŠŸèƒ½æ˜¯å¦é½å¤‡;是否
     */
    @Excel(name = "设备能否正常运转;是否", width = 15)
    @ApiModelProperty(value = "设备功能是否齐备;是否")
    @Dict(dicCode = "yn")
    private String runningNormally;
    /**
     * é—®é¢˜æè¿°
     */
    @Excel(name = "问题描述", width = 30)
    @ApiModelProperty(value = "问题描述")
    private String problemDescription;
    /**
     * æ£€æŸ¥äºº
     */
    @Excel(name = "检查人", width = 15)
    @ApiModelProperty(value = "检查人")
    @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
    private String inspector;
    /**
     * æ£€æŸ¥æ—¶é—´
     */
    @ApiModelProperty(value = "检查时间")
    @Excel(name = "检查时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date inspectTime;
    /**
     * æ“ä½œäººç­¾å­—
     */
    @Excel(name = "操作人签字", width = 15)
    @ApiModelProperty(value = "操作人签字")
    @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
    private String operatorSignature;
    /**
     * ååŠ©æ“ä½œäºº
     */
    @Excel(name = "协助操作人", width = 15)
    @ApiModelProperty(value = "协助操作人")
    private String assistantOperator;
    /**
     * æ“ä½œäººç­¾å­—æ—¶é—´
     */
    @ApiModelProperty(value = "操作人签字时间")
    @Excel(name = "操作人签字时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date operatorSignatureTime;
    /**
     * ç»´ä¿®äººç­¾å­—
     */
    @Excel(name = "维修人签字", width = 15)
    @ApiModelProperty(value = "维修人签字")
    @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
    private String repairmanSignature;
    /**
     * ååŠ©ç»´ä¿®äºº
     */
    @Excel(name = "协助维修人", width = 15)
    @ApiModelProperty(value = "协助维修人")
    private String assistantRepairman;
    /**
     * ç»´ä¿®äººç­¾å­—æ—¶é—´
     */
    @ApiModelProperty(value = "维修人签字时间")
    @Excel(name = "维修人签字时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date repairmanSignatureTime;
    /**
     * ç»´ä¿®å®¤ä¸»ä»»ç­¾å­—
     */
    @Excel(name = "维修室主任签字", width = 15)
    @ApiModelProperty(value = "维修室主任签字")
    @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
    private String repairManagerSignature;
    /**
     * ç»´ä¿®å®¤ä¸»ä»»ç­¾å­—æ—¶é—´
     */
    @ApiModelProperty(value = "维修室主任签字时间")
    @Excel(name = "维修室主任签字时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date repairManagerSignatureTime;
    /**
     * è®¾å¤‡æ£€æŸ¥äººç­¾å­—
     */
    @Excel(name = "设备检查人签字", width = 15)
    @ApiModelProperty(value = "设备检查人签字")
    @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname")
    private String inspectorSignature;
    /**
     * è®¾å¤‡æ£€æŸ¥äººç­¾å­—æ—¶é—´
     */
    @ApiModelProperty(value = "设备检查人签字时间")
    @Excel(name = "设备检查人签字时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date inspectorSignatureTime;
    /**
     * å¤‡æ³¨
     */
    @Excel(name = "备注", width = 15)
    @ApiModelProperty(value = "备注")
    private String remark;
    /**
     * ç§»äº¤å•HF编码
     */
    @Excel(name = "移交单HF编码", width = 15)
    @ApiModelProperty(value = "移交单HF编码")
    private String hfCodeA;
    /**
     * éªŒæ”¶å•HF编码
     */
    @Excel(name = "验收单HF编码", width = 15)
    @ApiModelProperty(value = "验收单HF编码")
    private String hfCodeB;
    //列表展示
    @TableField(exist = false)
    private String equipmentCode;
    @TableField(exist = false)
    private String equipmentName;
    //型号
    @TableField(exist = false)
    private String equipmentModel;
    //保养日期
    private String maintenanceDateFormatted;
    //使用单位
    private String factoryName;
    /**
     * å¤‡ä»¶æ˜Žç»†
     */
    @ApiModelProperty(value = "备件使用明细")
    @DictList
    private List<EamThirdMaintenanceSpare> eamThirdMaintenanceSpareList;
    /**
     * åˆ—表 ä¿å…»é¡¹æ˜Žç»†
     */
    @ApiModelProperty(value = "列表 ä¿å…»é¡¹æ˜Žç»†")
    @DictList
    private List<EamThirdMaintenanceOrderDetail> eamThirdMaintenanceOrderDetailList;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceOrderController.java
@@ -278,4 +278,28 @@
    public JSONObject exportThirdMaintenanceOrderBaseInfo(@RequestParam(name = "id", required = true) String id) {
        return eamThirdMaintenanceOrderService.exportThirdMaintenanceOrderBaseInfo(id);
    }
    /**
     * æ‰¹é‡åŠ å·¥è®¾å¤‡ä¸‰çº§ä¿å…»å®Œå·¥ç§»äº¤å•
     * @param ids
     * @return
     */
    @AutoLog(value = "设备三级保养-加工设备三级保养完工移交单")
    @ApiOperation(value = "设备三级保养-加工设备三级保养完工移交单", notes = "设备三级保养-加工设备三级保养完工移交单")
    @GetMapping(value = "/batchExport")
    public Result<?> export(String ids){
        return Result.ok(eamThirdMaintenanceOrderService.export(ids));
    }
    /**
     * æ‰¹é‡åŠ å·¥è®¾å¤‡ä¸‰çº§ä¿å…»éªŒæ”¶å•
     * @param ids
     * @return
     */
    @AutoLog(value = "设备三级保养-加工设备三级保养验收单")
    @ApiOperation(value = "设备三级保养-加工设备三级保养验收单", notes = "设备三级保养-加工设备三级保养验收单")
    @GetMapping(value = "/batchExportCheck")
    public Result<?> exportCheck(String ids) {
        return Result.ok(eamThirdMaintenanceOrderService.exportAcceptance(ids));
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceOrderMapper.java
@@ -6,8 +6,11 @@
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.dto.EamThirdMaintenanceOrderExport;
import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder;
import org.jeecg.modules.eam.request.EamThirdMaintenanceBaseResponse;
import java.util.List;
/**
 * @Description: è®¾å¤‡ä¸‰çº§ä¿å…»
@@ -27,6 +30,12 @@
    IPage<EamThirdMaintenanceOrder> queryPageList(Page<EamThirdMaintenanceOrder> page, @Param(Constants.WRAPPER) QueryWrapper<EamThirdMaintenanceOrder> queryWrapper);
    /**
     * åˆ—表查询
     * @param queryWrapper
     * @return
     */
    List<EamThirdMaintenanceOrderExport> queryList(@Param(Constants.WRAPPER) QueryWrapper<EamThirdMaintenanceOrderExport> queryWrapper);
    /**
     *
     * @param id
     * @return
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml
@@ -35,4 +35,12 @@
                LEFT JOIN eam_base_factory t3 ON t3.org_code = SUBSTRING ( t2.factory_org_code , 1, 6 )
        WHERE t1.id = #{id}
    </select>
</mapper>
    <select id="queryList" resultType="org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport">
        select wmo.*,FORMAT(CAST(wmo.maintenance_date AS DATE), 'yyyyå¹´MM月dd日') AS maintenance_date_formatted, e.equipment_code, e.equipment_name, e.equipment_model,f.factory_name
        from eam_third_maintenance_order wmo
                 inner join eam_equipment e
                            on wmo.equipment_id = e.id
                 LEFT JOIN eam_base_factory f ON f.org_code = SUBSTRING ( e.factory_org_code , 1, 6 )
            ${ew.customSqlSegment}
    </select>
</mapper>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport;
import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.eam.request.EamThirdMaintenanceQuery;
@@ -88,4 +89,16 @@
     * @return
     */
    JSONObject exportThirdMaintenanceOrderBaseInfo(String id);
    /**
     * æ‰¹é‡æ‰“印加工设备三级保养完工移交单
     * @param ids
     * @return
     */
    List<EamThirdMaintenanceOrderExport> export(String ids);
    /**
     * æ‰¹é‡æ‰“印加工设备三级保养验收单
     */
    List<EamThirdMaintenanceOrderExport> exportAcceptance(String ids);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java
@@ -24,6 +24,8 @@
import org.jeecg.common.util.oConvertUtils;
import org.jeecg.modules.eam.aspect.annotation.EquipmentHistoryLog;
import org.jeecg.modules.eam.constant.*;
import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport;
import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport;
import org.jeecg.modules.eam.entity.*;
import org.jeecg.modules.eam.mapper.EamThirdMaintenanceOrderMapper;
import org.jeecg.modules.eam.request.EamThirdMaintenanceBaseResponse;
@@ -591,6 +593,104 @@
    }
    /**
     * æ‰¹é‡æ‰“印加工设备三级保养完工移交单
     * @param ids
     * @return
     */
    @Override
    public List<EamThirdMaintenanceOrderExport> export(String ids){
        QueryWrapper<EamThirdMaintenanceOrderExport> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("wmo.del_flag",CommonConstant.DEL_FLAG_0.toString());
        queryWrapper.eq("wmo.maintenance_status",SecondMaintenanceStatusEnum.COMPLETE.name());
        //用户数据权限
        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        if (sysUser == null) {
            return new ArrayList<>();
        }
        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> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet());
                queryWrapper.in("e.factory_org_code", factoryCode);
            } else {
                return new ArrayList<>();
            }
        }
        //查询条件过滤
        if (StrUtil.isNotEmpty(ids)) {
            List<String> idList = Arrays.asList(ids.split(","));
            queryWrapper.in("wmo.id", idList);
        } else {
            queryWrapper.orderByDesc("wmo.create_time");
        }
        List<EamThirdMaintenanceOrderExport> eamThirdMaintenanceOrderExports=this.baseMapper.queryList(queryWrapper);
        //填充对应修理更换备件明细
        eamThirdMaintenanceOrderExports.forEach(eamThirdMaintenanceOrderExport->{
            List<EamThirdMaintenanceSpare> eamThirdMaintenanceSpares=eamThirdMaintenanceSpareService.list(
                    new QueryWrapper<EamThirdMaintenanceSpare>().eq("order_Id",eamThirdMaintenanceOrderExport.getId()));
            if (!eamThirdMaintenanceSpares.isEmpty()){
                eamThirdMaintenanceOrderExport.setEamThirdMaintenanceSpareList(eamThirdMaintenanceSpares);
            }
        });
        return eamThirdMaintenanceOrderExports;
    }
    /**
     * æ‰¹é‡æ‰“印加工设备三级保养验收单
     */
    @Override
    public List<EamThirdMaintenanceOrderExport> exportAcceptance(String ids){
        QueryWrapper<EamThirdMaintenanceOrderExport> queryWrapper = new QueryWrapper<>();
        queryWrapper.eq("wmo.del_flag",CommonConstant.DEL_FLAG_0.toString());
        queryWrapper.eq("wmo.maintenance_status",SecondMaintenanceStatusEnum.COMPLETE.name());
        //用户数据权限
        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
        if (sysUser == null) {
            return new ArrayList<>();
        }
        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> factoryCode= baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet());
                queryWrapper.in("e.factory_org_code", factoryCode);
            } else {
                return new ArrayList<>();
            }
        }
        //查询条件过滤
        if (StrUtil.isNotEmpty(ids)) {
            List<String> idList = Arrays.asList(ids.split(","));
            queryWrapper.in("wmo.id", idList);
        } else {
            queryWrapper.orderByDesc("wmo.create_time");
        }
        List<EamThirdMaintenanceOrderExport> eamThirdMaintenanceOrderExports=this.baseMapper.queryList(queryWrapper);
        //填充对应保养项明细
        eamThirdMaintenanceOrderExports.forEach(eamThirdMaintenanceOrderExport->{
            List<EamThirdMaintenanceOrderDetail> eamThirdMaintenanceSpares=eamThirdMaintenanceOrderDetailService.list(
                    new QueryWrapper<EamThirdMaintenanceOrderDetail>().eq("order_Id",eamThirdMaintenanceOrderExport.getId()));
            if (!eamThirdMaintenanceSpares.isEmpty()){
                eamThirdMaintenanceOrderExport.setEamThirdMaintenanceOrderDetailList(eamThirdMaintenanceSpares);
            }
        });
        return eamThirdMaintenanceOrderExports;
    }
    /**
     * æ›´æ–°å·¥å•状态
     */
    private void updateOrderStatus(Result result, EamThirdMaintenanceRequest request, EamThirdMaintenanceOrder order, LoginUser user) {