From d61b21c50e62298f185ecafa8e0b22f7ee8c4973 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期四, 21 八月 2025 18:13:17 +0800 Subject: [PATCH] 430报表接口与列表流程添加 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml | 6 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExport.java | 6 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamInspectionOrderExport.java | 71 +++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/WeeklyResponsibleInfo.java | 24 + lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportProductHazardsService.java | 10 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamInspectionOrderDetailExport.java | 60 +++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java | 9 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java | 19 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportProductHazardsMapper.xml | 14 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/DailyResponsibleInfo.java | 24 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportAccidentsRegisterController.java | 12 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportAccidentsRegisterDto.java | 2 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java | 3 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamSecondMaintenanceOrder.java | 10 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportProductHazardsServiceImpl.java | 43 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSecondMaintenanceOrderMapper.xml | 5 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml | 5 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportAccidentsRegisterService.java | 9 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java | 270 +++++++++++++++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceOrder.java | 12 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportProductHazardsDto.java | 16 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportAccidentsRegisterMapper.xml | 21 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportProductHazardsController.java | 12 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml | 36 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderService.java | 12 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportAccidentsRegisterServiceImpl.java | 42 ++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExportYj.java | 268 ++++++++++++++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportAccidentsRegisterMapper.java | 8 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportProductHazardsMapper.java | 6 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrder.java | 13 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java | 11 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamInspectionOrderMapper.java | 7 32 files changed, 1,045 insertions(+), 21 deletions(-) diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/DailyResponsibleInfo.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/DailyResponsibleInfo.java new file mode 100644 index 0000000..f6ddeca --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/DailyResponsibleInfo.java @@ -0,0 +1,24 @@ +package org.jeecg.modules.eam.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class DailyResponsibleInfo { + /** 鎿嶄綔鍛樺鍚嶆暟缁� (1-31鏃�) */ + private String[] operators = new String[31]; + + /** 纭浜哄鍚嶆暟缁� (1-31鏃�) */ + private String[] confirmUsers = new String[31]; + + /** + * 璁剧疆鏌愬ぉ鐨勮矗浠讳汉淇℃伅 + */ + public void setResponsibleForDay(int day, String operator, String confirmUser) { + if (day >= 1 && day <= 31) { + operators[day - 1] = operator; + confirmUsers[day - 1] = confirmUser; + } + } +} diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamInspectionOrderDetailExport.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamInspectionOrderDetailExport.java new file mode 100644 index 0000000..bc33c5b --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamInspectionOrderDetailExport.java @@ -0,0 +1,60 @@ +package org.jeecg.modules.eam.dto; + +import com.baomidou.mybatisplus.annotation.TableName; +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.jeecg.modules.eam.entity.EamMaintenanceStandardDetail; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.io.Serializable; + +/** + * @Description: 鐐规宸ュ崟鏄庣粏 + * @Author: jeecg-boot + * @Date: 2025-04-02 + * @Version: V1.0 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class EamInspectionOrderDetailExport extends JeecgEntity implements Serializable { + private static final long serialVersionUID = 1L; + + /**宸ュ崟ID*/ + @Excel(name = "宸ュ崟ID", width = 15) + @ApiModelProperty(value = "宸ュ崟ID") + private String orderId; + /**鐐规缁撴灉*/ + @Excel(name = "鐐规缁撴灉", width = 15) + @ApiModelProperty(value = "鐐规缁撴灉-姝e父-寮傚父-鏁呴殰-鍏虫満") + private String inspectionResult; + /**寮傚父鎻忚堪*/ + @Excel(name = "寮傚父鎻忚堪", width = 15) + @ApiModelProperty(value = "寮傚父鎻忚堪") + private String exceptionDescription; + /**淇濆吇椤瑰簭鍙�*/ + @ApiModelProperty(value = "淇濆吇椤瑰簭鍙�") + private Integer itemCode; + /**淇濆吇椤�*/ + @ApiModelProperty(value = "淇濆吇椤�") + private String itemName; + /**淇濆吇瑕佹眰*/ + @ApiModelProperty(value = "淇濆吇瑕佹眰") + private String itemDemand; + + /** + * 1-31鏃ユ湡鏍囧織 + */ + private String[] dateFlag; + + /** + * 1-5鍛ㄦ爣蹇� + */ + private String[] weekFlag; + +} diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamInspectionOrderExport.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamInspectionOrderExport.java new file mode 100644 index 0000000..726a253 --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamInspectionOrderExport.java @@ -0,0 +1,71 @@ +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.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; +import java.util.List; + +/** + * @Description: 鐐规宸ュ崟鎵归噺瀵煎嚭 + */ +@Data +@Accessors(chain = true) +@EqualsAndHashCode(callSuper = false) +public class EamInspectionOrderExport { + + @ApiModelProperty(value = "璁惧鍚嶇О") + private String equipmentName; + + @ApiModelProperty(value = "璁惧鍨嬪彿") + private String equipmentModel; + + @ApiModelProperty(value = "璁惧缂栧彿") + private String equipmentCode; + + @ApiModelProperty(value = "鍗曚綅") + @Dict(dictTable = "eam_base_factory",dicText = "factory_name",dicCode = "org_code") + private String factoryName; + + @ApiModelProperty(value = "骞�") + private String inspectionYear; + + @ApiModelProperty(value = "鏈�") + private String inspectionMonth; + + @ApiModelProperty(value = "hf缂栫爜") + private String hfCode; + + /** + * 鏃ョ偣妫�鍒楄〃 + */ + @ApiModelProperty(value = "鏃ョ偣妫�鍒楄〃") + @TableField(exist = false) + private List<EamInspectionOrderDetailExport> eamDailyInspectionList; + + /** + * 鍛ㄧ偣妫�鍒楄〃 + */ + @ApiModelProperty(value = "鍛ㄧ偣妫�鍒楄〃") + @TableField(exist = false) + private List<EamInspectionOrderDetailExport> eamWeeklyInspectionList; + + + /**鏃ョ偣妫�璐d换浜轰俊鎭� (1-31鏃�) */ + @ApiModelProperty(value = "鏃ョ偣妫�璐d换浜轰俊鎭�") + private DailyResponsibleInfo dailyResponsibleInfo; + + /**鍛ㄧ偣妫�璐d换浜轰俊鎭� (1-5鍛�) */ + @ApiModelProperty(value = "鍛ㄧ偣妫�璐d换浜轰俊鎭�") + private WeeklyResponsibleInfo weeklyResponsibleInfo; +} diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportAccidentsRegisterDto.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportAccidentsRegisterDto.java index 5a72396..6793989 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportAccidentsRegisterDto.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportAccidentsRegisterDto.java @@ -333,4 +333,6 @@ @TableField(exist = false) @ApiModelProperty(value = "搴熷搧浠峰��") private String scrapPartValue; + /**鐢熶骇鍗曚綅*/ + private String factoryName; } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportProductHazardsDto.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportProductHazardsDto.java index c031d6f..6517d7e 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportProductHazardsDto.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamReportProductHazardsDto.java @@ -10,6 +10,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import org.jeecg.common.aspect.annotation.Dict; import org.jeecg.modules.flowable.domain.vo.FlowTaskVo; import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; @@ -64,6 +65,7 @@ /**鎿嶄綔宸�*/ @Excel(name = "鎿嶄綔宸�", width = 15) @ApiModelProperty(value = "鎿嶄綔宸�") + @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String confirmer; /**鎿嶄綔宸ョ‘璁ゆ椂闂�*/ @Excel(name = "鎿嶄綔宸ョ‘璁ゆ椂闂�", width = 15, format = "yyyy-MM-dd") @@ -74,6 +76,7 @@ /**浜у搧鎹熷け鎯呭喌*/ @Excel(name = "浜у搧鎹熷け鎯呭喌", width = 15) @ApiModelProperty(value = "浜у搧鎹熷け鎯呭喌") + @Dict(dicCode = "yn") private String productLoss; /**浜у搧鎹熷け璐ㄩ噺褰卞搷鍒嗘瀽*/ @Excel(name = "浜у搧鎹熷け璐ㄩ噺褰卞搷鍒嗘瀽", width = 15) @@ -82,6 +85,7 @@ /**涓荤宸ヨ壓*/ @Excel(name = "涓荤宸ヨ壓", width = 15) @ApiModelProperty(value = "涓荤宸ヨ壓") + @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String technologist; /**涓荤宸ヨ壓纭鏃堕棿*/ @Excel(name = "涓荤宸ヨ壓纭鏃堕棿", width = 15, format = "yyyy-MM-dd") @@ -100,6 +104,7 @@ /**閮ㄧ骇棰嗗*/ @Excel(name = "閮ㄧ骇棰嗗", width = 15) @ApiModelProperty(value = "閮ㄧ骇棰嗗") + @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String deputyDepartment; /**閮ㄧ骇棰嗗纭鏃堕棿*/ @Excel(name = "閮ㄧ骇棰嗗纭鏃堕棿", width = 15, format = "yyyy-MM-dd") @@ -124,5 +129,14 @@ private String equipmentModel; @TableField(exist = false) private String installationPosition; - + /**鐢熶骇鍗曚綅*/ + private String factoryName; + /**鏁呴殰鐜拌薄*/ + private String faultDescription; + /**鎵规鍙�*/ + private String batchNumber; + /**鍔犲伐闆朵欢鍙�*/ + private String processingPart; + /**浠舵暟*/ + private String quantity; } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExport.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExport.java index 2c3202c..26448de 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExport.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExport.java @@ -259,12 +259,6 @@ private String maintenanceDateFormatted; //浣跨敤鍗曚綅 private String factoryName; - /** - * 澶囦欢鏄庣粏 - */ - @ApiModelProperty(value = "澶囦欢浣跨敤鏄庣粏") - @DictList - private List<EamThirdMaintenanceSpare> eamThirdMaintenanceSpareList; /** * 鍒楄〃 淇濆吇椤规槑缁� diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExportYj.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExportYj.java new file mode 100644 index 0000000..92334f1 --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/EamThirdMaintenanceOrderExportYj.java @@ -0,0 +1,268 @@ +package org.jeecg.modules.eam.dto; + +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.fasterxml.jackson.annotation.JsonFormat; +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.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.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 EamThirdMaintenanceOrderExportYj { + + /** + * 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 = "璁惧鑳藉惁姝e父杩愯浆;鏄惁", 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; + /** + * 绉讳氦鍗旽F缂栫爜 + */ + @Excel(name = "绉讳氦鍗旽F缂栫爜", width = 15) + @ApiModelProperty(value = "绉讳氦鍗旽F缂栫爜") + private String hfCodeA; + /** + * 楠屾敹鍗旽F缂栫爜 + */ + @Excel(name = "楠屾敹鍗旽F缂栫爜", width = 15) + @ApiModelProperty(value = "楠屾敹鍗旽F缂栫爜") + private String hfCodeB; + //鍒楄〃灞曠ず + @TableField(exist = false) + private String equipmentCode; + @TableField(exist = false) + private String equipmentName; + //鍨嬪彿 + @TableField(exist = false) + private String equipmentModel; + @ApiModelProperty(value = "璁惧绫诲埆") + @Dict(dicCode = "equipment_category") + private String equipmentCategory; + //淇濆吇鏃ユ湡 + private String maintenanceDateFormatted; + //浣跨敤鍗曚綅 + private String factoryName; + /** + * 澶囦欢鏄庣粏 + */ + @ApiModelProperty(value = "澶囦欢浣跨敤鏄庣粏") + @DictList + private List<EamThirdMaintenanceSpare> eamThirdMaintenanceSpareList; +} diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/WeeklyResponsibleInfo.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/WeeklyResponsibleInfo.java new file mode 100644 index 0000000..816ac15 --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/dto/WeeklyResponsibleInfo.java @@ -0,0 +1,24 @@ +package org.jeecg.modules.eam.dto; + +import lombok.Data; +import lombok.experimental.Accessors; + +@Data +@Accessors(chain = true) +public class WeeklyResponsibleInfo { + /** 鎿嶄綔鍛樺鍚嶆暟缁� (1-5鍛�) */ + private String[] operators = new String[5]; + + /** 纭浜哄鍚嶆暟缁� (1-5鍛�) */ + private String[] confirmUsers = new String[5]; + + /** + * 璁剧疆鏌愬懆鐨勮矗浠讳汉淇℃伅 + */ + public void setResponsibleForWeek(int week, String operator, String confirmUser) { + if (week >= 1 && week <= 5) { + operators[week - 1] = operator; + confirmUsers[week - 1] = confirmUser; + } + } +} diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrder.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrder.java index 7fdc76b..d0d04f7 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrder.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamInspectionOrder.java @@ -122,4 +122,17 @@ @Excel(name = "HF缂栫爜", width = 15) @ApiModelProperty(value = "HF缂栫爜") private String hfCode; + + //娴佽浆鑺傜偣浣跨敤鏌ヨ + @TableField(exist = false) + private String procInstId; + /**娴佺▼瀹氫箟key 涓�涓猭ey浼氭湁澶氫釜鐗堟湰鐨刬d*/ + @TableField(exist = false) + private String processDefinitionKey; + /**娴佺▼瀹氫箟id 涓�涓祦绋嬪畾涔夊敮涓�*/ + @TableField(exist = false) + private String processDefinitionId; + /**娴佺▼涓氬姟瀹炰緥id 涓�涓祦绋嬩笟鍔″敮涓�锛屾湰琛ㄤ腑涔熷敮涓�*/ + @TableField(exist = false) + private String processInstanceId; } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamSecondMaintenanceOrder.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamSecondMaintenanceOrder.java index 4a52c29..e7796d1 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamSecondMaintenanceOrder.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamSecondMaintenanceOrder.java @@ -187,4 +187,14 @@ //娴佽浆鑺傜偣浣跨敤鏌ヨ @TableField(exist = false) private String procInstId; + + /**娴佺▼瀹氫箟key 涓�涓猭ey浼氭湁澶氫釜鐗堟湰鐨刬d*/ + @TableField(exist = false) + private String processDefinitionKey; + /**娴佺▼瀹氫箟id 涓�涓祦绋嬪畾涔夊敮涓�*/ + @TableField(exist = false) + private String processDefinitionId; + /**娴佺▼涓氬姟瀹炰緥id 涓�涓祦绋嬩笟鍔″敮涓�锛屾湰琛ㄤ腑涔熷敮涓�*/ + @TableField(exist = false) + private String processInstanceId; } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceOrder.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceOrder.java index dae7639..3c1fdae 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceOrder.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceOrder.java @@ -247,4 +247,16 @@ private String equipmentName; @TableField(exist = false) private String equipmentModel; + //娴佽浆鑺傜偣浣跨敤鏌ヨ + @TableField(exist = false) + private String procInstId; + /**娴佺▼瀹氫箟key 涓�涓猭ey浼氭湁澶氫釜鐗堟湰鐨刬d*/ + @TableField(exist = false) + private String processDefinitionKey; + /**娴佺▼瀹氫箟id 涓�涓祦绋嬪畾涔夊敮涓�*/ + @TableField(exist = false) + private String processDefinitionId; + /**娴佺▼涓氬姟瀹炰緥id 涓�涓祦绋嬩笟鍔″敮涓�锛屾湰琛ㄤ腑涔熷敮涓�*/ + @TableField(exist = false) + private String processInstanceId; } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportAccidentsRegisterMapper.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportAccidentsRegisterMapper.java index 21b3ec2..d6c29a4 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportAccidentsRegisterMapper.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportAccidentsRegisterMapper.java @@ -6,6 +6,8 @@ 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.dto.EamReportAccidentsRegisterDto; +import org.jeecg.modules.eam.dto.EamThirdMaintenanceOrderExport; import org.jeecg.modules.eam.entity.EamReportAccidentsRegister; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.jeecg.modules.eam.request.EamReportAccidentsRegisterQuery; @@ -19,4 +21,10 @@ public interface EamReportAccidentsRegisterMapper extends BaseMapper<EamReportAccidentsRegister> { IPage<EamReportAccidentsRegisterQuery> queryPageList(IPage<EamReportAccidentsRegisterQuery> page, @Param(Constants.WRAPPER) QueryWrapper<EamReportAccidentsRegisterQuery> eamReportAccidentsRegisterQuery); + + /** + * 鍒楄〃鏌ヨ + * param + */ + List<EamReportAccidentsRegisterDto> queryList(@Param(Constants.WRAPPER) QueryWrapper<EamReportAccidentsRegisterDto> queryWrapper); } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportProductHazardsMapper.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportProductHazardsMapper.java index b1b0f41..e28003f 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportProductHazardsMapper.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/EamReportProductHazardsMapper.java @@ -7,6 +7,7 @@ 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.EamReportProductHazardsDto; import org.jeecg.modules.eam.entity.EamReportProductHazards; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.jeecg.modules.eam.request.EamReportProductHazardsQuery; @@ -21,4 +22,9 @@ IPage<EamReportProductHazardsQuery> queryPageList(Page<EamReportProductHazardsQuery> page, @Param(Constants.WRAPPER) QueryWrapper<EamReportProductHazardsQuery> eamReportProductHazardsQuery); + /** + * 鍒楄〃鏌ヨ + * @param queryWrapper + */ + List<EamReportProductHazardsDto> queryList(@Param(Constants.WRAPPER) QueryWrapper<EamReportProductHazardsDto> queryWrapper); } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportAccidentsRegisterMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportAccidentsRegisterMapper.xml index 0593f6d..65df024 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportAccidentsRegisterMapper.xml +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportAccidentsRegisterMapper.xml @@ -21,4 +21,25 @@ AND e.del_flag = 0 ${ew.customSqlSegment} </select> + <select id="queryList" resultType="org.jeecg.modules.eam.dto.EamReportAccidentsRegisterDto"> + SELECT + aar.*, + e.equipment_code, + e.equipment_name, + e.equipment_model, + e.installation_position, + wmo.scrap_part_number, + wmo.scrap_part_quantity, + wmo.scrap_part_value , + f.factory_name + FROM eam_report_accidents_register aar + LEFT JOIN eam_report_repair wmo + ON aar.report_id = wmo.id + AND wmo.del_flag = 0 + INNER JOIN eam_equipment e + ON wmo.equipment_id = e.id + AND e.del_flag = 0 + LEFT JOIN eam_base_factory f ON f.org_code = SUBSTRING ( e.factory_org_code , 1, 6 ) + ${ew.customSqlSegment} + </select> </mapper> diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportProductHazardsMapper.xml b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportProductHazardsMapper.xml index 01d5dab..fdaf505 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportProductHazardsMapper.xml +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/mapper/xml/EamReportProductHazardsMapper.xml @@ -14,4 +14,18 @@ and arr.del_flag=0 ${ew.customSqlSegment} </select> + <select id="queryList" resultType="org.jeecg.modules.eam.dto.EamReportProductHazardsDto"> + select erph.*, e.equipment_code, e.equipment_name,e.equipment_model, e.installation_position, + arr.processing_part,arr.batch_number,arr.quantity,arr.fault_description, + f.factory_name + from eam_report_product_hazards erph + inner join eam_equipment e + on erph.equipment_id = e.id + and e.del_flag=0 + left join eam_report_repair arr + on erph.report_id = arr.id + and arr.del_flag=0 + LEFT JOIN eam_base_factory f ON f.org_code = SUBSTRING ( e.factory_org_code , 1, 6 ) + ${ew.customSqlSegment} + </select> </mapper> diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportAccidentsRegisterService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportAccidentsRegisterService.java index f0a57b0..0d624e6 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportAccidentsRegisterService.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportAccidentsRegisterService.java @@ -10,6 +10,8 @@ import org.jeecg.modules.eam.request.EamRepairOrderQuery; import org.jeecg.modules.eam.request.EamReportAccidentsRegisterQuery; +import java.util.List; + /** * @Description: 璁惧浜嬫晠鐧昏琛� * @Author: jeecg-boot @@ -52,4 +54,11 @@ * @return */ boolean cancelled(String id); + + /** + * 璁惧浜嬫晠鐧昏琛ㄦ墦鍗� + * @param ids + * @return + */ + List<EamReportAccidentsRegisterDto> findListByIds(String ids); } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportProductHazardsService.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportProductHazardsService.java index c432146..dcfecaf 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportProductHazardsService.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/IEamReportProductHazardsService.java @@ -3,11 +3,14 @@ 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.EamReportProductHazardsDto; import org.jeecg.modules.eam.entity.EamReportProductHazards; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.eam.request.EamReportAccidentsRegisterQuery; import org.jeecg.modules.eam.request.EamReportProductHazardsQuery; + +import java.util.List; /** * @Description: 浜у搧瀹夊叏闅愭偅纭 @@ -51,4 +54,11 @@ * @return */ boolean cancelled(String id); + + /** + * 浜у搧瀹夊叏闅愭偅纭鎵撳嵃 + * @param ids + * @return + */ + List<EamReportProductHazardsDto> findListByIds(String ids); } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportAccidentsRegisterServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportAccidentsRegisterServiceImpl.java index 8ac42a8..1e6cfa0 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportAccidentsRegisterServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportAccidentsRegisterServiceImpl.java @@ -21,6 +21,7 @@ import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.eam.constant.*; import org.jeecg.modules.eam.dto.EamReportAccidentsRegisterDto; +import org.jeecg.modules.eam.dto.EamReportProductHazardsDto; import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.mapper.EamReportAccidentsRegisterMapper; import org.jeecg.modules.eam.request.EamReportAccidentsRegisterQuery; @@ -631,6 +632,47 @@ return true; } + /** + * 璁惧浜嬫晠鐧昏琛ㄦ墦鍗� + * @param ids + * @return + */ + @Override + public List<EamReportAccidentsRegisterDto> findListByIds(String ids){ + QueryWrapper<EamReportAccidentsRegisterDto> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("aar.del_flag",CommonConstant.DEL_FLAG_0.toString()); + queryWrapper.eq("aar.register_status",EamReportAccidentsRegisterEnum.REPAIR_COMPLETED.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("aar.id", idList); + } else { + queryWrapper.orderByDesc("aar.create_time"); + } + return this.baseMapper.queryList(queryWrapper); + } + @Override public void afterFlowHandle(FlowMyBusiness business) { diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportProductHazardsServiceImpl.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportProductHazardsServiceImpl.java index 47ff53c..8850de0 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportProductHazardsServiceImpl.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/service/impl/EamReportProductHazardsServiceImpl.java @@ -22,6 +22,8 @@ import org.jeecg.modules.eam.constant.BusinessCodeConst; import org.jeecg.modules.eam.constant.EamReportAccidentsRegisterEnum; import org.jeecg.modules.eam.constant.EamReportProductHazardsEnum; +import org.jeecg.modules.eam.constant.SecondMaintenanceStatusEnum; +import org.jeecg.modules.eam.dto.EamReportProductHazardsDto; import org.jeecg.modules.eam.dto.EamReportProductHazardsDto; import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamReportAccidentsRegister; @@ -380,6 +382,47 @@ return true; } + /** + * 浜у搧瀹夊叏闅愭偅纭鎵撳嵃 + * @param ids + * @return + */ + @Override + public List<EamReportProductHazardsDto> findListByIds(String ids){ + QueryWrapper<EamReportProductHazardsDto> queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("erph.del_flag",CommonConstant.DEL_FLAG_0.toString()); + queryWrapper.eq("erph.confirm_status",EamReportProductHazardsEnum.REPAIR_COMPLETED.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("erph.id", idList); + } else { + queryWrapper.orderByDesc("erph.create_time"); + } + return this.baseMapper.queryList(queryWrapper); + } + @Override public void afterFlowHandle(FlowMyBusiness business) { diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java index 958f9fc..65848e3 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamInspectionOrderController.java @@ -19,6 +19,7 @@ import org.jeecg.modules.eam.constant.InspectionItemCategroyEnum; import org.jeecg.modules.eam.constant.InspectionStatus; import org.jeecg.modules.eam.constant.OrderCreationMethodEnum; +import org.jeecg.modules.eam.dto.EamInspectionOrderExport; import org.jeecg.modules.eam.entity.EamInspectionOrder; import org.jeecg.modules.eam.entity.EamInspectionOrderDetail; import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail; @@ -364,4 +365,14 @@ return eamInspectionOrderService.exportWeekInsOrderDetailUserList(equipmentCode, inspectionDate); } + /** + * 鐢熶骇璁惧鑷富缁存姢鐐规琛ㄦ墦鍗� + * @param ids + * @return + */ + @ApiOperation(value = "鐢熶骇璁惧鑷富缁存姢鐐规琛ㄦ墦鍗�", notes = "鐢熶骇璁惧鑷富缁存姢鐐规琛ㄦ墦鍗�") + @GetMapping("/printInspectionOrder") + public Result<?> printInspectionOrder(String ids) { + return Result.ok(eamInspectionOrderService.printInspectionOrder(ids)); + } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportAccidentsRegisterController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportAccidentsRegisterController.java index c0e8f2e..a2943d1 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportAccidentsRegisterController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportAccidentsRegisterController.java @@ -270,4 +270,16 @@ return super.importExcel(request, response, EamReportAccidentsRegister.class); } + /** + * 璁惧浜嬫晠鐧昏琛ㄦ墦鍗� + * @param ids + * @return + */ + @AutoLog(value = "璁惧浜嬫晠鐧昏琛�-璁惧浜嬫晠鐧昏琛ㄦ墦鍗�") + @ApiOperation(value="璁惧浜嬫晠鐧昏琛�-璁惧浜嬫晠鐧昏琛ㄦ墦鍗�", notes="璁惧浜嬫晠鐧昏琛�-璁惧浜嬫晠鐧昏琛ㄦ墦鍗�") + @GetMapping(value = "/batchExport") + public Result<?> batchExport(String ids){ + return Result.ok(eamReportAccidentsRegisterService.findListByIds(ids)); + } + } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportProductHazardsController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportProductHazardsController.java index 2c25443..f154926 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportProductHazardsController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamReportProductHazardsController.java @@ -160,6 +160,18 @@ return Result.error("鍒犻櫎澶辫触!"); } + /** + * 浜у搧瀹夊叏闅愭偅纭鎵撳嵃 + * @param ids + * @return + */ + @AutoLog(value = "浜у搧瀹夊叏闅愭偅纭-浜у搧瀹夊叏闅愭偅纭鎵撳嵃") + @ApiOperation(value="浜у搧瀹夊叏闅愭偅纭-浜у搧瀹夊叏闅愭偅纭鎵撳嵃", notes="浜у搧瀹夊叏闅愭偅纭-浜у搧瀹夊叏闅愭偅纭鎵撳嵃") + @GetMapping(value = "/batchExport") + public Result<?> batchExport(String ids){ + return Result.ok(eamReportProductHazardsService.findListByIds(ids)); + } + /** * 鎵归噺鍒犻櫎 * diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java index ef66a96..41a927d 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamMaintenanceStandard.java @@ -186,6 +186,15 @@ //娴佽浆鑺傜偣浣跨敤鏌ヨ @TableField(exist = false) private String procInstId; + /**娴佺▼瀹氫箟key 涓�涓猭ey浼氭湁澶氫釜鐗堟湰鐨刬d*/ + @TableField(exist = false) + private String processDefinitionKey; + /**娴佺▼瀹氫箟id 涓�涓祦绋嬪畾涔夊敮涓�*/ + @TableField(exist = false) + private String processDefinitionId; + /**娴佺▼涓氬姟瀹炰緥id 涓�涓祦绋嬩笟鍔″敮涓�锛屾湰琛ㄤ腑涔熷敮涓�*/ + @TableField(exist = false) + private String processInstanceId; public String getEquipmentText() { return equipmentCode + "[" + equipmentName + "]"; diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamInspectionOrderMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamInspectionOrderMapper.java index 6ddc90e..105ada2 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamInspectionOrderMapper.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamInspectionOrderMapper.java @@ -6,6 +6,7 @@ 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.EamInspectionOrderExport; import org.jeecg.modules.eam.entity.EamInspectionOrder; import org.jeecg.modules.eam.request.*; @@ -27,6 +28,12 @@ */ IPage<EamInspectionOrder> queryPageList(Page<EamInspectionOrder> page, @Param(Constants.WRAPPER) QueryWrapper<EamInspectionOrder> queryWrapper); + /** + * 鍒楄〃鏌ヨ + * @return + */ + List<EamInspectionOrderExport> queryList(@Param("ids") List<String> ids); + EamInspectionOrderBaseResponse findInsOrderBaseInfo(@Param("equipmentCode") String equipmentCode, @Param("inspectionDate") String inspectionDate); List<EamInsOrderDetailResultResponse> findInsOrderDetailList(@Param("equipmentCode") String equipmentCode, @Param("inspectionDate") String inspectionDate); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml index 17d2d32..c5ad973 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamInspectionOrderMapper.xml @@ -3,10 +3,14 @@ <mapper namespace="org.jeecg.modules.eam.mapper.EamInspectionOrderMapper"> <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamInspectionOrder"> - select wmo.*, e.equipment_code, e.equipment_name, e.equipment_model + select wmo.*, e.equipment_code, e.equipment_name, e.equipment_model,f.process_instance_id as 'procInstId', + f.process_definition_key, + f.process_definition_id, + f.process_instance_id from eam_inspection_order wmo inner join eam_equipment e on wmo.equipment_id = e.id + left join flow_my_business f on f.data_id=wmo.id ${ew.customSqlSegment} </select> @@ -124,5 +128,35 @@ ORDER BY t1.plan_inspection_date ASC </select> + <select id="queryList" resultType="org.jeecg.modules.eam.dto.EamInspectionOrderExport"> + SELECT + t2.equipment_name equipmentName, + t2.equipment_code equipmentCode, + t2.equipment_model equipmentModel, + SUBSTRING(t2.factory_org_code,1,6) factoryName, + DATEPART( YEAR, t1.inspection_date ) AS inspectionYear, + DATEPART( MONTH, t1.inspection_date ) AS inspectionMonth, + t1.hf_code hfCode + FROM + eam_inspection_order t1 + LEFT JOIN eam_equipment t2 ON t1.equipment_id = t2.id + WHERE + 1=1 + <if test="ids != null and ids.size() > 0"> + AND t1.id IN + <foreach collection="ids" item="id" index="index" open="(" close=")" separator=","> + #{id} + </foreach> + </if> + AND t1.inspection_status = 'COMPLETE' + GROUP BY + t2.equipment_name, + t2.equipment_code, + t2.equipment_model , + t2.factory_org_code , + DATEPART( YEAR, t1.inspection_date ), + DATEPART( MONTH, t1.inspection_date ), + t1.hf_code + </select> </mapper> diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml index 1bc0828..716507c 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamMaintenanceStandardMapper.xml @@ -3,7 +3,10 @@ <mapper namespace="org.jeecg.modules.eam.mapper.EamMaintenanceStandardMapper"> <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamMaintenanceStandard"> select ems.*, e.equipment_code, e.equipment_name, - e.equipment_model,f.process_instance_id as 'procInstId' + e.equipment_model,f.process_instance_id as 'procInstId', + f.process_definition_key, + f.process_definition_id, + f.process_instance_id from eam_maintenance_standard ems inner join eam_equipment e on ems.equipment_id = e.id diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSecondMaintenanceOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSecondMaintenanceOrderMapper.xml index bee23d2..dd75fce 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSecondMaintenanceOrderMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamSecondMaintenanceOrderMapper.xml @@ -3,7 +3,10 @@ <mapper namespace="org.jeecg.modules.eam.mapper.EamSecondMaintenanceOrderMapper"> <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamSecondMaintenanceOrder"> - select wmo.*, e.equipment_code, e.equipment_name,e.equipment_model,f.process_instance_id as 'procInstId' + select wmo.*, e.equipment_code, e.equipment_name,e.equipment_model,f.process_instance_id as 'procInstId', + f.process_definition_key, + f.process_definition_id, + f.process_instance_id from eam_second_maintenance_order wmo inner join eam_equipment e on wmo.equipment_id = e.id diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml index 2054ac4..e89ebba 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceOrderMapper.xml @@ -3,10 +3,14 @@ <mapper namespace="org.jeecg.modules.eam.mapper.EamThirdMaintenanceOrderMapper"> <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder"> - select wmo.*, e.equipment_code, e.equipment_name, e.equipment_model + select wmo.*, e.equipment_code, e.equipment_name, e.equipment_model,f.process_instance_id as 'procInstId', + f.process_definition_key, + f.process_definition_id, + f.process_instance_id from eam_third_maintenance_order wmo inner join eam_equipment e on wmo.equipment_id = e.id + left join flow_my_business f on f.data_id=wmo.id ${ew.customSqlSegment} </select> diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderService.java index f072bb0..5761583 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamInspectionOrderService.java @@ -1,19 +1,16 @@ package org.jeecg.modules.eam.service; import com.alibaba.fastjson.JSONObject; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.common.api.vo.Result; +import org.jeecg.modules.eam.dto.EamInspectionOrderExport; import org.jeecg.modules.eam.entity.EamInspectionOrder; -import org.jeecg.modules.eam.entity.EamMaintenanceStandardDetail; import org.jeecg.modules.eam.request.EamInspectionOrderQuery; import org.jeecg.modules.eam.request.EamInspectionOrderRequest; -import org.jeecg.modules.eam.vo.InspectionVo; import java.util.List; -import java.util.Map; /** * @Description: 鐐规宸ュ崟 @@ -112,4 +109,11 @@ * 鍛ㄧ偣妫�璐d换浜哄垪琛� */ JSONObject exportWeekInsOrderDetailUserList(String equipmentCode, String inspectionDate); + + /** + * 鐢熶骇璁惧鑷富缁存姢鐐规琛ㄦ墦鍗� + * @param ids + * @return + */ + List<EamInspectionOrderExport> printInspectionOrder(String ids); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java index 6ce703a..3c74110 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceOrderService.java @@ -5,6 +5,7 @@ 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.dto.EamThirdMaintenanceOrderExportYj; import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.eam.request.EamThirdMaintenanceQuery; @@ -95,7 +96,7 @@ * @param ids * @return */ - List<EamThirdMaintenanceOrderExport> export(String ids); + List<EamThirdMaintenanceOrderExportYj> export(String ids); /** * 鎵归噺鎵撳嵃鍔犲伐璁惧涓夌骇淇濆吇楠屾敹鍗� diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java index 320ad2a..4dd9e26 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java @@ -11,6 +11,7 @@ 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.ibatis.annotations.Param; import org.apache.shiro.SecurityUtils; import org.flowable.engine.TaskService; import org.flowable.task.api.Task; @@ -23,6 +24,10 @@ 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.DailyResponsibleInfo; +import org.jeecg.modules.eam.dto.EamInspectionOrderDetailExport; +import org.jeecg.modules.eam.dto.EamInspectionOrderExport; +import org.jeecg.modules.eam.dto.WeeklyResponsibleInfo; import org.jeecg.modules.eam.request.*; import org.jeecg.modules.system.entity.BaseFactory; import org.jeecg.modules.system.entity.BaseFactoryUser; @@ -49,6 +54,7 @@ import java.time.LocalDate; import java.time.ZoneId; import java.time.format.DateTimeFormatter; +import java.time.format.DateTimeParseException; import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; @@ -698,6 +704,270 @@ } } + /** + * 鐢熶骇璁惧鑷富缁存姢鐐规琛ㄦ墦鍗� + * @param ids + * @return + */ + @Override + public List<EamInspectionOrderExport> printInspectionOrder(String ids) { + + List<EamInspectionOrderExport> eamInspectionOrderExports = + this.eamInspectionOrderMapper.queryList(Arrays.asList(ids.split(","))); + + if (eamInspectionOrderExports == null || eamInspectionOrderExports.isEmpty()) { + return null; + } + + eamInspectionOrderExports.forEach(eamInspectionOrderExport -> { + + // 鏃ユ湡澶勭悊 + if (StrUtil.isNotEmpty(eamInspectionOrderExport.getInspectionMonth())){ + if (eamInspectionOrderExport.getInspectionMonth().length() == 1) { + eamInspectionOrderExport.setInspectionMonth("0" + eamInspectionOrderExport.getInspectionMonth()); + } + } + String finalInspectionDate = eamInspectionOrderExport.getInspectionYear()+"-" + eamInspectionOrderExport.getInspectionMonth(); + // 鑾峰彇璇ヨ澶囩殑鏃ョ偣妫�鏄庣粏鏁版嵁 + List<EamInsOrderDetailResultResponse> detailResponseList = + eamInspectionOrderMapper.findInsOrderDetailList( + eamInspectionOrderExport.getEquipmentCode(), + finalInspectionDate + ); + + if (!detailResponseList.isEmpty()) { + // 鎸夐」鐩垎缁勫瓨鍌紙椤圭洰缂栫爜涓簁ey锛� + Map<Integer, EamInspectionOrderDetailExport> detailExportMap = new HashMap<>(); + + // 鍒濆鍖栭」鐩俊鎭紙姣忎釜椤圭洰瀵瑰簲涓�涓�31澶╃姸鎬佺殑瀵硅薄锛� + detailResponseList.forEach(detail -> { + Integer itemCode = detail.getItemCode(); + EamInspectionOrderDetailExport export = detailExportMap.get(itemCode); + + if (export == null) { + // 鍒涘缓鏂扮殑鐐规椤圭洰瀵硅薄 + export = new EamInspectionOrderDetailExport() + .setItemCode(itemCode) + .setItemName(detail.getItemName()) + .setItemDemand(detail.getItemDemand()) + .setDateFlag(new String[31]); // 鍒濆鍖�31澶╃姸鎬佹暟缁� + + detailExportMap.put(itemCode, export); + } + }); + + // 濉厖鍚勯」鐩瘡鏃ョ殑鐐规鐘舵�� + detailResponseList.forEach(detail -> { + Integer itemCode = detail.getItemCode(); + EamInspectionOrderDetailExport export = detailExportMap.get(itemCode); + + try { + Date newinspectionDate = detail.getInspectionDate(); + + // 澶勭悊绌烘棩鏈熸儏鍐� + if (newinspectionDate == null) { + log.warn("妫�娴嬪埌绌烘棩鏈熷��, itemCode: {}"); + return; + } + // 杞崲涓篖ocalDate + LocalDate date = newinspectionDate.toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDate(); + int day = date.getDayOfMonth(); + // 瀹夊叏璁剧疆鏃ユ湡鐘舵�� + if (day >= 1 && day <= 31) { + String[] dateFlags = export.getDateFlag(); + if (dateFlags == null) { + dateFlags = new String[31]; + export.setDateFlag(dateFlags); + } + if (StrUtil.isNotEmpty(detail.getInspectionResult())){ + switch (detail.getInspectionResult()) { + case "NORMAL": + dateFlags[day - 1] = "鈭�"; + break; + case "ANOMALY": + dateFlags[day - 1] = "脳"; + break; + case "FAULT": + dateFlags[day - 1] = "鈻�"; + break; + case "CLOSE": + dateFlags[day - 1] = "T"; + break; + } + } + } else { + log.warn("闈炴硶鏃ユ湡鍊�: {}, itemCode: {}"); + } + } + catch (DateTimeParseException | NullPointerException e) { + log.error("鏃ユ湡澶勭悊閿欒 - 鍘熷鍊�: {}, 椤圭洰: {}, 閿欒: {}"); + } + }); + // 灏嗙偣妫�椤圭洰闆嗗悎杞崲涓哄垪琛� + List<EamInspectionOrderDetailExport> detailExports = + new ArrayList<>(detailExportMap.values()); + // 璁剧疆鍒颁富瀵煎嚭瀵硅薄涓� + eamInspectionOrderExport.setEamDailyInspectionList(detailExports); + }else { + eamInspectionOrderExport.setEamDailyInspectionList(null); + } + // 鑾峰彇璇ヨ澶囩殑鍛ㄧ偣妫�鏄庣粏鏁版嵁 + List<EamWeekInsDetailResultResponse> eamWeekInsDetailResultResponseList = + eamInspectionOrderMapper.findWeekInsDetailList( + eamInspectionOrderExport.getEquipmentCode(), + finalInspectionDate + ); + if (!eamWeekInsDetailResultResponseList.isEmpty()) { + // 鎸夐」鐩垎缁勫瓨鍌紙椤圭洰缂栫爜涓簁ey锛� + Map<Integer, EamInspectionOrderDetailExport> detailExportMap = new HashMap<>(); + // 鍒濆鍖栭」鐩俊鎭� + eamWeekInsDetailResultResponseList.forEach(detail -> { + Integer itemCode = detail.getItemCode(); + EamInspectionOrderDetailExport export = detailExportMap.get(itemCode); + if (export == null) { + // 鍒涘缓鏂扮殑鐐规椤圭洰瀵硅薄骞跺垵濮嬪寲weekFlag鏁扮粍 + export = new EamInspectionOrderDetailExport() + .setItemCode(itemCode) + .setItemName(detail.getItemName()) + .setItemDemand(detail.getItemDemand()) + .setWeekFlag(new String[5]); // 鏄庣‘鍒濆鍖栭暱搴︿负5 + detailExportMap.put(itemCode, export); + } + }); + // 濉厖鍚勯」鐩瘡鍛ㄧ殑鐐规鐘舵�� + eamWeekInsDetailResultResponseList.forEach(detail -> { + Integer itemCode = detail.getItemCode(); + EamInspectionOrderDetailExport export = detailExportMap.get(itemCode); + + Date newinspectionDate = detail.getPlanInspectionDate(); + if (newinspectionDate == null) { + log.warn("妫�娴嬪埌绌烘棩鏈熷��, itemCode: {}"); + return; + } + + // 璁$畻璇ユ棩鏈熸槸褰撴湀绗嚑鍛� (1-5) + int week = calculateWeekOfMonth(newinspectionDate); + + if (week >= 1 && week <= 5) { + String[] weekFlags = export.getWeekFlag(); + if (weekFlags == null) { + weekFlags = new String[31]; + export.setWeekFlag(weekFlags); + } + if (StrUtil.isNotEmpty(detail.getInspectionResult())){ + switch (detail.getInspectionResult()) { + case "NORMAL": + weekFlags[week - 1] = "鈭�"; + break; + case "ANOMALY": + weekFlags[week - 1] = "脳"; + break; + case "FAULT": + weekFlags[week - 1] = "鈻�"; + break; + case "CLOSE": + weekFlags[week - 1] = "T"; + break; + } + } + } + }); + // 灏嗙偣妫�椤圭洰闆嗗悎杞崲涓哄垪琛� + List<EamInspectionOrderDetailExport> weekDetailExports = + new ArrayList<>(detailExportMap.values()); + // 璁剧疆鍒颁富瀵煎嚭瀵硅薄涓� + eamInspectionOrderExport.setEamWeeklyInspectionList(weekDetailExports); + }else { + eamInspectionOrderExport.setEamWeeklyInspectionList(null); + } + + + // ================== 娣诲姞鏃ョ偣妫�璐d换浜轰俊鎭� ================== + DailyResponsibleInfo dailyResponsible = new DailyResponsibleInfo(); + List<EamInsOrderDetailUserResponse> dailyUserResponses = + eamInspectionOrderMapper.findInspectionOrderDetailUserList( + eamInspectionOrderExport.getEquipmentCode(), + finalInspectionDate + ); + + if (dailyUserResponses != null && !dailyUserResponses.isEmpty()) { + dailyUserResponses.forEach(response -> { + try { + Date date = response.getInspectionDate(); + if (date == null) return; + + LocalDate localDate = date.toInstant() + .atZone(ZoneId.systemDefault()) + .toLocalDate(); + + int day = localDate.getDayOfMonth(); + if (day < 1 || day > 31) return; + + // 鑾峰彇鎿嶄綔鍛樺拰纭浜哄鍚� + String operator = sysDictService.queryTableDictTextByKey( + "sys_user", "realname", "username", response.getOperator()); + String confirmUser = sysDictService.queryTableDictTextByKey( + "sys_user", "realname", "username", response.getConfirmUser()); + + // 璁剧疆璐d换浜轰俊鎭� + dailyResponsible.setResponsibleForDay(day, operator, confirmUser); + } catch (Exception e) { + log.error("澶勭悊鏃ョ偣妫�璐d换浜轰俊鎭嚭閿�: {}"); + } + }); + } + eamInspectionOrderExport.setDailyResponsibleInfo(dailyResponsible); + + // ================== 娣诲姞鍛ㄧ偣妫�璐d换浜轰俊鎭� ================== + WeeklyResponsibleInfo weeklyResponsible = new WeeklyResponsibleInfo(); + List<EamWeekInsDetailUserResponse> weeklyUserResponses = + eamInspectionOrderMapper.findWeekInsOrderDetailUserList( + eamInspectionOrderExport.getEquipmentCode(), + finalInspectionDate + ); + + if (weeklyUserResponses != null && !weeklyUserResponses.isEmpty()) { + weeklyUserResponses.forEach(response -> { + try { + Date date = response.getPlanInspectionDate(); + if (date == null) return; + + // 璁$畻鍛ㄦ暟 + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + int week = calendar.get(Calendar.WEEK_OF_MONTH); + if (week < 1 || week > 5) return; + + // 鑾峰彇鎿嶄綔鍛樺拰纭浜哄鍚� + String operator = sysDictService.queryTableDictTextByKey( + "sys_user", "realname", "username", response.getInspector()); + String confirmUser = sysDictService.queryTableDictTextByKey( + "sys_user", "realname", "username", response.getConfirmUser()); + + // 璁剧疆璐d换浜轰俊鎭� + weeklyResponsible.setResponsibleForWeek(week, operator, confirmUser); + } catch (Exception e) { + log.error("澶勭悊鍛ㄧ偣妫�璐d换浜轰俊鎭嚭閿�: {}"); + } + }); + } + eamInspectionOrderExport.setWeeklyResponsibleInfo(weeklyResponsible); + }); + + return eamInspectionOrderExports; + + } + + /** + * 璁$畻鏃ユ湡鍦ㄥ綋鏈堟槸绗嚑鍛紙1-5锛� + */ + private int calculateWeekOfMonth(Date date) { + Calendar calendar = Calendar.getInstance(); + calendar.setTime(date); + return calendar.get(Calendar.WEEK_OF_MONTH); + } private boolean isValidRequest(EamInspectionOrderRequest request) { return StrUtil.isNotBlank(request.getTaskId()) && StrUtil.isNotBlank(request.getDataId()); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java index 641593a..be80f73 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java @@ -26,6 +26,7 @@ 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.dto.EamThirdMaintenanceOrderExportYj; import org.jeecg.modules.eam.entity.*; import org.jeecg.modules.eam.mapper.EamThirdMaintenanceOrderMapper; import org.jeecg.modules.eam.request.EamThirdMaintenanceBaseResponse; @@ -598,7 +599,7 @@ * @return */ @Override - public List<EamThirdMaintenanceOrderExport> export(String ids){ + public List<EamThirdMaintenanceOrderExportYj> 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()); @@ -631,15 +632,23 @@ queryWrapper.orderByDesc("wmo.create_time"); } List<EamThirdMaintenanceOrderExport> eamThirdMaintenanceOrderExports=this.baseMapper.queryList(queryWrapper); + List<EamThirdMaintenanceOrderExportYj> eamThirdMaintenanceOrderExportYjs=new ArrayList<>(); + if (!eamThirdMaintenanceOrderExports.isEmpty()){ + for (EamThirdMaintenanceOrderExport eamThirdMaintenanceOrderExport:eamThirdMaintenanceOrderExports) { + EamThirdMaintenanceOrderExportYj eamThirdMaintenanceOrderExportYj = new EamThirdMaintenanceOrderExportYj(); + BeanUtils.copyProperties(eamThirdMaintenanceOrderExport, eamThirdMaintenanceOrderExportYj); + eamThirdMaintenanceOrderExportYjs.add(eamThirdMaintenanceOrderExportYj); + } + } //濉厖瀵瑰簲淇悊鏇存崲澶囦欢鏄庣粏 - eamThirdMaintenanceOrderExports.forEach(eamThirdMaintenanceOrderExport->{ + eamThirdMaintenanceOrderExportYjs.forEach(eamThirdMaintenanceOrderExportYj->{ List<EamThirdMaintenanceSpare> eamThirdMaintenanceSpares=eamThirdMaintenanceSpareService.list( - new QueryWrapper<EamThirdMaintenanceSpare>().eq("order_Id",eamThirdMaintenanceOrderExport.getId())); + new QueryWrapper<EamThirdMaintenanceSpare>().eq("order_Id",eamThirdMaintenanceOrderExportYj.getId())); if (!eamThirdMaintenanceSpares.isEmpty()){ - eamThirdMaintenanceOrderExport.setEamThirdMaintenanceSpareList(eamThirdMaintenanceSpares); + eamThirdMaintenanceOrderExportYj.setEamThirdMaintenanceSpareList(eamThirdMaintenanceSpares); } }); - return eamThirdMaintenanceOrderExports; + return eamThirdMaintenanceOrderExportYjs; } /** -- Gitblit v1.9.3