From ce1cfcb9b9176ddb1f47c9eb4cb2232b080bdbf9 Mon Sep 17 00:00:00 2001 From: lyh <925863403@qq.com> Date: 星期五, 25 七月 2025 14:54:51 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceFurnaceQuery.java | 28 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceChangeServiceImpl.java | 51 ++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceFurnaceMapper.xml | 7 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/HfTemplateCategoryEnum.java | 1 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceRequest.java | 8 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceFurnaceController.java | 335 +++++++++----- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java | 10 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceSpareController.java | 42 - lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceFurnaceRequest.java | 120 +++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceChangeController.java | 1 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceChange.java | 18 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceFurnaceServiceImpl.java | 360 ++++++++++++++++ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceFurnaceMapper.java | 12 db/430设备管理数据库设计.pdma.json | 154 ++++++ lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java | 2 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceSpare.java | 13 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/ThirdMaintenanceFurnaceStatusEnum.java | 13 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceOrderController.java | 8 lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceFurnaceService.java | 40 + lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamInspectionOrderServiceImpl.java | 1 lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceFurnace.java | 43 + lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceOrder.java | 4 22 files changed, 1,107 insertions(+), 164 deletions(-) diff --git "a/db/430\350\256\276\345\244\207\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" "b/db/430\350\256\276\345\244\207\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" index b64c4ac..f1bc9e2 100644 --- "a/db/430\350\256\276\345\244\207\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" +++ "b/db/430\350\256\276\345\244\207\347\256\241\347\220\206\346\225\260\346\215\256\345\272\223\350\256\276\350\256\241.pdma.json" @@ -4,7 +4,7 @@ "avatar": "", "version": "4.9.4", "createdTime": "2025-3-10 16:38:19", - "updatedTime": "2025-7-23 19:33:38", + "updatedTime": "2025-7-23 11:43:01", "dbConns": [], "profile": { "default": { @@ -9084,6 +9084,42 @@ "id": "6BEE092E-65D4-4D44-916B-EDB48C4BFBCB" }, { + "defKey": "order_num", + "defName": "宸ュ崟鍙�", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", + "id": "2DF6DEC7-CE4E-4F1A-8F92-D175CB25C833" + }, + { + "defKey": "maintenance_date", + "defName": "淇濆吇鏃ユ湡", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098", + "extProps": {}, + "domain": "7CFFA0D3-6A93-4DDC-BC10-DF21211064DC", + "id": "AE0B0F0C-CC47-422E-B517-CC3C2992D44B" + }, + { "defKey": "equipment_id", "defName": "璁惧ID", "comment": "", @@ -9229,7 +9265,7 @@ }, { "defKey": "operate_time", - "defName": "淇濆吇鏃ユ湡", + "defName": "淇濆吇鏃堕棿", "comment": "", "type": "", "len": "", @@ -9300,6 +9336,24 @@ "id": "4C11A4C0-29C2-423B-972B-C080B6023536" }, { + "defKey": "approved_rejected", + "defName": "纭绫诲瀷", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "6F7C1C5C-D159-41E6-BF9D-54DEEFA79AFF", + "id": "869FCDB4-D5FF-4D44-B0D1-2E0DDF707052" + }, + { "defKey": "confirm_time", "defName": "纭鏃ユ湡", "comment": "", @@ -9334,6 +9388,24 @@ "extProps": {}, "domain": "BE09D493-E183-402D-ACC4-EEA21EB35B8E", "id": "624246E9-5FFE-49D3-B975-4439FF9DA03B" + }, + { + "defKey": "remark", + "defName": "澶囨敞", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "9092C4E0-1A54-4859-ABBB-5B62DBC27573", + "id": "FBF88752-FD0D-4697-A427-85AB377753B3" } ], "correlations": [], @@ -9581,6 +9653,42 @@ "baseType": "89D69E81-EA34-42EE-9FA2-93B8BD27E098" }, { + "defKey": "order_id", + "defName": "宸ュ崟id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "16120F75-6AA7-4483-868D-F07F511BB081", + "id": "7EBCA911-19F6-4317-A7F3-3B2901ADBF63" + }, + { + "defKey": "spare_code", + "defName": "澶囦欢搴忓彿", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "1D764C4A-6F9F-421E-B11A-6F3E23B51811", + "extProps": {}, + "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", + "id": "590E5C5B-22E6-42AC-9905-BC67F51B3137" + }, + { "defKey": "spare_name", "defName": "澶囦欢鍚嶇О", "comment": "", @@ -9826,6 +9934,24 @@ "id": "7E7714A5-B442-4842-8E65-6179F3F43740" }, { + "defKey": "remark", + "defName": "澶囨敞", + "comment": "", + "type": "NVARCHAR", + "len": 255, + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "", + "id": "5175E822-55EE-4354-AED8-3A08F23BDAAF" + }, + { "defKey": "create_by", "defName": "鍒涘缓浜�", "comment": "", @@ -9914,6 +10040,24 @@ "extProps": {}, "domain": "6BC8F04B-6CFA-4995-98D3-318F5CDD774E", "id": "F888AE02-055A-458A-98FD-CB22C3EA539B" + }, + { + "defKey": "equipment_id", + "defName": "璁惧id", + "comment": "", + "type": "", + "len": "", + "scale": "", + "primaryKey": false, + "notNull": false, + "autoIncrement": false, + "defaultValue": "", + "hideInGraph": false, + "refDict": "", + "baseType": "FC9790A7-36B8-4A48-8F9A-BC1042BCFE64", + "extProps": {}, + "domain": "54611CCC-CA4B-42E1-9F32-4944C85B85A6", + "id": "CCCA9FE5-4BB7-4C86-B3E4-45AE86A15C3F" }, { "defKey": "order_id", @@ -33104,12 +33248,12 @@ "dbConn": [ { "defKey": "949F6F53-7669-4EC7-923F-649A7D4D8273", - "defName": "430", + "defName": "hangyu", "type": "BFC87171-C74F-494A-B7C2-76B9C55FACC9", "properties": { "driver_class_name": "com.microsoft.sqlserver.jdbc.SQLServerDriver", - "url": "jdbc:sqlserver://127.0.0.1:1433;DatabaseName=LXZN_TEST_430_NEW", - "password": "", + "url": "jdbc:sqlserver://192.168.1.118:1433;DatabaseName=LXZN_TEST_HANGYU", + "password": "123", "username": "sa", "customer_driver": "" } diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java index 08ac2ba..8a8fcc7 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java @@ -21,6 +21,8 @@ String THIRD_MAINTENANCE_CODE_RULE = "ThirdMaintenanceCodeRule"; //涓変繚鍙樻洿缂栫爜瑙勫垯 String THIRD_MAINTENANCE_CHANGE_CODE_RULE = "ThirdMaintenanceChangeCodeRule"; + //鐪熺┖鐑鐞嗙倝缂栫爜瑙勫垯 + String THIRD_MAINTENANCE_FURNACE_CODE_RULE = "ThirdMaintenanceFurnaceCodeRule"; //璁惧鍊熷嚭褰掕繕 String LEAN_OUT_CODE_RULE = "EquipmentLeanOutCodeRule"; //璁惧灏佸瓨鍚皝 diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/HfTemplateCategoryEnum.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/HfTemplateCategoryEnum.java index c3c0a07..c4e0062 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/HfTemplateCategoryEnum.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/HfTemplateCategoryEnum.java @@ -6,6 +6,7 @@ THIRD_MAINTENANCE_HANDOVER, //涓変繚绉讳氦鍗� THIRD_MAINTENANCE_ACCEPTANCE, //涓変繚楠屾敹鍗� THIRD_MAINTENANCE_CHANGE, //涓変繚鍙樻洿鍗� + THIRD_MAINTENANCE_FURNACE, //鐪熺┖鐑鐞嗙倝鏁翠綋鎬ц兘妫�娴嬭〃 TECHNICAL_STATUS_EVALUATION, //鎶�鏈姸鎬侀壌瀹氳〃 TECHNICAL_STATUS_EVALUATION_SAFETY_CHECK, //璁惧瀹夊叏瑁呯疆妫�鏌ュ崟 TECHNICAL_STATUS_EVALUATION_OTHER_CHECK, //鍏朵粬妫�鏌ラ」鐩� diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/ThirdMaintenanceFurnaceStatusEnum.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/ThirdMaintenanceFurnaceStatusEnum.java new file mode 100644 index 0000000..01801e3 --- /dev/null +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/ThirdMaintenanceFurnaceStatusEnum.java @@ -0,0 +1,13 @@ +package org.jeecg.modules.eam.constant; + +import lombok.Getter; + +@Getter +public enum ThirdMaintenanceFurnaceStatusEnum { + WAIT_MAINTENANCE, //寰呬繚鍏� + UNDER_MAINTENANCE, //淇濆吇涓� + WAIT_CONFIRM, //寰呯‘璁� + COMPLETE, //宸插畬鎴� + ABOLISH, //宸蹭綔搴� + EXPIRED; //宸茶繃鏈� +} diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceChange.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceChange.java index 28b0887..f9845a3 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceChange.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceChange.java @@ -1,5 +1,7 @@ package org.jeecg.modules.eam.entity; +import com.baomidou.mybatisplus.annotation.FieldFill; +import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; @@ -8,6 +10,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; +import org.apache.ibatis.type.JdbcType; import org.jeecg.common.aspect.annotation.Dict; import org.jeecg.common.system.base.entity.JeecgEntity; import org.jeecgframework.poi.excel.annotation.Excel; @@ -37,6 +40,18 @@ @Excel(name = "鍒犻櫎鏍囪", width = 15) @ApiModelProperty(value = "鍒犻櫎鏍囪") private Integer delFlag; + /** + * 澶囨敞 + */ + @Excel(name = "澶囨敞", width = 15) + @ApiModelProperty(value = "澶囨敞") + private String remark; + /** + * 璁惧ID + */ + @Excel(name = "璁惧ID", width = 15) + @ApiModelProperty(value = "璁惧ID") + private String equipmentId; /** * 涓変繚宸ュ崟ID */ @@ -106,7 +121,8 @@ @Excel(name = "寤惰繜淇濆吇鏃ユ湡", width = 20, format = "yyyy-MM-dd") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") - private Date deferredMaintenanceDate; + @TableField(updateStrategy = FieldStrategy.IGNORED) + private String deferredMaintenanceDate; /** * 涓荤棰嗗绛惧瓧 */ diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceFurnace.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceFurnace.java index f1de276..dfe60ae 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceFurnace.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceFurnace.java @@ -1,5 +1,7 @@ package org.jeecg.modules.eam.entity; +import com.baomidou.mybatisplus.annotation.FieldStrategy; +import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; @@ -29,7 +31,12 @@ public class EamThirdMaintenanceFurnace extends JeecgEntity implements Serializable { private static final long serialVersionUID = -5799611070364065336L; - + /** + * 澶囨敞 + */ + @Excel(name = "澶囨敞", width = 15) + @ApiModelProperty(value = "澶囨敞") + private String remark; /** * 鍒犻櫎鏍囪 */ @@ -42,6 +49,19 @@ @Excel(name = "璁惧ID", width = 15) @ApiModelProperty(value = "璁惧ID") private String equipmentId; + /** + * 宸ュ崟鍙� + */ + @Excel(name = "宸ュ崟鍙�", width = 15) + @ApiModelProperty(value = "宸ュ崟鍙�") + private String orderNum; + /** + * 璁″垝淇濆吇鏃ユ湡 + */ + @ApiModelProperty(value = "璁″垝淇濆吇鏃ユ湡;鎻愬墠70澶╃敓鎴愬伐鍗�") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date maintenanceDate; /** * 鍘嬬缉绌烘皵鍘嬪姏(MPa) */ @@ -83,13 +103,13 @@ */ @Excel(name = "淇濆吇浜�", width = 15) @ApiModelProperty(value = "淇濆吇浜�") - @Dict(dicCode = "sys_user, realname, username") + @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String operator; /** - * 淇濆吇鏃ユ湡 + * 淇濆吇鏃堕棿 */ - @ApiModelProperty(value = "淇濆吇鏃ユ湡") - @Excel(name = "淇濆吇鏃ユ湡", width = 20, format = "yyyy-MM-dd HH:mm:ss") + @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 operateTime; @@ -98,6 +118,7 @@ */ @Excel(name = "淇濆吇鐘舵��;寰呮彁浜ゃ�佸緟纭銆佸凡瀹屾垚", width = 15) @ApiModelProperty(value = "淇濆吇鐘舵��;寰呮彁浜ゃ�佸緟纭銆佸凡瀹屾垚") + @Dict(dicCode = "third_maintenance_furnace_status") private String maintenanceStatus; /** * 鑳藉惁婊¤冻鍔犲伐闇�姹�;鏄惁 @@ -110,8 +131,11 @@ */ @Excel(name = "纭浜�", width = 15) @ApiModelProperty(value = "纭浜�") - @Dict(dicCode = "sys_user, realname, username") + @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") private String confirmUser; + /** 纭绫诲瀷 1 閫氳繃 2 椹冲洖 */ + @ApiModelProperty(value = "纭绫诲瀷") + private String confirmDealType; /** * 纭鏃ユ湡 */ @@ -126,4 +150,11 @@ @Excel(name = "HF缂栫爜", width = 15) @ApiModelProperty(value = "HF缂栫爜") private String hfCode; + //鍒楄〃灞曠ず + @TableField(exist = false) + private String equipmentCode; + @TableField(exist = false) + private String equipmentName; + @TableField(exist = false) + private String equipmentModel; } 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 6ac9ec8..dae7639 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 @@ -1,5 +1,6 @@ package org.jeecg.modules.eam.entity; +import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; @@ -61,7 +62,8 @@ @ApiModelProperty(value = "璁″垝淇濆吇鏃ユ湡;鎻愬墠70澶╃敓鎴愬伐鍗�") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") - private Date maintenanceDate; + @TableField(updateStrategy = FieldStrategy.IGNORED) + private String maintenanceDate; /** * 閿佸畾宸ュ崟鏃ユ湡 */ diff --git a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceSpare.java b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceSpare.java index b1910d6..c7d29b4 100644 --- a/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceSpare.java +++ b/lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamThirdMaintenanceSpare.java @@ -6,6 +6,7 @@ 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; @@ -28,6 +29,18 @@ private static final long serialVersionUID = -164548817301978100L; /** + * 涓変繚宸ュ崟ID + */ + @Excel(name = "涓変繚宸ュ崟ID", width = 15) + @ApiModelProperty(value = "涓変繚宸ュ崟ID") + private String orderId; + /** + * 澶囦欢搴忓彿 + */ + @Excel(name = "澶囦欢搴忓彿", width = 15) + @ApiModelProperty(value = "澶囦欢搴忓彿") + private Integer spareCode; + /** * 澶囦欢鍚嶇О */ @Excel(name = "澶囦欢鍚嶇О", width = 15) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceChangeController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceChangeController.java index 6688ef7..3b66158 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceChangeController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceChangeController.java @@ -204,6 +204,7 @@ translateDictTextUtils.translateField("equipmentManagerSignature", entity.getEquipmentManagerSignature(), item, "sys_user,realname,username"); translateDictTextUtils.translateField("departManagerSignature", entity.getDepartManagerSignature(), item, "sys_user,realname,username"); translateDictTextUtils.translateField("productionSupportSignature", entity.getProductionSupportSignature(), item, "sys_user,realname,username"); + translateDictTextUtils.translateField("factoryOrgCode", entity.getFactoryOrgCode(), item, "eam_base_factory,factory_name,org_code"); return Result.OK(item); } catch (JsonProcessingException e) { return Result.error("鏁版嵁杞瘧澶辫触锛�"); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceFurnaceController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceFurnaceController.java index 5dd1820..5177a22 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceFurnaceController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceFurnaceController.java @@ -1,8 +1,14 @@ package org.jeecg.modules.eam.controller; +import cn.hutool.core.collection.CollectionUtil; +import cn.hutool.core.util.StrUtil; +import com.alibaba.fastjson.JSONObject; +import com.alibaba.fastjson.parser.Feature; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.ObjectMapper; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; @@ -10,8 +16,19 @@ import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.common.util.TranslateDictTextUtils; +import org.jeecg.modules.eam.constant.BusinessCodeConst; +import org.jeecg.modules.eam.constant.OrderCreationMethodEnum; +import org.jeecg.modules.eam.constant.ThirdMaintenanceFurnaceStatusEnum; +import org.jeecg.modules.eam.constant.ThirdMaintenanceStatusEnum; import org.jeecg.modules.eam.entity.EamThirdMaintenanceFurnace; +import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrder; +import org.jeecg.modules.eam.request.EamThirdMaintenanceFurnaceQuery; +import org.jeecg.modules.eam.request.EamThirdMaintenanceFurnaceRequest; +import org.jeecg.modules.eam.request.EamThirdMaintenanceRequest; import org.jeecg.modules.eam.service.IEamThirdMaintenanceFurnaceService; +import org.jeecg.modules.system.service.ISysBusinessCodeRuleService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.servlet.ModelAndView; @@ -19,134 +36,220 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; +import java.util.List; +import java.util.concurrent.atomic.AtomicInteger; /** * @Description: 鐪熺┖鐑鐞嗙倝涓変繚 * @Author: jeecg-boot - * @Date: 2025-07-11 + * @Date: 2025-07-11 * @Version: V1.0 */ @Slf4j -@Api(tags="鐪熺┖鐑鐞嗙倝涓変繚") +@Api(tags = "鐪熺┖鐑鐞嗙倝涓変繚") @RestController @RequestMapping("/eam/eamThirdMaintenanceFurnace") public class EamThirdMaintenanceFurnaceController extends JeecgController<EamThirdMaintenanceFurnace, IEamThirdMaintenanceFurnaceService> { + + @Resource + private IEamThirdMaintenanceFurnaceService eamThirdMaintenanceFurnaceService; + @Resource + private ISysBusinessCodeRuleService businessCodeRuleService; @Resource - private IEamThirdMaintenanceFurnaceService eamThirdMaintenanceFurnaceService; - - /** - * 鍒嗛〉鍒楄〃鏌ヨ - * - * @param eamThirdMaintenanceFurnace - * @param pageNo - * @param pageSize - * @param req - * @return - */ - @AutoLog(value = "鐪熺┖鐑鐞嗙倝涓変繚-鍒嗛〉鍒楄〃鏌ヨ") - @ApiOperation(value="鐪熺┖鐑鐞嗙倝涓変繚-鍒嗛〉鍒楄〃鏌ヨ", notes="鐪熺┖鐑鐞嗙倝涓変繚-鍒嗛〉鍒楄〃鏌ヨ") - @GetMapping(value = "/list") - public Result<?> queryPageList(EamThirdMaintenanceFurnace eamThirdMaintenanceFurnace, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper<EamThirdMaintenanceFurnace> queryWrapper = QueryGenerator.initQueryWrapper(eamThirdMaintenanceFurnace, req.getParameterMap()); - Page<EamThirdMaintenanceFurnace> page = new Page<EamThirdMaintenanceFurnace>(pageNo, pageSize); - IPage<EamThirdMaintenanceFurnace> pageList = eamThirdMaintenanceFurnaceService.page(page, queryWrapper); - return Result.OK(pageList); - } - - /** - * 娣诲姞 - * - * @param eamThirdMaintenanceFurnace - * @return - */ - @AutoLog(value = "鐪熺┖鐑鐞嗙倝涓変繚-娣诲姞") - @ApiOperation(value="鐪熺┖鐑鐞嗙倝涓変繚-娣诲姞", notes="鐪熺┖鐑鐞嗙倝涓変繚-娣诲姞") - @PostMapping(value = "/add") - public Result<?> add(@RequestBody EamThirdMaintenanceFurnace eamThirdMaintenanceFurnace) { - eamThirdMaintenanceFurnaceService.save(eamThirdMaintenanceFurnace); - return Result.OK("娣诲姞鎴愬姛锛�"); - } - - /** - * 缂栬緫 - * - * @param eamThirdMaintenanceFurnace - * @return - */ - @AutoLog(value = "鐪熺┖鐑鐞嗙倝涓変繚-缂栬緫") - @ApiOperation(value="鐪熺┖鐑鐞嗙倝涓変繚-缂栬緫", notes="鐪熺┖鐑鐞嗙倝涓変繚-缂栬緫") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result<?> edit(@RequestBody EamThirdMaintenanceFurnace eamThirdMaintenanceFurnace) { - eamThirdMaintenanceFurnaceService.updateById(eamThirdMaintenanceFurnace); - return Result.OK("缂栬緫鎴愬姛!"); - } - - /** - * 閫氳繃id鍒犻櫎 - * - * @param id - * @return - */ - @AutoLog(value = "鐪熺┖鐑鐞嗙倝涓変繚-閫氳繃id鍒犻櫎") - @ApiOperation(value="鐪熺┖鐑鐞嗙倝涓変繚-閫氳繃id鍒犻櫎", notes="鐪熺┖鐑鐞嗙倝涓変繚-閫氳繃id鍒犻櫎") - @DeleteMapping(value = "/delete") - public Result<?> delete(@RequestParam(name="id",required=true) String id) { - eamThirdMaintenanceFurnaceService.removeById(id); - return Result.OK("鍒犻櫎鎴愬姛!"); - } - - /** - * 鎵归噺鍒犻櫎 - * - * @param ids - * @return - */ - @AutoLog(value = "鐪熺┖鐑鐞嗙倝涓変繚-鎵归噺鍒犻櫎") - @ApiOperation(value="鐪熺┖鐑鐞嗙倝涓変繚-鎵归噺鍒犻櫎", notes="鐪熺┖鐑鐞嗙倝涓変繚-鎵归噺鍒犻櫎") - @DeleteMapping(value = "/deleteBatch") - public Result<?> deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.eamThirdMaintenanceFurnaceService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("鎵归噺鍒犻櫎鎴愬姛锛�"); - } - - /** - * 閫氳繃id鏌ヨ - * - * @param id - * @return - */ - @AutoLog(value = "鐪熺┖鐑鐞嗙倝涓変繚-閫氳繃id鏌ヨ") - @ApiOperation(value="鐪熺┖鐑鐞嗙倝涓変繚-閫氳繃id鏌ヨ", notes="鐪熺┖鐑鐞嗙倝涓変繚-閫氳繃id鏌ヨ") - @GetMapping(value = "/queryById") - public Result<?> queryById(@RequestParam(name="id",required=true) String id) { - EamThirdMaintenanceFurnace eamThirdMaintenanceFurnace = eamThirdMaintenanceFurnaceService.getById(id); - return Result.OK(eamThirdMaintenanceFurnace); - } + private ObjectMapper objectMapper; + @Resource + private TranslateDictTextUtils translateDictTextUtils; - /** - * 瀵煎嚭excel - * - * @param request - * @param eamThirdMaintenanceFurnace - */ - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, EamThirdMaintenanceFurnace eamThirdMaintenanceFurnace) { - return super.exportXls(request, eamThirdMaintenanceFurnace, EamThirdMaintenanceFurnace.class, "鐪熺┖鐑鐞嗙倝涓変繚"); - } + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param query + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @AutoLog(value = "鐪熺┖鐑鐞嗙倝涓変繚-鍒嗛〉鍒楄〃鏌ヨ") + @ApiOperation(value = "鐪熺┖鐑鐞嗙倝涓変繚-鍒嗛〉鍒楄〃鏌ヨ", notes = "鐪熺┖鐑鐞嗙倝涓変繚-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<?> queryPageList(EamThirdMaintenanceFurnaceQuery query, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + Page<EamThirdMaintenanceFurnace> page = new Page<EamThirdMaintenanceFurnace>(pageNo, pageSize); + IPage<EamThirdMaintenanceFurnace> pageList = eamThirdMaintenanceFurnaceService.queryPageList(page, query); + return Result.OK(pageList); + } - /** - * 閫氳繃excel瀵煎叆鏁版嵁 - * - * @param request - * @param response - * @return - */ - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, EamThirdMaintenanceFurnace.class); - } + /** + * 娣诲姞 + * + * @param request + * @return + */ + @AutoLog(value = "鐪熺┖鐑鐞嗙倝涓変繚-娣诲姞") + @ApiOperation(value = "鐪熺┖鐑鐞嗙倝涓変繚-娣诲姞", notes = "鐪熺┖鐑鐞嗙倝涓変繚-娣诲姞") + @PostMapping(value = "/add") + public Result<?> add(@RequestBody EamThirdMaintenanceFurnaceRequest request) { + String codeSeq = businessCodeRuleService.generateBusinessCodeSeq(BusinessCodeConst.THIRD_MAINTENANCE_FURNACE_CODE_RULE); + request.setOrderNum(codeSeq); + return eamThirdMaintenanceFurnaceService.addThirdMaintenanceFurnace(request); + } + + /** + * 缂栬緫 + * + * @param request + * @return + */ + @AutoLog(value = "鐪熺┖鐑鐞嗙倝涓変繚-缂栬緫") + @ApiOperation(value = "鐪熺┖鐑鐞嗙倝涓変繚-缂栬緫", notes = "鐪熺┖鐑鐞嗙倝涓変繚-缂栬緫") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<?> edit(@RequestBody EamThirdMaintenanceFurnaceRequest request) { + if (request == null) { + return Result.error("娣诲姞鐨勫璞′笉鑳戒负绌猴紒"); + } + boolean b = eamThirdMaintenanceFurnaceService.editMaintenance(request); + if (!b) { + return Result.error("缂栬緫澶辫触锛�"); + } + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 鐪熺┖鐑鐞嗙倝涓変繚 + * + * @param id + * @return + */ + @AutoLog(value = "鐪熺┖鐑鐞嗙倝涓変繚-浣滃簾") + @ApiOperation(value = "鐪熺┖鐑鐞嗙倝涓変繚-浣滃簾", notes = "鐪熺┖鐑鐞嗙倝涓変繚-浣滃簾") + @GetMapping(value = "/abolish") + public Result<String> abolish(@RequestParam(name = "id", required = true) String id) { + EamThirdMaintenanceFurnace entity = eamThirdMaintenanceFurnaceService.getById(id); + if (entity == null) { + return Result.error("瑕佷綔搴熺殑鏁版嵁涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒"); + } + if (!ThirdMaintenanceFurnaceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) { + return Result.error("璇ョ姸鎬佺殑鏁版嵁涓嶅厑璁歌繘琛屼綔搴燂紒"); + } + entity.setMaintenanceStatus(ThirdMaintenanceFurnaceStatusEnum.ABOLISH.name()); + eamThirdMaintenanceFurnaceService.updateById(entity); + return Result.OK("浣滃簾鎴愬姛"); + } + + /** + * 閫氳繃id鎵归噺浣滃簾 + * + * @param ids + * @return + */ + @AutoLog(value = "鐪熺┖鐑鐞嗙倝涓変繚-鎵归噺浣滃簾") + @ApiOperation(value = "鐪熺┖鐑鐞嗙倝涓変繚-鎵归噺浣滃簾", notes = "鐪熺┖鐑鐞嗙倝涓変繚-鎵归噺浣滃簾") + @DeleteMapping(value = "/abolishBatch") + public Result<?> abolishBatch(@RequestParam(name = "ids", required = true) String ids) { + List<String> list = Arrays.asList(ids.split(",")); + AtomicInteger i = new AtomicInteger(); + list.forEach(id -> { + EamThirdMaintenanceFurnace entity = eamThirdMaintenanceFurnaceService.getById(id); + if (entity != null && ThirdMaintenanceFurnaceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) { + entity.setMaintenanceStatus(ThirdMaintenanceFurnaceStatusEnum.ABOLISH.name()); + eamThirdMaintenanceFurnaceService.updateById(entity); + i.getAndIncrement(); + } + }); + return Result.OK("鎵归噺浣滃簾鎴愬姛 " + i.get() + " 鏉″伐鍗曪紒"); + } + + /** + * 閫氳繃id鏌ヨ + * + * @param id + * @return + */ + @AutoLog(value = "鐪熺┖鐑鐞嗙倝涓変繚-閫氳繃id鏌ヨ") + @ApiOperation(value = "鐪熺┖鐑鐞嗙倝涓変繚-閫氳繃id鏌ヨ", notes = "鐪熺┖鐑鐞嗙倝涓変繚-閫氳繃id鏌ヨ") + @GetMapping(value = "/queryById") + public Result<?> queryById(@RequestParam(name = "id", required = true) String id) { + EamThirdMaintenanceFurnace eamThirdMaintenanceFurnace = eamThirdMaintenanceFurnaceService.getById(id); + if (eamThirdMaintenanceFurnace == null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + try { + String json = objectMapper.writeValueAsString(eamThirdMaintenanceFurnace); + JSONObject item = JSONObject.parseObject(json, Feature.OrderedField); + translateDictTextUtils.translateField("createBy", eamThirdMaintenanceFurnace.getCreateBy(), item, "sys_user,realname,username"); + translateDictTextUtils.translateField("operator", eamThirdMaintenanceFurnace.getOperator(), item, "sys_user,realname,username"); + translateDictTextUtils.translateField("confirmUser", eamThirdMaintenanceFurnace.getConfirmUser(), item, "sys_user,realname,username"); + translateDictTextUtils.translateField("maintenanceStatus", eamThirdMaintenanceFurnace.getMaintenanceStatus(), item, "third_maintenance_furnace_status"); + return Result.OK(item); + } catch (JsonProcessingException e) { + return Result.error("鏁版嵁杞瘧澶辫触锛�"); + } + } + + /** + * 閫氳繃id鎵归噺棰嗗彇 + * + * @param ids + * @return + */ + @AutoLog(value = "鐪熺┖鐑鐞嗙倝涓変繚-鎵归噺棰嗗彇") + @ApiOperation(value = "鐪熺┖鐑鐞嗙倝涓変繚-鎵归噺棰嗗彇", notes = "鐪熺┖鐑鐞嗙倝涓変繚-鎵归噺棰嗗彇") + @DeleteMapping(value = "/collectBatch") + public Result<?> collectBatch(@RequestParam(name = "ids", required = true) String ids) { + List<String> list = Arrays.asList(ids.split(",")); + AtomicInteger i = new AtomicInteger(); + list.forEach(id -> { + EamThirdMaintenanceFurnace entity = eamThirdMaintenanceFurnaceService.getById(id); + if (entity != null && ThirdMaintenanceFurnaceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) { + boolean b = eamThirdMaintenanceFurnaceService.collect(id); + if (b) { + i.getAndIncrement(); + } + } + }); + return Result.OK("鎵归噺棰嗗彇鎴愬姛 " + i.get() + " 鏉″伐鍗曪紒"); + } + + /** + * 閫氳繃id棰嗗彇 + * + * @param id + * @return + */ + @AutoLog(value = "鐪熺┖鐑鐞嗙倝涓変繚-棰嗗彇") + @ApiOperation(value = "鐪熺┖鐑鐞嗙倝涓変繚-棰嗗彇", notes = "鐪熺┖鐑鐞嗙倝涓変繚-棰嗗彇") + @GetMapping(value = "/collect") + public Result<?> collect(@RequestParam(name = "id", required = true) String id) { + boolean b = eamThirdMaintenanceFurnaceService.collect(id); + if (!b) { + Result.OK("棰嗗彇澶辫触!"); + } + return Result.OK("棰嗗彇鎴愬姛!"); + } + + /** + * 鎴戠殑寰呭姙锛屽鎵瑰姩浣� + * + * @param request + * @return + */ + @ApiOperation(value = "鐪熺┖鐑鐞嗙倝涓変繚-鎵ц鎿嶄綔", notes = "鐪熺┖鐑鐞嗙倝涓変繚-鎵ц鎿嶄綔") + @PutMapping(value = "/approval") + public Result<?> approval(@RequestBody EamThirdMaintenanceFurnaceRequest request) { + if (request == null) { + return Result.error("瀹℃壒鐨勫璞′笉鑳戒负绌猴紒"); + } + // 妫�鏌ヨ姹傚弬鏁� + if (StrUtil.isBlank(request.getTaskId()) || StrUtil.isBlank(request.getDataId()) || StrUtil.isBlank(request.getInstanceId())) { + return Result.error("瀹℃壒浠诲姟閿欒鎴栦笉瀛樺湪锛�"); + } + EamThirdMaintenanceFurnace entity = eamThirdMaintenanceFurnaceService.approval(request); + if (entity == null) { + return Result.error("鎿嶄綔澶辫触锛�"); + } + return Result.ok("鎿嶄綔鎴愬姛锛�"); + } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceOrderController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceOrderController.java index 12d18a1..b5be67c 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceOrderController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceOrderController.java @@ -205,8 +205,8 @@ * @param ids * @return */ - @AutoLog(value = "鍛ㄤ繚宸ュ崟-鎵归噺浣滃簾") - @ApiOperation(value = "鍛ㄤ繚宸ュ崟-鎵归噺浣滃簾", notes = "鍛ㄤ繚宸ュ崟-鎵归噺浣滃簾") + @AutoLog(value = "璁惧涓夌骇淇濆吇-鎵归噺浣滃簾") + @ApiOperation(value = "璁惧涓夌骇淇濆吇-鎵归噺浣滃簾", notes = "璁惧涓夌骇淇濆吇-鎵归噺浣滃簾") @DeleteMapping(value = "/abolishBatch") public Result<?> abolishBatch(@RequestParam(name = "ids", required = true) String ids) { List<String> list = Arrays.asList(ids.split(",")); @@ -228,8 +228,8 @@ * @param ids * @return */ - @AutoLog(value = "鍛ㄤ繚宸ュ崟-鎵归噺棰嗗彇") - @ApiOperation(value = "鍛ㄤ繚宸ュ崟-鎵归噺棰嗗彇", notes = "鍛ㄤ繚宸ュ崟-鎵归噺棰嗗彇") + @AutoLog(value = "璁惧涓夌骇淇濆吇-鎵归噺棰嗗彇") + @ApiOperation(value = "璁惧涓夌骇淇濆吇-鎵归噺棰嗗彇", notes = "璁惧涓夌骇淇濆吇-鎵归噺棰嗗彇") @DeleteMapping(value = "/collectBatch") public Result<?> collectBatch(@RequestParam(name = "ids", required = true) String ids) { List<String> list = Arrays.asList(ids.split(",")); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceSpareController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceSpareController.java index a317036..b7e0727 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceSpareController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamThirdMaintenanceSpareController.java @@ -1,5 +1,6 @@ package org.jeecg.modules.eam.controller; +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.extension.plugins.pagination.Page; @@ -10,6 +11,7 @@ import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrderDetail; import org.jeecg.modules.eam.entity.EamThirdMaintenanceSpare; import org.jeecg.modules.eam.service.IEamThirdMaintenanceSpareService; import org.springframework.web.bind.annotation.*; @@ -19,6 +21,7 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.Arrays; +import java.util.List; /** * @Description: 涓変繚澶囦欢鏄庣粏 @@ -55,6 +58,22 @@ Page<EamThirdMaintenanceSpare> page = new Page<EamThirdMaintenanceSpare>(pageNo, pageSize); IPage<EamThirdMaintenanceSpare> pageList = eamThirdMaintenanceSpareService.page(page, queryWrapper); return Result.OK(pageList); + } + + /** + * 涓�娆″姞杞� + * + * @param orderId + * @return + */ + @ApiOperation(value = "鍛ㄤ繚宸ュ崟鏄庣粏-涓嶅垎椤靛垪琛ㄦ煡璇�", notes = "鍛ㄤ繚宸ュ崟鏄庣粏-涓嶅垎椤靛垪琛ㄦ煡璇�") + @GetMapping(value = "/queryList") + public Result<?> queryList(@RequestParam("orderId") String orderId) { + LambdaQueryWrapper<EamThirdMaintenanceSpare> queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.eq(EamThirdMaintenanceSpare::getOrderId, orderId); + queryWrapper.orderByAsc(EamThirdMaintenanceSpare::getSpareCode); + List<EamThirdMaintenanceSpare> list = eamThirdMaintenanceSpareService.list(queryWrapper); + return Result.OK(list); } /** @@ -126,28 +145,5 @@ EamThirdMaintenanceSpare eamThirdMaintenanceSpare = eamThirdMaintenanceSpareService.getById(id); return Result.OK(eamThirdMaintenanceSpare); } - - /** - * 瀵煎嚭excel - * - * @param request - * @param eamThirdMaintenanceSpare - */ - @RequestMapping(value = "/exportXls") - public ModelAndView exportXls(HttpServletRequest request, EamThirdMaintenanceSpare eamThirdMaintenanceSpare) { - return super.exportXls(request, eamThirdMaintenanceSpare, EamThirdMaintenanceSpare.class, "涓変繚澶囦欢鏄庣粏"); - } - - /** - * 閫氳繃excel瀵煎叆鏁版嵁 - * - * @param request - * @param response - * @return - */ - @RequestMapping(value = "/importExcel", method = RequestMethod.POST) - public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, EamThirdMaintenanceSpare.class); - } } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceFurnaceMapper.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceFurnaceMapper.java index c821afc..d575f33 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceFurnaceMapper.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamThirdMaintenanceFurnaceMapper.java @@ -1,6 +1,11 @@ package org.jeecg.modules.eam.mapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.Constants; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Param; import org.jeecg.modules.eam.entity.EamThirdMaintenanceFurnace; /** @@ -11,4 +16,11 @@ */ public interface EamThirdMaintenanceFurnaceMapper extends BaseMapper<EamThirdMaintenanceFurnace> { + /** + * 鍒嗛〉鏌ヨ + * @param page + * @param queryWrapper + * @return + */ + IPage<EamThirdMaintenanceFurnace> queryPageList(Page<EamThirdMaintenanceFurnace> page, @Param(Constants.WRAPPER) QueryWrapper<EamThirdMaintenanceFurnace> queryWrapper); } diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceFurnaceMapper.xml b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceFurnaceMapper.xml index 0364be1..73c9c83 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceFurnaceMapper.xml +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamThirdMaintenanceFurnaceMapper.xml @@ -2,4 +2,11 @@ <!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.EamThirdMaintenanceFurnaceMapper"> + <select id="queryPageList" resultType="org.jeecg.modules.eam.entity.EamThirdMaintenanceFurnace"> + select tmf.*, e.equipment_code, e.equipment_name, e.equipment_model + from eam_third_maintenance_furnace tmf + inner join eam_equipment e + on tmf.equipment_id = e.id + ${ew.customSqlSegment} + </select> </mapper> \ No newline at end of file diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceFurnaceQuery.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceFurnaceQuery.java new file mode 100644 index 0000000..cab072b --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceFurnaceQuery.java @@ -0,0 +1,28 @@ +package org.jeecg.modules.eam.request; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; +import org.springframework.format.annotation.DateTimeFormat; + +import java.util.Date; + +/** + * @Author: Lius + * @CreateTime: 2025-07-24 + * @Description: + */ +@Data +public class EamThirdMaintenanceFurnaceQuery { + private String orderNum; + private String equipmentId; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date maintenanceDateBegin; + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date maintenanceDateEnd; + private String maintenanceStatus; + + private String column; + private String order; +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceFurnaceRequest.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceFurnaceRequest.java new file mode 100644 index 0000000..fdcc5fd --- /dev/null +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceFurnaceRequest.java @@ -0,0 +1,120 @@ +package org.jeecg.modules.eam.request; + +import com.baomidou.mybatisplus.annotation.TableLogic; +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.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; + +/** + * @Author: Lius + * @CreateTime: 2025-07-24 + * @Description: + */ +@Data +@EqualsAndHashCode(callSuper = false) +@Accessors(chain = true) +public class EamThirdMaintenanceFurnaceRequest extends FlowTaskVo implements Serializable { + + private static final long serialVersionUID = 3599956173993730625L; + + /**涓婚敭*/ + @ApiModelProperty(value = "涓婚敭") + private String id; + /** + * 澶囨敞 + */ + @ApiModelProperty(value = "澶囨敞") + private String remark; + /** + * 宸ュ崟鍙� + */ + @ApiModelProperty(value = "宸ュ崟鍙�") + private String orderNum; + /** + * 璁惧ID + */ + @ApiModelProperty(value = "璁惧ID") + @Dict(dictTable = "eam_equipment", dicCode = "equipment_code", dicText = "id") + private String equipmentId; + /** + * 璁″垝淇濆吇鏃ユ湡 + */ + @ApiModelProperty(value = "璁″垝淇濆吇鏃ユ湡") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") + @DateTimeFormat(pattern = "yyyy-MM-dd") + private Date maintenanceDate; + /** + * 鍘嬬缉绌烘皵鍘嬪姏(MPa) + */ + @ApiModelProperty(value = "鍘嬬缉绌烘皵鍘嬪姏(MPa)") + private String compressedAirPressureValue; + /** + * 鏋侀檺鐪熺┖(Pa) + */ + @ApiModelProperty(value = "鏋侀檺鐪熺┖(Pa)") + private String ultimateVacuumValue; + /** + * 娉勬紡鐜�(Pa/h) + */ + @ApiModelProperty(value = "娉勬紡鐜�(Pa/h)") + private String leakRate; + /** + * 鍑�鍖栧鐞� + */ + @ApiModelProperty(value = "鍑�鍖栧鐞�") + private String purificationTreatment; + /** + * 鐐夋俯鍧囧寑鎬ф娴� + */ + @ApiModelProperty(value = "鐐夋俯鍧囧寑鎬ф娴�") + private String furnaceTemperatureUniformityTesting; + /** + * 鍔犵儹鍔熺巼娴嬭瘯 + */ + @ApiModelProperty(value = "鍔犵儹鍔熺巼娴嬭瘯") + private String heatingPowerTest; + /** + * 淇濆吇浜� + */ + @ApiModelProperty(value = "淇濆吇浜�") + @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") + private String operator; + /** + * 淇濆吇鏃堕棿 + */ + @ApiModelProperty(value = "淇濆吇鏃堕棿") + @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") + @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") + private Date operateTime; + /** + * 淇濆吇鐘舵��;寰呮彁浜ゃ�佸緟纭銆佸凡瀹屾垚 + */ + @ApiModelProperty(value = "淇濆吇鐘舵��;寰呮彁浜ゃ�佸緟纭銆佸凡瀹屾垚") + private String maintenanceStatus; + /** + * 鑳藉惁婊¤冻鍔犲伐闇�姹�;鏄惁 + */ + @ApiModelProperty(value = "鑳藉惁婊¤冻鍔犲伐闇�姹�;鏄惁") + @Dict(dicCode = "yn") + private String processingRequirementsFlag; + /** + * 纭浜� + */ + @ApiModelProperty(value = "纭浜�") + @Dict(dictTable = "sys_user", dicCode = "username", dicText = "realname") + private String confirmUser; + /** 纭绫诲瀷 1 閫氳繃 2 椹冲洖 */ + @ApiModelProperty(value = "纭绫诲瀷") + @Dict(dicCode = "approved_rejected") + private String confirmDealType; + +} diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceRequest.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceRequest.java index 7d5977a..5740874 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceRequest.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamThirdMaintenanceRequest.java @@ -8,6 +8,7 @@ import lombok.experimental.Accessors; import org.jeecg.common.aspect.annotation.Dict; import org.jeecg.modules.eam.entity.EamThirdMaintenanceOrderDetail; +import org.jeecg.modules.eam.entity.EamThirdMaintenanceSpare; import org.jeecg.modules.flowable.domain.vo.FlowTaskVo; import org.jeecgframework.poi.excel.annotation.Excel; import org.springframework.format.annotation.DateTimeFormat; @@ -50,7 +51,7 @@ @ApiModelProperty(value = "淇濆吇鏃ユ湡") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd") @DateTimeFormat(pattern = "yyyy-MM-dd") - private Date maintenanceDate; + private String maintenanceDate; /** * 缁翠慨浜� */ @@ -101,6 +102,11 @@ */ @ApiModelProperty(value = "鍒犻櫎 淇濆吇椤规槑缁�") private List<EamThirdMaintenanceOrderDetail> removeDetailList; + /** + * 澶囦欢鏄庣粏 + */ + @ApiModelProperty(value = "澶囦欢浣跨敤鏄庣粏") + private List<EamThirdMaintenanceSpare> tableSpareList; /** * 鎿嶄綔浜虹瀛� diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceFurnaceService.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceFurnaceService.java index f628bd9..da457dc 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceFurnaceService.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamThirdMaintenanceFurnaceService.java @@ -1,7 +1,12 @@ package org.jeecg.modules.eam.service; +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.entity.EamThirdMaintenanceFurnace; +import org.jeecg.modules.eam.request.EamThirdMaintenanceFurnaceQuery; +import org.jeecg.modules.eam.request.EamThirdMaintenanceFurnaceRequest; /** * @Description: 鐪熺┖鐑鐞嗙倝涓変繚 @@ -11,4 +16,39 @@ */ public interface IEamThirdMaintenanceFurnaceService extends IService<EamThirdMaintenanceFurnace> { + /** + * 鍒嗛〉鏌ヨ + * @param page + * @param query + * @return + */ + IPage<EamThirdMaintenanceFurnace> queryPageList(Page<EamThirdMaintenanceFurnace> page, EamThirdMaintenanceFurnaceQuery query); + + /** + * 鏂板鐑鐞嗙倝淇濆吇宸ュ崟 + * @param eamThirdMaintenanceFurnaceRequest + * @return + */ + Result<?> addThirdMaintenanceFurnace(EamThirdMaintenanceFurnaceRequest eamThirdMaintenanceFurnaceRequest); + + /** + * 棰嗗彇宸ュ崟 + * @param id + * @return + */ + boolean collect(String id); + + /** + * 缂栬緫 + * @param request + * @return + */ + boolean editMaintenance(EamThirdMaintenanceFurnaceRequest request); + + /** + * 瀹℃壒娴佺▼ + * @param request + * @return + */ + EamThirdMaintenanceFurnace approval(EamThirdMaintenanceFurnaceRequest request); } 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 fb90334..931ffcd 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 @@ -518,7 +518,6 @@ weekInspectionDetailList.forEach(weekInspectionDetail -> { weekInspectionDetail.setEquipmentId(eamInspectionOrderRequest.getEquipmentId()); weekInspectionDetail.setStandardId(eamInspectionOrderRequest.getStandardId()); - // TODO 鍛ㄧ偣妫�鏃ユ湡 weekInspectionDetail.setPlanInspectionDate(eamInspectionOrderRequest.getInspectionDate()); }); eamWeekInspectionDetailService.saveBatch(weekInspectionDetailList); diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceChangeServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceChangeServiceImpl.java index ced2b3b..d7a068d 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceChangeServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceChangeServiceImpl.java @@ -5,11 +5,14 @@ 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.conditions.update.LambdaUpdateWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.commons.lang3.StringUtils; +import org.apache.ibatis.type.JdbcType; import org.apache.shiro.SecurityUtils; import org.flowable.engine.TaskService; import org.flowable.task.api.Task; @@ -34,6 +37,7 @@ import org.jeecg.modules.eam.service.IEamThirdMaintenanceOrderService; 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; @@ -49,6 +53,7 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; +import java.sql.Timestamp; import java.util.*; import java.util.stream.Collectors; @@ -58,8 +63,8 @@ * @Date: 2025-07-11 * @Version: V1.0 */ -@Service -public class EamThirdMaintenanceChangeServiceImpl extends ServiceImpl<EamThirdMaintenanceChangeMapper, EamThirdMaintenanceChange> implements IEamThirdMaintenanceChangeService { +@Service("IEamThirdMaintenanceChangeService") +public class EamThirdMaintenanceChangeServiceImpl extends ServiceImpl<EamThirdMaintenanceChangeMapper, EamThirdMaintenanceChange> implements IEamThirdMaintenanceChangeService, FlowCallBackServiceI { @Resource private EamThirdMaintenanceChangeMapper eamThirdMaintenanceChangeMapper; @@ -177,6 +182,7 @@ request.setApplicant(sysUser.getUsername()); request.setApplyDate(new Date()); request.setFactoryOrgCode(equipment.getFactoryOrgCode()); + request.setEquipmentId(equipment.getId()); // 涓変繚鍙樻洿宸ュ崟HF EamBaseHFCode eamBaseHFCode = hfCodeService.selectByCategory(HfTemplateCategoryEnum.THIRD_MAINTENANCE_CHANGE.name()); if (eamBaseHFCode == null) { @@ -203,6 +209,14 @@ } entity.setApplyReasonType(request.getApplyReasonType()); entity.setApplyReason(request.getApplyReason()); + entity.setRemark(request.getRemark()); + entity.setApplyCategory(request.getApplyCategory()); + if ("SCRAPPED".equals(request.getApplyCategory())) { + // 鐩存帴璁句负 null + entity.setDeferredMaintenanceDate(null); + } else { + entity.setDeferredMaintenanceDate(request.getDeferredMaintenanceDate()); + } this.getBaseMapper().updateById(entity); return true; } @@ -470,8 +484,13 @@ if(BusinessCodeConst.APPROVED.equals(request.getProductionSupportSignatureResult())) { //閫氳繃 entity.setChangeStatus(ThirdMaintenanceChangeStatusEnum.COMPLETED.name()); - order.setMaintenanceStatus(ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name()); - order.setMaintenanceDate(entity.getDeferredMaintenanceDate()); + if ("SCRAPPED".equals(request.getApplyCategory())) { + order.setMaintenanceDate(null); + order.setMaintenanceStatus(ThirdMaintenanceStatusEnum.ABOLISH.name()); + } else { + order.setMaintenanceDate(entity.getDeferredMaintenanceDate()); + order.setMaintenanceStatus(ThirdMaintenanceStatusEnum.WAIT_MAINTENANCE.name()); + } thirdMaintenanceOrderService.updateById(order); }else { //椹冲洖 @@ -499,4 +518,28 @@ return true; } + @Override + public void afterFlowHandle(FlowMyBusiness business) { + business.getTaskNameId();//鎺ヤ笅鏉ュ鎵圭殑鑺傜偣 + business.getValues();//鍓嶇浼犺繘鏉ョ殑鍙傛暟 + business.getActStatus(); + } + + @Override + public Object getBusinessDataById(String dataId) { + return this.getById(dataId); + } + + @Override + public Map<String, Object> flowValuesOfTask(String taskNameId, Map<String, Object> values) { + return null; + } + + @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/service/impl/EamThirdMaintenanceFurnaceServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceFurnaceServiceImpl.java index 7dcc366..5ecd786 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceFurnaceServiceImpl.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceFurnaceServiceImpl.java @@ -1,10 +1,54 @@ package org.jeecg.modules.eam.service.impl; +import cn.hutool.core.collection.CollectionUtil; +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 com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +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.aspect.annotation.EquipmentHistoryLog; +import org.jeecg.modules.eam.constant.*; +import org.jeecg.modules.eam.entity.EamBaseHFCode; +import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamThirdMaintenanceFurnace; import org.jeecg.modules.eam.mapper.EamThirdMaintenanceFurnaceMapper; +import org.jeecg.modules.eam.request.EamThirdMaintenanceFurnaceQuery; +import org.jeecg.modules.eam.request.EamThirdMaintenanceFurnaceRequest; +import org.jeecg.modules.eam.service.IEamBaseHFCodeService; +import org.jeecg.modules.eam.service.IEamEquipmentService; import org.jeecg.modules.eam.service.IEamThirdMaintenanceFurnaceService; +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.BeanUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; /** * @Description: 鐪熺┖鐑鐞嗙倝涓変繚 @@ -12,7 +56,319 @@ * @Date: 2025-07-11 * @Version: V1.0 */ -@Service -public class EamThirdMaintenanceFurnaceServiceImpl extends ServiceImpl<EamThirdMaintenanceFurnaceMapper, EamThirdMaintenanceFurnace> implements IEamThirdMaintenanceFurnaceService { +@Service("IEamThirdMaintenanceFurnaceService") +public class EamThirdMaintenanceFurnaceServiceImpl extends ServiceImpl<EamThirdMaintenanceFurnaceMapper, EamThirdMaintenanceFurnace> implements IEamThirdMaintenanceFurnaceService, FlowCallBackServiceI { + @Resource + private EamThirdMaintenanceFurnaceMapper eamThirdMaintenanceFurnaceMapper; + @Resource + private IBaseFactoryUserService baseFactoryUserService; + @Resource + private IBaseFactoryService baseFactoryService; + @Resource + private IEamBaseHFCodeService eamBaseHFCodeService; + @Resource + private IEamEquipmentService eamEquipmentService; + @Resource + private FlowCommonService flowCommonService; + @Resource + private IFlowDefinitionService flowDefinitionService; + @Resource + private IFlowMyBusinessService flowMyBusinessService; + @Resource + private TaskService taskService; + @Resource + private IFlowTaskService flowTaskService; + @Resource + private ISysUserService sysUserService; + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * @param page + * @param query + * @return + */ + @Override + public IPage<EamThirdMaintenanceFurnace> queryPageList(Page<EamThirdMaintenanceFurnace> page, EamThirdMaintenanceFurnaceQuery query) { + QueryWrapper<EamThirdMaintenanceFurnace> queryWrapper = new QueryWrapper<>(); + //鐢ㄦ埛鏁版嵁鏉冮檺 + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null) { + return page; + } + if (StringUtils.isNotBlank(sysUser.getEquipmentIds())) { + //閫夋嫨浜嗚澶囷紝鏍规嵁璁惧id杩囨护璁惧 + List<String> equipArr = Arrays.asList(sysUser.getEquipmentIds().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 (query != null) { + if (StringUtils.isNotBlank(query.getEquipmentId())) { + queryWrapper.eq("e.equipment_id", query.getEquipmentId()); + } + if (StringUtils.isNotBlank(query.getMaintenanceStatus())) { + queryWrapper.eq("tmf.maintenance_status", query.getMaintenanceStatus()); + } + if (query.getMaintenanceDateBegin() != null && query.getMaintenanceDateEnd() != null) { + queryWrapper.between("tmf.maintenance_date", query.getMaintenanceDateBegin(), query.getMaintenanceDateEnd()); + } + //鎺掑簭 + if (StringUtils.isNotBlank(query.getColumn()) && StringUtils.isNotBlank(query.getOrder())) { + String column = query.getColumn(); + if (column.endsWith(CommonConstant.DICT_TEXT_SUFFIX)) { + column = column.substring(0, column.lastIndexOf(CommonConstant.DICT_TEXT_SUFFIX)); + } + if (DataBaseConstant.SQL_ASC.equalsIgnoreCase(query.getOrder())) { + queryWrapper.orderByAsc("tmf." + oConvertUtils.camelToUnderline(column)); + } else { + queryWrapper.orderByDesc("tmf." + oConvertUtils.camelToUnderline(column)); + } + } else { + queryWrapper.orderByDesc("tmf.create_time"); + } + } + return eamThirdMaintenanceFurnaceMapper.queryPageList(page, queryWrapper); + } + + @Override + public Result<?> addThirdMaintenanceFurnace(EamThirdMaintenanceFurnaceRequest eamThirdMaintenanceFurnaceRequest) { + List<EamThirdMaintenanceFurnace> eamThirdMaintenanceFurnaces = eamThirdMaintenanceFurnaceMapper.selectList(new LambdaQueryWrapper<EamThirdMaintenanceFurnace>().eq(EamThirdMaintenanceFurnace::getEquipmentId, eamThirdMaintenanceFurnaceRequest.getEquipmentId()).eq(EamThirdMaintenanceFurnace::getMaintenanceDate, eamThirdMaintenanceFurnaceRequest.getMaintenanceDate()).ne(EamThirdMaintenanceFurnace::getMaintenanceStatus, ThirdMaintenanceFurnaceStatusEnum.ABOLISH.name())); + if (CollectionUtils.isNotEmpty(eamThirdMaintenanceFurnaces)) { + return Result.error("娣诲姞澶辫触,绯荤粺宸插瓨鍦ㄥ綋鍓嶆棩鏈熷伐鍗曪紒"); + } + EamThirdMaintenanceFurnace eamThirdMaintenanceFurnace = new EamThirdMaintenanceFurnace(); + BeanUtils.copyProperties(eamThirdMaintenanceFurnaceRequest, eamThirdMaintenanceFurnace); + //淇敼鐘舵�� + eamThirdMaintenanceFurnace.setMaintenanceStatus(ThirdMaintenanceFurnaceStatusEnum.WAIT_MAINTENANCE.name()); + eamThirdMaintenanceFurnace.setDelFlag(CommonConstant.DEL_FLAG_0); + //HF鐮佸鐞� + EamBaseHFCode eamBaseHFCode = eamBaseHFCodeService.selectByCategory(HfTemplateCategoryEnum.THIRD_MAINTENANCE_FURNACE.name()); + if (eamBaseHFCode == null) { + return Result.error("娣诲姞澶辫触,鏈厤缃湡绌虹儹澶勭悊鐐夋楠岃〃HF缂栫爜锛�"); + } + eamThirdMaintenanceFurnace.setHfCode(eamBaseHFCode.getHfCode()); + save(eamThirdMaintenanceFurnace); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean collect(String id) { + EamThirdMaintenanceFurnace entity = eamThirdMaintenanceFurnaceMapper.selectById(id); + if (entity == null) { + throw new JeecgBootException("瑕侀鍙栫殑宸ュ崟涓嶅瓨鍦紝璇峰埛鏂伴噸璇曪紒"); + } + if (!ThirdMaintenanceFurnaceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) { + throw new JeecgBootException("璇ュ伐鍗曞凡杩涜杩囬鍙栵紒"); + } + EamEquipment equipment = eamEquipmentService.getById(entity.getEquipmentId()); + if (equipment == null) { + throw new JeecgBootException("璁惧涓嶅瓨鍦紝娣诲姞澶辫触锛�"); + } + LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (sysUser == null || !BusinessCodeConst.PCR0002.equals(sysUser.getPost())) { + throw new JeecgBootException("涓嶆槸缁翠慨宸ワ紝鏃犳硶棰嗗彇姝ゅ伐鍗曪紒"); + } + entity.setOperator(sysUser.getUsername()); + entity.setMaintenanceStatus(ThirdMaintenanceFurnaceStatusEnum.UNDER_MAINTENANCE.name()); + eamThirdMaintenanceFurnaceMapper.updateById(entity); + // 鍚姩娴佺▼ + flowCommonService.initActBusiness("宸ュ崟鍙�:" + entity.getOrderNum() + ";璁惧缂栧彿: " + equipment.getEquipmentCode(), + entity.getId(), "IEamThirdMaintenanceFurnaceService", "third_maintenance_furnace_process", null); + Map<String, Object> variables = new HashMap<>(); + variables.put("dataId", entity.getId()); + if (StrUtil.isEmpty(entity.getRemark())) { + variables.put("organization", "鏂板鐑鐞嗙倝涓変繚宸ュ崟榛樿鍚姩娴佺▼"); + variables.put("comment", "鏂板鐑鐞嗙倝涓変繚宸ュ崟榛樿鍚姩娴佺▼"); + } else { + variables.put("organization", entity.getRemark()); + variables.put("comment", entity.getRemark()); + } + variables.put("proofreading", true); + // 璁剧疆涓嬩竴姝ュ鐞嗕汉 + List<String> usernames = new ArrayList<>(); + usernames.add(entity.getOperator()); + variables.put("NextAssignee", usernames); + Result result = flowDefinitionService.startProcessInstanceByKey("third_maintenance_furnace_process", variables); +// if (result != null) { +// //鏇存柊璁惧淇濆吇鐘舵�� +// eamEquipmentExtendService.updateEquipmentMaintenanceStatus(entity.getEquipmentId(), EquipmentMaintenanceStatus.UNDER_THIRD_MAINTENANCE.name()); +// return result.isSuccess(); +// } + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public boolean editMaintenance(EamThirdMaintenanceFurnaceRequest request) { + EamEquipment equipment = eamEquipmentService.getById(request.getEquipmentId()); + if (equipment == null) { + throw new JeecgBootException("璁惧涓嶅瓨鍦紝娣诲姞澶辫触锛�"); + } + EamThirdMaintenanceFurnace entity = eamThirdMaintenanceFurnaceMapper.selectById(request.getId()); + if (entity == null) { + throw new JeecgBootException("缂栬緫鐨勬暟鎹凡鍒犻櫎锛岃鍒锋柊閲嶈瘯锛�"); + } + if (!ThirdMaintenanceFurnaceStatusEnum.WAIT_MAINTENANCE.name().equals(entity.getMaintenanceStatus())) { + throw new JeecgBootException("鍙湁寰呬繚鍏荤姸鎬佺殑鏁版嵁鎵嶅彲缂栬緫锛�"); + } + entity.setMaintenanceDate(request.getMaintenanceDate()); + entity.setRemark(request.getRemark()); + eamThirdMaintenanceFurnaceMapper.updateById(entity); + return true; + } + + @Override + @Transactional(rollbackFor = Exception.class) + @EquipmentHistoryLog(operationTag = EquipmentOperationTagEnum.THIRD_MAINTENANCE, businessTable = "eam_third_maintenance_furnace") + public EamThirdMaintenanceFurnace approval(EamThirdMaintenanceFurnaceRequest request) { + EamThirdMaintenanceFurnace entity = eamThirdMaintenanceFurnaceMapper.selectById(request.getId()); + if (entity == null) { + throw new JeecgBootException("寰呭鐞嗙殑鏁版嵁宸插垹闄わ紝璇峰埛鏂伴噸璇曪紒"); + } + // 鑾峰彇褰撳墠鐧诲綍鐢ㄦ埛 + LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); + if (user == null || StrUtil.isBlank(user.getId())) { + throw new JeecgBootException("鏈幏鍙栧埌鐧诲綍鐢ㄦ埛锛岃閲嶆柊鐧诲綍鍚庡啀璇曪紒"); + } + request.setAssignee(user.getUsername()); + // 鑾峰彇娴佺▼涓氬姟璁板綍 + FlowMyBusiness flowMyBusiness = flowMyBusinessService.getFlowMyBusiness(request.getInstanceId(), request.getTaskId()); + if (flowMyBusiness == null) { + throw new JeecgBootException("娴佺▼瀹炰緥涓嶅瓨鍦紝璇峰埛鏂板悗閲嶈瘯锛�"); + } + + if (!isUserAuthorized(flowMyBusiness, user)) { + throw new JeecgBootException("鐢ㄦ埛鏃犳潈鎿嶄綔姝や换鍔★紝璇峰埛鏂板悗閲嶈瘯锛�"); + } + // 璁ら浠诲姟 + if (!claimTask(flowMyBusiness.getTaskId(), user)) { + throw new JeecgBootException("浠诲姟涓嶅瓨鍦ㄣ�佸凡瀹屾垚鎴栧凡琚粬浜鸿棰嗭紒"); + } + EamEquipment equipment = eamEquipmentService.getById(entity.getEquipmentId()); + if (equipment == null) { + throw new JeecgBootException("璁惧涓嶅瓨鍦紝璇锋鏌ワ紒"); + } + // 璁剧疆娴佺▼鍙橀噺 + setupProcessVariables(request, entity, user, equipment); + + // 瀹屾垚娴佺▼浠诲姟 + Result result = flowTaskService.complete(request); + + // 鏍规嵁浠诲姟瀹屾垚缁撴灉鏇存柊宸ュ崟鐘舵�� + updateOrderStatus(result, request, entity, user); + + //鏇存柊宸ュ崟淇℃伅 + eamThirdMaintenanceFurnaceMapper.updateById(entity); + return entity; + } + + /** + * 璁剧疆娴佺▼鍙橀噺 + */ + private void setupProcessVariables(EamThirdMaintenanceFurnaceRequest request, EamThirdMaintenanceFurnace entity, LoginUser user, EamEquipment equipment) { + //娴佺▼鍙橀噺 + Map<String, Object> values = new HashMap<>(); + List<String> userApprovalList; + List<UserSelector> userSelectors; + if (ThirdMaintenanceFurnaceStatusEnum.UNDER_MAINTENANCE.name().equals(entity.getMaintenanceStatus()) && user.getUsername().equals(entity.getOperator())) { + // 淇濆吇浜轰繚鍏荤粨鏉� + values.put("dataId", entity.getId()); + values.put("organization", "淇濆吇浜轰繚鍏荤粨鏉�"); + values.put("comment", "淇濆吇浜轰繚鍏荤粨鏉�"); + // 鑾峰彇涓嬩竴姝ユ墽琛屼汉 + userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getFactoryOrgCode(), BusinessCodeConst.PCR0008); + if (CollectionUtil.isEmpty(userSelectors)) { + throw new JeecgBootException("璁惧鏈垎閰嶇粰缁翠慨缁勯暱锛屾棤娉曡繘鍏ヤ笅绾у鎵癸紒"); + } + userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); + values.put("NextAssignee", userApprovalList); + request.setComment("淇濆吇浜轰繚鍏荤粨鏉�"); + } else { + // 缁翠慨缁勯暱纭 + values.put("dataId", entity.getId()); + values.put("organization", "缁翠慨缁勯暱纭缁撴潫"); + values.put("comment", "缁翠慨缁勯暱纭缁撴潫"); + request.setComment("缁翠慨缁勯暱纭缁撴潫"); + } + request.setValues(values); + } + + /** + * 鏇存柊宸ュ崟鐘舵�� + */ + private void updateOrderStatus(Result result, EamThirdMaintenanceFurnaceRequest request, EamThirdMaintenanceFurnace entity, LoginUser user) { + if (result.isSuccess()) { + if (ThirdMaintenanceFurnaceStatusEnum.UNDER_MAINTENANCE.name().equals(entity.getMaintenanceStatus()) && user.getUsername().equals(entity.getOperator())) { + //缁翠慨宸ヤ繚鍏诲畬鎴� + entity.setMaintenanceStatus(ThirdMaintenanceFurnaceStatusEnum.WAIT_CONFIRM.name()); + entity.setOperateTime(new Date()); + entity.setCompressedAirPressureValue(request.getCompressedAirPressureValue()); + entity.setUltimateVacuumValue(request.getUltimateVacuumValue()); + entity.setLeakRate(request.getLeakRate()); + entity.setPurificationTreatment(request.getPurificationTreatment()); + entity.setFurnaceTemperatureUniformityTesting(request.getFurnaceTemperatureUniformityTesting()); + entity.setHeatingPowerTest(request.getHeatingPowerTest()); + entity.setProcessingRequirementsFlag(request.getProcessingRequirementsFlag()); + } else { + //缁翠慨缁勯暱纭瀹屾垚 + entity.setMaintenanceStatus(ThirdMaintenanceFurnaceStatusEnum.COMPLETE.name()); + entity.setConfirmUser(user.getUsername()); + entity.setConfirmTime(new Date()); + } + } + } + + private boolean isUserAuthorized(FlowMyBusiness flowMyBusiness, LoginUser user) { + List<String> todoUsers = JSON.parseArray(flowMyBusiness.getTodoUsers(), String.class); + return todoUsers != null && todoUsers.contains(user.getUsername()); + } + + 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; + } + + @Override + public void afterFlowHandle(FlowMyBusiness business) { + business.getTaskNameId();//鎺ヤ笅鏉ュ鎵圭殑鑺傜偣 + business.getValues();//鍓嶇浼犺繘鏉ョ殑鍙傛暟 + business.getActStatus(); + } + + @Override + public Object getBusinessDataById(String dataId) { + return this.getById(dataId); + } + + @Override + public Map<String, Object> flowValuesOfTask(String taskNameId, Map<String, Object> values) { + return null; + } + + @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/service/impl/EamThirdMaintenanceOrderServiceImpl.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamThirdMaintenanceOrderServiceImpl.java index ef15217..fd1686d 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 @@ -88,6 +88,8 @@ private IEamBaseHFCodeService eamBaseHFCodeService; @Resource private IEamThirdMaintenanceOrderDetailService eamThirdMaintenanceOrderDetailService; + @Resource + private IEamThirdMaintenanceSpareService eamThirdMaintenanceSpareService; @Override public IPage<EamThirdMaintenanceOrder> queryPageList(Page<EamThirdMaintenanceOrder> page, EamThirdMaintenanceQuery query) { @@ -549,6 +551,14 @@ // 涓変繚鏄庣粏澶勭悊 eamThirdMaintenanceOrderDetailService.remove(new LambdaQueryWrapper<EamThirdMaintenanceOrderDetail>().eq(EamThirdMaintenanceOrderDetail::getOrderId, order.getId())); eamThirdMaintenanceOrderDetailService.saveBatch(request.getTableDetailList()); + // 涓変繚澶囦欢鏄庣粏澶勭悊 + if (request.getTableSpareList() != null && !request.getTableSpareList().isEmpty()) { + List<EamThirdMaintenanceSpare> tableSpareList = request.getTableSpareList(); + tableSpareList.forEach(eamThirdMaintenanceSpare -> { + eamThirdMaintenanceSpare.setOrderId(request.getId()); + }); + eamThirdMaintenanceSpareService.saveBatch(tableSpareList); + } break; case UNDER_FIRST_ACCEPTANCE: // 绗竴娆¢獙鏀剁粨鏉� -- Gitblit v1.9.3