From 99d6db0aab044b740ce02f57872c1e38ae647b58 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期二, 29 七月 2025 19:00:50 +0800 Subject: [PATCH] 三不原则分析 中心修改 台账导入导出字段修改 --- lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportThreeNoSpareServiceImpl.java | 298 ++++++++++++++++++++++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java | 2 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportThreeNoSpareController.java | 49 +++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/EamReportThreeNoSpareEnum.java | 12 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamRepairOrderMapper.java | 2 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportThreeNoSpareService.java | 27 ++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java | 2 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportThreeNoSpareMapper.xml | 19 + lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java | 12 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamEquipmentDto.java | 2 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportThreeNoSpareMapper.java | 5 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamReportThreeNoSpare.java | 47 +++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamReportThreeNoSpareQuery.java | 139 ++++++++++ lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java | 1 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportThreeNoSpareDto.java | 131 ++++++++++ 15 files changed, 733 insertions(+), 15 deletions(-) diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/EamReportThreeNoSpareEnum.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/EamReportThreeNoSpareEnum.java new file mode 100644 index 0000000..4b43c44 --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/EamReportThreeNoSpareEnum.java @@ -0,0 +1,12 @@ +package org.jeecg.modules.eam.constant; + +public enum EamReportThreeNoSpareEnum { + //寰呮彁浜� + PENDING_SUBMIT, + //寰呭鎵� + PENDING_APPROVAL, + //宸插畬鎴� + REPAIR_COMPLETED, + //宸查┏鍥� + REJECTED; +} diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamEquipmentDto.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamEquipmentDto.java index bdf3a30..20023b9 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamEquipmentDto.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamEquipmentDto.java @@ -269,7 +269,7 @@ /** * 楠屾敹鏃ユ湡 */ - @Excel(name = "鎶曠敤鏃ユ湡", width = 25, format = "yyyy/MM/dd", orderNum = "29") + @Excel(name = "楠屾敹鏃ユ湡", width = 25, format = "yyyy/MM/dd", orderNum = "29") @ApiModelProperty(value = "楠屾敹鏃ユ湡") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportThreeNoSpareDto.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportThreeNoSpareDto.java new file mode 100644 index 0000000..7aae2a1 --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportThreeNoSpareDto.java @@ -0,0 +1,131 @@ +package org.jeecg.modules.eam.dto; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +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.modules.flowable.domain.vo.FlowTaskVo; +import org.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; + +/** + * @Description: 鈥滀笁涓嶆斁杩囩殑鍘熷垯鈥濆垎鏋愯〃 + * @Author: jeecg-boot + * @Date: 2025-07-17 + * @Version: V1.0 + */ +@Data +@TableName("eam_report_three_no_spare") +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +@ApiModel(value="eam_report_three_no_spare瀵硅薄", description="鈥滀笁涓嶆斁杩囩殑鍘熷垯鈥濆垎鏋愯〃") +public class EamReportThreeNoSpareDto extends FlowTaskVo implements Serializable { + private static final long serialVersionUID = 1L; + + /**涓婚敭*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "涓婚敭") + private String id; + /**鍒涘缓浜�*/ + @ApiModelProperty(value = "鍒涘缓浜�") + private String createBy; + /**鍒涘缓鏃ユ湡*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鍒涘缓鏃ユ湡") + private Date createTime; + /**鏇存柊浜�*/ + @ApiModelProperty(value = "鏇存柊浜�") + private String updateBy; + /**鏇存柊鏃ユ湡*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鏇存柊鏃ユ湡") + private Date updateTime; + /**鍒犻櫎鏍囪*/ + @Excel(name = "鍒犻櫎鏍囪", width = 15) + @ApiModelProperty(value = "鍒犻櫎鏍囪") + @TableLogic + private Integer delFlag; + /**鎶ヤ慨ID*/ + @Excel(name = "鎶ヤ慨ID", width = 15) + @ApiModelProperty(value = "鎶ヤ慨ID") + private String reportId; + /**璁惧ID*/ + @Excel(name = "璁惧ID", width = 15) + @ApiModelProperty(value = "璁惧ID") + private String equipmentId; + /**鎻愪氦鐘舵��*/ + @Excel(name = "鎻愪氦鐘舵��", width = 15) + @ApiModelProperty(value = "鎻愪氦鐘舵��") + private String submitStatus; + /**鍘熷洜鍒嗘瀽*/ + @Excel(name = "鍘熷洜鍒嗘瀽", width = 15) + @ApiModelProperty(value = "鍘熷洜鍒嗘瀽") + private String causeAnalysis; + /**鍩硅鏁欒偛*/ + @Excel(name = "鍩硅鏁欒偛", width = 15) + @ApiModelProperty(value = "鍩硅鏁欒偛") + private String isTrainingEducation; + /**鍩硅褰㈠紡*/ + @Excel(name = "鍩硅褰㈠紡", width = 15) + @ApiModelProperty(value = "鍩硅褰㈠紡") + private String trainingFormat; + /**鍩硅鍐呭*/ + @Excel(name = "鍩硅鍐呭", width = 15) + @ApiModelProperty(value = "鍩硅鍐呭") + private String trainingContent; + /**鍩硅浜�*/ + @Excel(name = "鍩硅浜�", width = 15) + @ApiModelProperty(value = "鍩硅浜�") + private String trainingUser; + /**鍩硅鏃堕棿*/ + @Excel(name = "鍩硅鏃堕棿", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "鍩硅鏃堕棿") + private Date trainingUserTime; + /**棰勯槻鎺柦*/ + @Excel(name = "棰勯槻鎺柦", width = 15) + @ApiModelProperty(value = "棰勯槻鎺柦") + private String preventionMeasures; + /**鍗曚綅棰嗗*/ + @Excel(name = "鍗曚綅棰嗗", width = 15) + @ApiModelProperty(value = "鍗曚綅棰嗗") + private String unitLeader; + /**棰嗗鎰忚*/ + @Excel(name = "棰嗗鎰忚", width = 15) + @ApiModelProperty(value = "棰嗗鎰忚") + private String leaderOpinion; + /**棰嗗纭缁撴灉*/ + @Excel(name = "棰嗗纭缁撴灉", width = 15) + @ApiModelProperty(value = "棰嗗纭缁撴灉") + private String leaderConfirmResult; + /**棰嗗纭鏃堕棿*/ + @Excel(name = "棰嗗纭鏃堕棿", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "棰嗗纭鏃堕棿") + private Date leaderConfirmTime; + /**浜嬫晠鐜拌薄*/ + @Excel(name = "浜嬫晠鐜拌薄", width = 15) + @ApiModelProperty(value = "浜嬫晠鐜拌薄") + private transient String accidentPhenomenon; + /**閲囧彇鎺柦*/ + @Excel(name = "閲囧彇鎺柦", width = 15) + @ApiModelProperty(value = "閲囧彇鎺柦") + private transient String measure; + /**閫犳垚缁撴灉*/ + @Excel(name = "閫犳垚缁撴灉", width = 15) + @ApiModelProperty(value = "閫犳垚缁撴灉") + private transient String causingResults; +} diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java index 3aded91..7462ff2 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipment.java @@ -280,7 +280,7 @@ /** * 楠屾敹鏃ユ湡 */ - @Excel(name = "鎶曠敤鏃ユ湡", width = 25, format = "yyyy/MM/dd", orderNum = "29") + @Excel(name = "楠屾敹鏃ユ湡", width = 25, format = "yyyy/MM/dd", orderNum = "29") @ApiModelProperty(value = "楠屾敹鏃ユ湡") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamReportThreeNoSpare.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamReportThreeNoSpare.java index 6f80781..8e57471 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamReportThreeNoSpare.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamReportThreeNoSpare.java @@ -56,7 +56,7 @@ @Excel(name = "鍒犻櫎鏍囪", width = 15) @ApiModelProperty(value = "鍒犻櫎鏍囪") @TableLogic - private String delFlag; + private Integer delFlag; /**鎶ヤ慨ID*/ @Excel(name = "鎶ヤ慨ID", width = 15) @ApiModelProperty(value = "鎶ヤ慨ID") @@ -65,13 +65,18 @@ @Excel(name = "璁惧ID", width = 15) @ApiModelProperty(value = "璁惧ID") private String equipmentId; + /**鎻愪氦鐘舵��*/ + @Excel(name = "鎻愪氦鐘舵��", width = 15) + @ApiModelProperty(value = "鎻愪氦鐘舵��") + @Dict(dicCode = "report_three_no_spare_submit_status") + private String submitStatus; /**鍘熷洜鍒嗘瀽*/ @Excel(name = "鍘熷洜鍒嗘瀽", width = 15) @ApiModelProperty(value = "鍘熷洜鍒嗘瀽") private String causeAnalysis; - /**鍩硅鏁欒偛鏄� 鍚�*/ - @Excel(name = "鍩硅鏁欒偛鏄� 鍚�", width = 15) - @ApiModelProperty(value = "鍩硅鏁欒偛鏄� 鍚�") + /**鍩硅鏁欒偛*/ + @Excel(name = "鍩硅鏁欒偛", width = 15) + @ApiModelProperty(value = "鍩硅鏁欒偛") private String isTrainingEducation; /**鍩硅褰㈠紡*/ @Excel(name = "鍩硅褰㈠紡", width = 15) @@ -91,4 +96,38 @@ @DateTimeFormat(pattern="yyyy-MM-dd") @ApiModelProperty(value = "鍩硅鏃堕棿") private Date trainingUserTime; + /**棰勯槻鎺柦*/ + @Excel(name = "棰勯槻鎺柦", width = 15) + @ApiModelProperty(value = "棰勯槻鎺柦") + private String preventionMeasures; + /**鍗曚綅棰嗗*/ + @Excel(name = "鍗曚綅棰嗗", width = 15) + @ApiModelProperty(value = "鍗曚綅棰嗗") + private String unitLeader; + /**棰嗗鎰忚*/ + @Excel(name = "棰嗗鎰忚", width = 15) + @ApiModelProperty(value = "棰嗗鎰忚") + private String leaderOpinion; + /**棰嗗纭鏃堕棿*/ + @Excel(name = "棰嗗纭鏃堕棿", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "棰嗗纭鏃堕棿") + private Date leaderConfirmTime; + /**棰嗗纭缁撴灉*/ + @Excel(name = "棰嗗纭缁撴灉", width = 15) + @ApiModelProperty(value = "棰嗗纭缁撴灉") + private String leaderConfirmResult; + /**浜嬫晠鐜拌薄*/ + @Excel(name = "浜嬫晠鐜拌薄", width = 15) + @ApiModelProperty(value = "浜嬫晠鐜拌薄") + private transient String accidentPhenomenon; + /**閲囧彇鎺柦*/ + @Excel(name = "閲囧彇鎺柦", width = 15) + @ApiModelProperty(value = "閲囧彇鎺柦") + private transient String measure; + /**閫犳垚缁撴灉*/ + @Excel(name = "閫犳垚缁撴灉", width = 15) + @ApiModelProperty(value = "閫犳垚缁撴灉") + private transient String causingResults; } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamRepairOrderMapper.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamRepairOrderMapper.java index 8788003..5213ff2 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamRepairOrderMapper.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamRepairOrderMapper.java @@ -12,7 +12,7 @@ import java.util.List; /** - * @Description: 缁翠慨宸ュ崟 + * @Description: ertns * @Author: Lius * @Date: 2025-04-03 */ diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportThreeNoSpareMapper.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportThreeNoSpareMapper.java index 8bb0376..48a01f9 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportThreeNoSpareMapper.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportThreeNoSpareMapper.java @@ -2,9 +2,13 @@ import java.util.List; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; import org.apache.ibatis.annotations.Param; import org.jeecg.modules.eam.entity.EamReportThreeNoSpare; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.eam.request.EamReportThreeNoSpareQuery; /** * @Description: 鈥滀笁涓嶆斁杩囩殑鍘熷垯鈥濆垎鏋愯〃 @@ -14,4 +18,5 @@ */ public interface EamReportThreeNoSpareMapper extends BaseMapper<EamReportThreeNoSpare> { + IPage<EamReportThreeNoSpareQuery> queryPageList(IPage<EamReportThreeNoSpareQuery> page, @Param(Constants.WRAPPER) QueryWrapper<EamReportThreeNoSpareQuery> EamReportThreeNoSpareQuery); } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportThreeNoSpareMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportThreeNoSpareMapper.xml index 9de7c1a..c3d6173 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportThreeNoSpareMapper.xml +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportThreeNoSpareMapper.xml @@ -2,4 +2,23 @@ <!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.EamReportThreeNoSpareMapper"> + <select id="queryPageList" resultType="org.jeecg.modules.eam.request.EamReportThreeNoSpareQuery"> + SELECT + ertns.*, + e.equipment_code, + e.equipment_name, + e.equipment_model, + e.installation_position, + erar.accident_phenomenon, + erar.measure, + erar.causing_results + FROM eam_report_three_no_spare ertns + LEFT JOIN eam_report_accidents_register erar + ON ertns.report_id = erar.report_id + AND erar.del_flag = 0 + INNER JOIN eam_equipment e + ON erar.equipment_id = e.id + AND e.del_flag = 0 + ${ew.customSqlSegment} + </select> </mapper> diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamReportThreeNoSpareQuery.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamReportThreeNoSpareQuery.java new file mode 100644 index 0000000..ccd7df6 --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/request/EamReportThreeNoSpareQuery.java @@ -0,0 +1,139 @@ +package org.jeecg.modules.eam.request; + +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableLogic; +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.jeecgframework.poi.excel.annotation.Excel; +import org.springframework.format.annotation.DateTimeFormat; + +import java.io.Serializable; +import java.util.Date; +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +@ApiModel(value="涓変笉鍘熷垯", description="涓変笉鍘熷垯") +public class EamReportThreeNoSpareQuery implements Serializable { + private static final long serialVersionUID = 1L; + + /**涓婚敭*/ + @TableId(type = IdType.ASSIGN_ID) + @ApiModelProperty(value = "涓婚敭") + private String id; + /**鍒涘缓浜�*/ + @ApiModelProperty(value = "鍒涘缓浜�") + private String createBy; + /**鍒涘缓鏃ユ湡*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鍒涘缓鏃ユ湡") + private Date createTime; + /**鏇存柊浜�*/ + @ApiModelProperty(value = "鏇存柊浜�") + private String updateBy; + /**鏇存柊鏃ユ湡*/ + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") + @ApiModelProperty(value = "鏇存柊鏃ユ湡") + private Date updateTime; + /**鍒犻櫎鏍囪*/ + @Excel(name = "鍒犻櫎鏍囪", width = 15) + @ApiModelProperty(value = "鍒犻櫎鏍囪") + @TableLogic + private Integer delFlag; + /**鎶ヤ慨ID*/ + @Excel(name = "鎶ヤ慨ID", width = 15) + @ApiModelProperty(value = "鎶ヤ慨ID") + private String reportId; + /**璁惧ID*/ + @Excel(name = "璁惧ID", width = 15) + @ApiModelProperty(value = "璁惧ID") + private String equipmentId; + /**鎻愪氦鐘舵��*/ + @Excel(name = "鎻愪氦鐘舵��", width = 15) + @ApiModelProperty(value = "鎻愪氦鐘舵��") + @Dict(dicCode = "report_three_no_spare_submit_status") + private String submitStatus; + /**鍘熷洜鍒嗘瀽*/ + @Excel(name = "鍘熷洜鍒嗘瀽", width = 15) + @ApiModelProperty(value = "鍘熷洜鍒嗘瀽") + private String causeAnalysis; + /**鍩硅鏁欒偛*/ + @Excel(name = "鍩硅鏁欒偛", width = 15) + @ApiModelProperty(value = "鍩硅鏁欒偛") + @Dict(dicCode = "yn") + private String isTrainingEducation; + /**鍩硅褰㈠紡*/ + @Excel(name = "鍩硅褰㈠紡", width = 15) + @ApiModelProperty(value = "鍩硅褰㈠紡") + private String trainingFormat; + /**鍩硅鍐呭*/ + @Excel(name = "鍩硅鍐呭", width = 15) + @ApiModelProperty(value = "鍩硅鍐呭") + private String trainingContent; + /**鍩硅浜�*/ + @Excel(name = "鍩硅浜�", width = 15) + @ApiModelProperty(value = "鍩硅浜�") + @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") + private String trainingUser; + /**鍩硅鏃堕棿*/ + @Excel(name = "鍩硅鏃堕棿", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "鍩硅鏃堕棿") + private Date trainingUserTime; + /**棰勯槻鎺柦*/ + @Excel(name = "棰勯槻鎺柦", width = 15) + @ApiModelProperty(value = "棰勯槻鎺柦") + private String preventionMeasures; + /**鍗曚綅棰嗗*/ + @Excel(name = "鍗曚綅棰嗗", width = 15) + @ApiModelProperty(value = "鍗曚綅棰嗗") + @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username") + private String unitLeader; + /**棰嗗鎰忚*/ + @Excel(name = "棰嗗鎰忚", width = 15) + @ApiModelProperty(value = "棰嗗鎰忚") + private String leaderOpinion; + /**棰嗗纭缁撴灉*/ + @Excel(name = "棰嗗纭缁撴灉", width = 15) + @ApiModelProperty(value = "棰嗗纭缁撴灉") + private String leaderConfirmResult; + /**棰嗗纭鏃堕棿*/ + @Excel(name = "棰嗗纭鏃堕棿", width = 15, format = "yyyy-MM-dd") + @JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern="yyyy-MM-dd") + @ApiModelProperty(value = "棰嗗纭鏃堕棿") + private Date leaderConfirmTime; + /**浜嬫晠鐜拌薄*/ + @Excel(name = "浜嬫晠鐜拌薄", width = 15) + @ApiModelProperty(value = "浜嬫晠鐜拌薄") + private transient String accidentPhenomenon; + /**閲囧彇鎺柦*/ + @Excel(name = "閲囧彇鎺柦", width = 15) + @ApiModelProperty(value = "閲囧彇鎺柦") + private transient String measure; + /**閫犳垚缁撴灉*/ + @Excel(name = "閫犳垚缁撴灉", width = 15) + @ApiModelProperty(value = "閫犳垚缁撴灉") + private transient String causingResults; + + //鍒楄〃灞曠ず + @TableField(exist = false) + private String equipmentCode; + @TableField(exist = false) + private String equipmentName; + @TableField(exist = false) + private String equipmentModel; + @TableField(exist = false) + private String installationPosition; + private String column; + private String order; +} diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportThreeNoSpareService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportThreeNoSpareService.java index 33e4793..0556c50 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportThreeNoSpareService.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportThreeNoSpareService.java @@ -1,7 +1,13 @@ package org.jeecg.modules.eam.service; +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.EamReportAccidentsRegisterDto; +import org.jeecg.modules.eam.dto.EamReportThreeNoSpareDto; import org.jeecg.modules.eam.entity.EamReportThreeNoSpare; import com.baomidou.mybatisplus.extension.service.IService; +import org.jeecg.modules.eam.request.EamReportThreeNoSpareQuery; /** * @Description: 鈥滀笁涓嶆斁杩囩殑鍘熷垯鈥濆垎鏋愯〃 @@ -11,4 +17,25 @@ */ public interface IEamReportThreeNoSpareService extends IService<EamReportThreeNoSpare> { + /** + * 鍒嗛〉鍒楄〃 + * @param page + * @param EamReportThreeNoSpareQuery + * @return + */ + IPage<EamReportThreeNoSpareQuery> pageList(Page<EamReportThreeNoSpareQuery> page, EamReportThreeNoSpareQuery EamReportThreeNoSpareQuery); + + /** + * 鎿嶄綔宸ユ彁浜�-鍙戣捣娴佺▼ + * @param id + * @return + */ + Result<?> submit(String id); + + /** + * 娴佺▼瀹℃牳 + * @param eamReportThreeNoSpareDto + */ + Result<?> audit(EamReportThreeNoSpareDto eamReportThreeNoSpareDto); + } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java index a5ad134..5dbd7b1 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentServiceImpl.java @@ -62,7 +62,7 @@ @Override @Transactional(rollbackFor = Exception.class) -// @EquipmentHistoryLog(operationTag = EquipmentOperationTagEnum.ACCEPTANCE, businessTable = "eam_equipment") + @EquipmentHistoryLog(operationTag = EquipmentOperationTagEnum.ACCEPTANCE, businessTable = "eam_equipment") public EamEquipment saveEquipment(EamEquipment eamEquipment) { if (eamEquipment == null) { return null; diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java index a544284..d91513b 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportRepairServiceImpl.java @@ -63,6 +63,8 @@ private IEamRepairOrderService iEamRepairOrderService; @Autowired private ISysBusinessCodeRuleService businessCodeRuleService; + @Autowired + private IEamReportThreeNoSpareService eamReportThreeNoSpareService; /** * 鍒嗛〉鍒楄〃 * @@ -205,10 +207,20 @@ //娣诲姞璁惧浜嬫晠鐧昏琛� EamReportAccidentsRegister eamReportAccidentsRegister = new EamReportAccidentsRegister(); BeanUtils.copyProperties(eamReportRepairRequest, eamReportAccidentsRegister); + eamReportAccidentsRegister.setId(null); eamReportAccidentsRegister.setReportId(eamReportRepair.getId()); eamReportAccidentsRegister.setDelFlag(Integer.valueOf(CommonConstant.DEFAULT_0)); eamReportAccidentsRegister.setRegisterStatus(EamReportAccidentsRegisterEnum.PENDING_SUBMIT.name()); iEamReportAccidentsRegisterService.save(eamReportAccidentsRegister); + //鐢熸垚涓変笉鍘熷垯 + EamReportThreeNoSpare eamReportThreeNoSpare = new EamReportThreeNoSpare(); + BeanUtils.copyProperties(eamReportRepairRequest, eamReportThreeNoSpare); + eamReportThreeNoSpare.setId(null); + eamReportThreeNoSpare.setReportId(eamReportRepair.getId()); + eamReportThreeNoSpare.setPreventionMeasures(eamReportAccidentsRegister.getTakeSteps()); + eamReportThreeNoSpare.setSubmitStatus(EamReportThreeNoSpareEnum.PENDING_SUBMIT.name()); + eamReportThreeNoSpare.setDelFlag(Integer.valueOf(CommonConstant.DEFAULT_0)); + eamReportThreeNoSpareService.save(eamReportThreeNoSpare); } //鐢熸垚缁翠慨宸ュ崟 EamRepairOrder eamRepairOrder=new EamRepairOrder(); diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportThreeNoSpareServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportThreeNoSpareServiceImpl.java index f874280..709081b 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportThreeNoSpareServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportThreeNoSpareServiceImpl.java @@ -1,11 +1,53 @@ package org.jeecg.modules.eam.service.impl; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSON; +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 org.apache.commons.lang3.StringUtils; +import org.apache.shiro.SecurityUtils; +import org.flowable.engine.TaskService; +import org.flowable.task.api.Task; +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.constant.CommonConstant; +import org.jeecg.common.constant.DataBaseConstant; +import org.jeecg.common.exception.JeecgBootException; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.eam.constant.BusinessCodeConst; +import org.jeecg.modules.eam.constant.EamReportThreeNoSpareEnum; +import org.jeecg.modules.eam.dto.EamReportThreeNoSpareDto; +import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamReportThreeNoSpare; import org.jeecg.modules.eam.mapper.EamReportThreeNoSpareMapper; +import org.jeecg.modules.eam.request.EamReportThreeNoSpareQuery; +import org.jeecg.modules.eam.service.IEamEquipmentService; +import org.jeecg.modules.eam.service.IEamReportRepairService; import org.jeecg.modules.eam.service.IEamReportThreeNoSpareService; +import org.jeecg.modules.flowable.apithird.business.entity.FlowMyBusiness; +import org.jeecg.modules.flowable.apithird.business.service.IFlowMyBusinessService; +import org.jeecg.modules.flowable.apithird.service.FlowCallBackServiceI; +import org.jeecg.modules.flowable.apithird.service.FlowCommonService; +import org.jeecg.modules.flowable.service.IFlowDefinitionService; +import org.jeecg.modules.flowable.service.IFlowTaskService; +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.ISysUserService; +import org.jeecg.modules.system.vo.UserSelector; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; /** * @Description: 鈥滀笁涓嶆斁杩囩殑鍘熷垯鈥濆垎鏋愯〃 @@ -13,7 +55,259 @@ * @Date: 2025-07-17 * @Version: V1.0 */ -@Service -public class EamReportThreeNoSpareServiceImpl extends ServiceImpl<EamReportThreeNoSpareMapper, EamReportThreeNoSpare> implements IEamReportThreeNoSpareService { +@Service("eamReportThreeNoSpareService") +public class EamReportThreeNoSpareServiceImpl extends ServiceImpl<EamReportThreeNoSpareMapper, EamReportThreeNoSpare> implements IEamReportThreeNoSpareService , FlowCallBackServiceI { + @Autowired + private IBaseFactoryUserService baseFactoryUserService; + @Autowired + private IBaseFactoryService baseFactoryService; + @Autowired + @Lazy + private IEamReportRepairService iEamReportRepairService; + @Resource + private FlowCommonService flowCommonService; + + @Resource + private IFlowDefinitionService flowDefinitionService; + + @Resource + private IEamEquipmentService eamEquipmentService; + + @Resource + private IFlowMyBusinessService flowMyBusinessService; + + @Resource + private TaskService taskService; + + @Resource + private IFlowTaskService flowTaskService; + + @Autowired + private ISysUserService sysUserService; + + + /** + * 鍒嗛〉鍒楄〃 + * @param page + * @param EamReportThreeNoSpareQuery + * @return + */ + @Override + public IPage<EamReportThreeNoSpareQuery> pageList(Page<EamReportThreeNoSpareQuery> page, EamReportThreeNoSpareQuery EamReportThreeNoSpareQuery){ + QueryWrapper<EamReportThreeNoSpareQuery> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("ertns.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> factoryCode = baseFactoryService.listByIds(factoryIds).stream().map(BaseFactory::getOrgCode).collect(Collectors.toSet()); + queryWrapper.in("e.factory_org_code", factoryCode); + } else { + return page; + } + } + //鏌ヨ鏉′欢杩囨护 + if (EamReportThreeNoSpareQuery != null) { + if (StringUtils.isNotBlank(EamReportThreeNoSpareQuery.getEquipmentId())) { + queryWrapper.eq("ertns.equipment_id", EamReportThreeNoSpareQuery.getEquipmentId()); + } + if (StringUtils.isNotBlank(EamReportThreeNoSpareQuery.getEquipmentCode())) { + queryWrapper.like("e.equipment_code", EamReportThreeNoSpareQuery.getEquipmentCode()); + } + if (StringUtils.isNotBlank(EamReportThreeNoSpareQuery.getEquipmentName())) { + queryWrapper.like("e.equipment_name", EamReportThreeNoSpareQuery.getEquipmentName()); + } + if (StringUtils.isNotBlank(EamReportThreeNoSpareQuery.getSubmitStatus())) { + queryWrapper.eq("ertns.submit_status", EamReportThreeNoSpareQuery.getSubmitStatus()); + } + if (StringUtils.isNotBlank(EamReportThreeNoSpareQuery.getCauseAnalysis())) { + queryWrapper.like("ertns.cause_analysis", EamReportThreeNoSpareQuery.getCauseAnalysis()); + } + if (StringUtils.isNotBlank(EamReportThreeNoSpareQuery.getTrainingFormat())) { + queryWrapper.like("ertns.training_format", EamReportThreeNoSpareQuery.getTrainingFormat()); + } + if (StringUtils.isNotBlank(EamReportThreeNoSpareQuery.getTrainingContent())) { + queryWrapper.like("ertns.training_content", EamReportThreeNoSpareQuery.getTrainingContent()); + } + //鎺掑簭 + if (StringUtils.isNotBlank(EamReportThreeNoSpareQuery.getColumn()) && StringUtils.isNotBlank(EamReportThreeNoSpareQuery.getOrder())) { + String column = EamReportThreeNoSpareQuery.getColumn(); + if (column.endsWith(CommonConstant.DICT_TEXT_SUFFIX)) { + column = column.substring(0, column.lastIndexOf(CommonConstant.DICT_TEXT_SUFFIX)); + } + if (DataBaseConstant.SQL_ASC.equalsIgnoreCase(EamReportThreeNoSpareQuery.getOrder())) { + queryWrapper.orderByAsc("ertns." + oConvertUtils.camelToUnderline(column)); + } else { + queryWrapper.orderByDesc("ertns." + oConvertUtils.camelToUnderline(column)); + } + } else { + queryWrapper.orderByDesc("ertns.create_time"); + } + } else { + queryWrapper.orderByDesc("ertns.create_time"); + } + return baseMapper.queryPageList(page, queryWrapper); + } + + /** + * 鎿嶄綔宸ユ彁浜�-鍙戣捣娴佺▼ + * @param id + * @return + */ + @Override + public Result<?> submit(String id){ + EamReportThreeNoSpare eamReportThreeNoSpare=this.getById(id); + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + EamEquipment eamEquipment = eamEquipmentService.getById(eamReportThreeNoSpare.getEquipmentId()); + //鏍规嵁user鐨勫矖浣嶈繘琛屽垽鏂笅涓�姝ュ鐞嗕汉 + List<UserSelector> userSelectorList = sysUserService.selectOperatorList(eamEquipment.getEquipmentCode(), eamEquipment.getFactoryOrgCode(), BusinessCodeConst.PCR0019); + // 鍚姩璁惧浜嬫晠鐧昏娴佺▼ + flowCommonService.initActBusiness("璁惧缂栧彿锛�" + eamEquipment.getEquipmentCode() + ", 璁惧鍚嶇О锛�" + eamEquipment.getEquipmentName()+"鍙戣捣鈥滀笁涓嶆斁杩囩殑鍘熷垯鈥濆垎鏋愭祦绋�", + eamReportThreeNoSpare.getId(), + "eamReportThreeNoSpareService", + "eam_report_three_no_spare", + null); + Map<String, Object> variables = new HashMap<>(); + variables.put("dataId", eamReportThreeNoSpare.getId()); + variables.put("organization", "鍩硅浜烘彁浜ゅ惎鍔ㄦ祦绋�"); + variables.put("comment", "鍩硅浜烘彁浜ゅ崟鍚姩娴佺▼"); + variables.put("proofreading", true); + if (CollectionUtils.isEmpty(userSelectorList)) { + throw new JeecgBootException("璁惧鏈瓨鍦ㄥ鏍搁瀵硷紝鏃犳硶杩涘叆涓嬬骇瀹℃壒锛�"); + }else { + List<String> usernameList = userSelectorList.stream().map(UserSelector::getUsername).collect(Collectors.toList()); + variables.put("NextAssignee", usernameList); + } + Result result = flowDefinitionService.startProcessInstanceByKey("eam_report_three_no_spare", variables); + if (!result.isSuccess()) { + return Result.error("娴佺▼鍚姩澶辫触"); + } else { + eamReportThreeNoSpare.setTrainingUser(user.getUsername()); + eamReportThreeNoSpare.setTrainingUserTime(new Date()); + eamReportThreeNoSpare.setSubmitStatus(EamReportThreeNoSpareEnum.PENDING_APPROVAL.name()); + this.updateById(eamReportThreeNoSpare); + return result; + } + } + + /** + * 娴佺▼瀹℃牳 + * @param eamReportThreeNoSpareDto + */ + @Override + public Result<?> audit(EamReportThreeNoSpareDto eamReportThreeNoSpareDto){ + EamReportThreeNoSpare eamReportThreeNoSpare = this.baseMapper.selectById(eamReportThreeNoSpareDto.getId()); + if (eamReportThreeNoSpare == null) { + throw new JeecgBootException("宸ュ崟涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒"); + } + // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛 + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (user == null || StrUtil.isBlank(user.getId())) { + throw new JeecgBootException("鏈幏鍙栧埌鐧诲綍鐢ㄦ埛锛岃閲嶆柊鐧诲綍鍚庡啀璇曪紒"); + } + eamReportThreeNoSpareDto.setAssignee(user.getUsername()); + // 鑾峰彇娴佺▼涓氬姟璁板綍 + FlowMyBusiness flowMyBusiness = flowMyBusinessService.getFlowMyBusiness(eamReportThreeNoSpareDto.getInstanceId()); + if (flowMyBusiness == null) { + throw new JeecgBootException("娴佺▼瀹炰緥涓嶅瓨鍦紝璇峰埛鏂板悗閲嶈瘯锛�"); + } + boolean userAuthorized = isUserAuthorized(flowMyBusiness, user); + if (!userAuthorized) { + throw new JeecgBootException("鐢ㄦ埛鏃犳潈鎿嶄綔姝や换鍔★紝璇峰埛鏂板悗閲嶈瘯锛�"); + } + // 璁ら浠诲姟 + if (!claimTask(flowMyBusiness.getTaskId(), user)) { + throw new JeecgBootException("浠诲姟涓嶅瓨鍦ㄣ�佸凡瀹屾垚鎴栧凡琚粬浜鸿棰嗭紒"); + } + EamEquipment equipment = eamEquipmentService.getById(eamReportThreeNoSpareDto.getEquipmentId()); + if (equipment == null) { + throw new JeecgBootException("璁惧涓嶅瓨鍦紝璇锋鏌ワ紒"); + } + //娴佺▼鍙橀噺 + Map<String, Object> values = new HashMap<>(); + values.put("dataId", eamReportThreeNoSpareDto.getId()); + values.put("assignee", user.getId()); + if(StrUtil.isEmpty(eamReportThreeNoSpareDto.getLeaderOpinion())){ + eamReportThreeNoSpareDto.setLeaderOpinion(""); + } + values.put("organization", eamReportThreeNoSpareDto.getLeaderOpinion()); + values.put("comment", eamReportThreeNoSpareDto.getLeaderOpinion()); + values.put("leaderConfirmResult", eamReportThreeNoSpareDto.getLeaderConfirmResult()); + values.put("proofreading", true); + if ("1".equals(eamReportThreeNoSpareDto.getLeaderConfirmResult())){ + eamReportThreeNoSpare.setSubmitStatus(EamReportThreeNoSpareEnum.REPAIR_COMPLETED.name()); + }else { + eamReportThreeNoSpare.setSubmitStatus(EamReportThreeNoSpareEnum.REJECTED.name()); + } + eamReportThreeNoSpare.setUnitLeader(user.getUsername()); + eamReportThreeNoSpare.setLeaderOpinion(eamReportThreeNoSpareDto.getLeaderOpinion()); + eamReportThreeNoSpare.setLeaderConfirmResult(eamReportThreeNoSpareDto.getLeaderConfirmResult()); + eamReportThreeNoSpare.setLeaderConfirmTime(new Date()); + eamReportThreeNoSpareDto.setComment(eamReportThreeNoSpareDto.getLeaderOpinion()); + eamReportThreeNoSpareDto.setValues(values); + //淇濆瓨宸ュ崟 + this.updateById(eamReportThreeNoSpare); + Result result = flowTaskService.complete(eamReportThreeNoSpareDto); + if (!result.isSuccess()) { + throw new JeecgBootException("瀹℃壒澶辫触锛岃鍒锋柊鏌ョ湅锛�"); + } + return Result.ok("瀹℃壒鎴愬姛"); + } + + private boolean claimTask(String taskId, LoginUser user) { + Task task = taskService.createTaskQuery().taskId(taskId).singleResult(); + if (task == null) { + return false; + } + if (task.getAssignee() != null && !task.getAssignee().equals(user.getUsername())) { + return false; + } + taskService.claim(taskId, user.getUsername()); + return true; + } + + /** + * 鍒ゆ柇鐢ㄦ埛鏄惁鎷ユ湁姝ゆ潈闄� + * @param flowMyBusiness + * @param user + * @return + */ + private boolean isUserAuthorized(FlowMyBusiness flowMyBusiness, LoginUser user) { + List<String> todoUsers = JSON.parseArray(flowMyBusiness.getTodoUsers(), String.class); + return todoUsers != null && todoUsers.contains(user.getUsername()); + } + + @Override + public void afterFlowHandle(FlowMyBusiness business) { + + } + + @Override + public Object getBusinessDataById(String dataId) { + return null; + } + + @Override + public Map<String, Object> flowValuesOfTask(String taskNameId, Map<String, Object> values) { + return Collections.emptyMap(); + } + + @Override + public List<String> flowCandidateUsernamesOfTask(String taskNameId, Map<String, Object> values) { + //鑾峰彇涓嬩竴姝ュ鐞嗕汉 + Object object = values.get("NextAssignee"); + return (List<String>) object; + } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportThreeNoSpareController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportThreeNoSpareController.java index fd153a0..a30a494 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportThreeNoSpareController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportThreeNoSpareController.java @@ -1,6 +1,7 @@ package org.jeecg.modules.eam.controller; import java.util.Arrays; +import java.util.Date; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -9,10 +10,16 @@ import java.net.URLDecoder; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; + +import cn.hutool.core.util.StrUtil; +import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.oConvertUtils; +import org.jeecg.modules.eam.dto.EamReportThreeNoSpareDto; import org.jeecg.modules.eam.entity.EamReportThreeNoSpare; +import org.jeecg.modules.eam.request.EamReportThreeNoSpareQuery; import org.jeecg.modules.eam.service.IEamReportThreeNoSpareService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; @@ -53,7 +60,7 @@ /** * 鍒嗛〉鍒楄〃鏌ヨ * - * @param eamReportThreeNoSpare + * @param eamReportThreeNoSpareQuery * @param pageNo * @param pageSize * @param req @@ -62,13 +69,12 @@ //@AutoLog(value = "鈥滀笁涓嶆斁杩囩殑鍘熷垯鈥濆垎鏋愯〃-鍒嗛〉鍒楄〃鏌ヨ") @ApiOperation(value="鈥滀笁涓嶆斁杩囩殑鍘熷垯鈥濆垎鏋愯〃-鍒嗛〉鍒楄〃鏌ヨ", notes="鈥滀笁涓嶆斁杩囩殑鍘熷垯鈥濆垎鏋愯〃-鍒嗛〉鍒楄〃鏌ヨ") @GetMapping(value = "/list") - public Result<IPage<EamReportThreeNoSpare>> queryPageList(EamReportThreeNoSpare eamReportThreeNoSpare, + public Result<IPage<EamReportThreeNoSpareQuery>> queryPageList(EamReportThreeNoSpareQuery eamReportThreeNoSpareQuery, @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, HttpServletRequest req) { - QueryWrapper<EamReportThreeNoSpare> queryWrapper = QueryGenerator.initQueryWrapper(eamReportThreeNoSpare, req.getParameterMap()); - Page<EamReportThreeNoSpare> page = new Page<EamReportThreeNoSpare>(pageNo, pageSize); - IPage<EamReportThreeNoSpare> pageList = eamReportThreeNoSpareService.page(page, queryWrapper); + Page<EamReportThreeNoSpareQuery> page = new Page<EamReportThreeNoSpareQuery>(pageNo, pageSize); + IPage<EamReportThreeNoSpareQuery> pageList = eamReportThreeNoSpareService.pageList(page, eamReportThreeNoSpareQuery); return Result.OK(pageList); } @@ -98,10 +104,43 @@ //@RequiresPermissions("org.jeecg.modules.mdc:eam_report_three_no_spare:edit") @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) public Result<String> edit(@RequestBody EamReportThreeNoSpare eamReportThreeNoSpare) { + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + eamReportThreeNoSpare.setTrainingUser(user.getUsername()); + eamReportThreeNoSpare.setTrainingUserTime(new Date()); eamReportThreeNoSpareService.updateById(eamReportThreeNoSpare); return Result.OK("缂栬緫鎴愬姛!"); } + /** + * 鎿嶄綔宸ユ彁浜�-鍙戣捣娴佺▼ + * @param id + * @return + */ + @ApiOperation(value = "鈥滀笁涓嶆斁杩囩殑鍘熷垯鈥濆垎鏋愯〃--鎻愪氦", notes = "鈥滀笁涓嶆斁杩囩殑鍘熷垯鈥濆垎鏋愯〃--鎻愪氦") + @GetMapping(value = "/submit") + public Result<?> submit(String id){ + eamReportThreeNoSpareService.submit(id); + return Result.OK("鎻愪氦鎴愬姛锛�"); + } + + /** + * 娴佺▼瀹℃牳 + * @param eamReportThreeNoSpareDto + */ + @AutoLog(value = "鈥滀笁涓嶆斁杩囩殑鍘熷垯鈥濆垎鏋愯〃--鎵ц/瀹℃壒") + @ApiOperation(value = "鈥滀笁涓嶆斁杩囩殑鍘熷垯鈥濆垎鏋愯〃--鎵ц/瀹℃壒", notes = "鈥滀笁涓嶆斁杩囩殑鍘熷垯鈥濆垎鏋愯〃--鎵ц/瀹℃壒") + @PostMapping(value = "/perform") + public Result<?> audit(@RequestBody EamReportThreeNoSpareDto eamReportThreeNoSpareDto){ + if (eamReportThreeNoSpareDto == null) { + return Result.error("瀹℃壒鐨勫璞′笉鑳戒负绌猴紒"); + } + // 妫�鏌ヨ姹傚弬鏁� + if (StrUtil.isBlank(eamReportThreeNoSpareDto.getTaskId()) || StrUtil.isBlank(eamReportThreeNoSpareDto.getDataId()) || StrUtil.isBlank(eamReportThreeNoSpareDto.getInstanceId())) { + return Result.error("瀹℃壒浠诲姟閿欒鎴栦笉瀛樺湪锛�"); + } + return eamReportThreeNoSpareService.audit(eamReportThreeNoSpareDto); + } + /** * 閫氳繃id鍒犻櫎 * diff --git a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java index 0062273..a7d6cfd 100644 --- a/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java +++ b/lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/BaseFactoryServiceImpl.java @@ -225,6 +225,7 @@ QueryWrapper<BaseFactory> baseFactoryQueryWrapper = new QueryWrapper<>(); baseFactoryQueryWrapper.eq(StrUtil.isNotEmpty(baseFactory.getFactoryCode()), "factory_code", baseFactory.getFactoryCode()); baseFactoryQueryWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0.toString()); + baseFactoryQueryWrapper.ne(baseFactory.getId() != null, "id", baseFactory.getId()); if (this.getOne(baseFactoryQueryWrapper) != null) { throw new JeecgBootException("鏈烘瀯缂栫爜宸插瓨鍦�"); } -- Gitblit v1.9.3