lxzn-boot-base-core/src/main/java/org/jeecg/common/constant/CommonConstant.java
@@ -366,6 +366,17 @@ String YN_Y = "Y"; String YN_N = "N"; /** * 1æ¯0å¦ */ String YN_O = "0"; String YN_1 = "1"; /** * 1éè¿ 2驳å */ String APPROVED = "1"; String REJECTED = "2"; /**===============================================================================================*/ /** lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/BusinessCodeConst.java
@@ -68,5 +68,9 @@ String PCR0006 = "PCR0006"; //å¤ä»¶ç®¡çå String PCR0007 = "PCR0007"; //åä½é¢å¯¼ String PCR0008 = "PCR0008"; //å ¬å¸é¢å¯¼ String PCR0009 = "PCR0009"; } lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/EquipmentLeanOutStatusEnum.java
@@ -2,9 +2,12 @@ public enum EquipmentLeanOutStatusEnum { WAIT_SUBMIT, //å¾ æäº¤ WAIT_APPROVAL, //å¾ å®¡æ¹ WAIT_APPROVAL_OUT, //å¾ ä½¿ç¨åä½åºåå®¡æ¹ WAIT_APPROVAL_IN, //å¾ å ¥åå®¡æ¹ WAIT_RETURN, //å¾ å½è¿ WAIT_CONFIRM, //å¾ ç¡®è®¤ WAIT_CONFIRM_RETURN, //å¾ å½è¿æ¹ç¡®è®¤ WAIT_CONFIRM_BORROW, //å¾ åç¨æ¹ç¡®è®¤ REJECT, //已驳å COMPLETE, //已宿 ; public static EquipmentLeanOutStatusEnum getInstance(String code) { lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/constant/EquipmentTransferStatusEnum.java
@@ -6,7 +6,11 @@ */ public enum EquipmentTransferStatusEnum { WAIT_SUBMIT, //å¾ æäº¤ WAIT_CHECK, //å¾ å®¡æ ¸ WAIT_USE_LEADER_CHECK, //å¾ ä½¿ç¨åä½é¢å¯¼å®¡æ¹ WAIT_TRANSFER_LEADER_CHECK, //å¾ è°å ¥åä½é¢å¯¼å®¡æ¹ WAIT_EXTERNAL_CONFIRM, //å¾ æºå¨å确认人 WAIT_COMPANY_LEADER_CHECK, //å¾ å ¬å¸é¢å¯¼å®¡æ¹ REJECT, //已驳å COMPLETE, //已宿 ; lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipmentLeanOut.java
@@ -16,157 +16,144 @@ import java.io.Serializable; import java.util.Date; /** * @Description: 设å¤ååºå½è¿ * @Author: jeecg-boot * @Date: 2025-05-13 * @Date: 2025-05-13 * @Version: V1.0 */ @Data @TableName("eam_equipment_lean_out") @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @ApiModel(value = "eam_equipment_lean_out对象", description = "设å¤ååºå½è¿") @ApiModel(value="eam_equipment_lean_out对象", description="设å¤ååºå½è¿") public class EamEquipmentLeanOut implements Serializable { /** * ä¸»é® */ /**主é®*/ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "主é®") private String id; /** * å建人 */ /**å建人*/ @ApiModelProperty(value = "å建人") private String createBy; /** * å建æ¶é´ */ /**å建æ¶é´*/ @ApiModelProperty(value = "å建æ¶é´") private Date createTime; /** * æ´æ°äºº */ /**æ´æ°äºº*/ @ApiModelProperty(value = "æ´æ°äºº") private String updateBy; /** * æ´æ°æ¶é´ */ /**æ´æ°æ¶é´*/ @ApiModelProperty(value = "æ´æ°æ¶é´") private Date updateTime; /** * å 餿 è®° */ /**å 餿 è®°*/ @ApiModelProperty(value = "å 餿 è®°") private Integer delFlag; /** * 设å¤ID */ /**设å¤ID*/ @ApiModelProperty(value = "设å¤ID") private String equipmentId; /** * åæ®å· */ /**åæ®å·*/ @Excel(name = "åæ®å·", width = 15) @ApiModelProperty(value = "åæ®å·") private String code; /** * åå ¥é¨é¨ */ /**åå ¥é¨é¨*/ @Excel(name = "åå ¥é¨é¨", width = 15, dictTable = "mdc_production", dicText = "production_name", dicCode = "id") @ApiModelProperty(value = "åå ¥é¨é¨") @Dict(dicCode = "mdc_production, production_name, id") private String leanDepartId; /** * åå ¥è´£ä»»äºº */ /**åå ¥è´£ä»»äºº*/ @Excel(name = "åå ¥è´£ä»»äºº", width = 15) @ApiModelProperty(value = "åå ¥è´£ä»»äºº") @Dict(dicCode = "sys_user, realname, username") private String leanPerson; /** * åç¨åå */ /**åç¨åå */ @ApiModelProperty(value = "åç¨åå ") private String leanReason; /** * 审æ¹ç±»å */ @ApiModelProperty(value = "审æ¹ç±»å") @Dict(dicCode = "approved_rejected") private String approvalDealType; /** * ååºç¶æ */ /**ååºç¶æ*/ @Excel(name = "ååºç¶æ", width = 15) @ApiModelProperty(value = "ååºç¶æ") @Dict(dicCode = "equipment_lean_out_status") private String leanStatus; /** * ååºå¼å§æ¶é´ */ /**ååºå¼å§æ¶é´*/ @ApiModelProperty(value = "ååºæ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date leanStartTime; /** * ååºå½è¿æ¶é´ */ /**ååºå½è¿æ¶é´*/ @ApiModelProperty(value = "å½è¿æ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date leanEndTime; /** * å®¡æ ¸äºº */ @Excel(name = "å®¡æ ¸äºº", width = 15) @ApiModelProperty(value = "å®¡æ ¸äºº") /**使ç¨è½¦é´å®¡æ ¸äºº*/ @Excel(name = "使ç¨è½¦é´å®¡æ ¸äºº", width = 15) @ApiModelProperty(value = "使ç¨è½¦é´å®¡æ ¸äºº") @Dict(dicCode = "sys_user, realname, username") private String approvalUser; /** * å®¡æ ¸æè§ */ @Excel(name = "å®¡æ ¸æè§", width = 15) @ApiModelProperty(value = "å®¡æ ¸æè§") private String approvalComment; /** * å®¡æ ¸æ¶é´ */ @ApiModelProperty(value = "å®¡æ ¸æ¶é´") private String useApprovalUser; /**使ç¨è½¦é´å®¡æ¹ç±»å*/ @ApiModelProperty(value = "使ç¨è½¦é´å®¡æ¹ç±»å") @Dict(dicCode = "approved_rejected") private String useApprovalDealType; /**使ç¨è½¦é´å®¡æ ¸æè§*/ @Excel(name = "使ç¨è½¦é´å®¡æ ¸æè§", width = 15) @ApiModelProperty(value = "使ç¨è½¦é´å®¡æ ¸æè§") private String useApprovalComment; /**使ç¨è½¦é´å®¡æ ¸æ¶é´*/ @ApiModelProperty(value = "使ç¨è½¦é´å®¡æ ¸æ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date approvalTime; /** * 确认人 */ @Excel(name = "确认人", width = 15) @ApiModelProperty(value = "确认人") private Date useApprovalTime; /**åç¨è½¦é´å®¡æ ¸äºº*/ @Excel(name = "åç¨è½¦é´å®¡æ ¸äºº", width = 15) @ApiModelProperty(value = "åç¨è½¦é´å®¡æ ¸äºº") @Dict(dicCode = "sys_user, realname, username") private String confirmUser; /** * 确认æè§ */ @Excel(name = "确认æè§", width = 15) @ApiModelProperty(value = "确认æè§") private String confirmComment; /** * 确认æ¶é´ */ @ApiModelProperty(value = "确认æ¶é´") private String leanOutApprovalUser; /**åç¨è½¦é´å®¡æ¹ç±»å*/ @ApiModelProperty(value = "åç¨è½¦é´å®¡æ¹ç±»å") @Dict(dicCode = "approved_rejected") private String leanOutApprovalDealType; /**åç¨è½¦é´å®¡æ ¸æè§*/ @Excel(name = "åç¨è½¦é´å®¡æ ¸æè§", width = 15) @ApiModelProperty(value = "使ç¨è½¦é´å®¡æ ¸æè§") private String leanOutApprovalComment; /**åç¨è½¦é´å®¡æ ¸æ¶é´*/ @ApiModelProperty(value = "åç¨è½¦é´å®¡æ ¸æ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date confirmTime; /** * 夿³¨ */ private Date leanOutApprovalTime; /**使ç¨è½¦é´ç¡®è®¤äºº*/ @Excel(name = "使ç¨è½¦é´ç¡®è®¤äºº", width = 15) @ApiModelProperty(value = "使ç¨è½¦é´ç¡®è®¤äºº") @Dict(dicCode = "sys_user, realname, username") private String useConfirmUser; /**确认æè§*/ @Excel(name = "使ç¨è½¦é´ç¡®è®¤æè§", width = 15) @ApiModelProperty(value = "使ç¨è½¦é´ç¡®è®¤æè§") private String useConfirmComment; /**使ç¨è½¦é´ç¡®è®¤æ¶é´*/ @ApiModelProperty(value = "使ç¨è½¦é´ç¡®è®¤æ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date useConfirmTime; /**åç¨è½¦é´ç¡®è®¤äºº*/ @Excel(name = "åç¨è½¦é´ç¡®è®¤äºº", width = 15) @ApiModelProperty(value = "åç¨è½¦é´ç¡®è®¤äºº") @Dict(dicCode = "sys_user, realname, username") private String leanOutConfirmUser; /**åç¨è½¦é´ç¡®è®¤æè§*/ @Excel(name = "åç¨è½¦é´ç¡®è®¤æè§", width = 15) @ApiModelProperty(value = "åç¨è½¦é´ç¡®è®¤æè§") private String leanOutConfirmComment; /**åç¨è½¦é´ç¡®è®¤æ¶é´*/ @ApiModelProperty(value = "åç¨è½¦é´ç¡®è®¤æ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date leanOutConfirmTime; /**夿³¨*/ @Excel(name = "夿³¨", width = 15) @ApiModelProperty(value = "夿³¨") private String remark; /** * 夿³¨ */ /**夿³¨*/ @Excel(name = "å½è¿å¤æ³¨", width = 15) @ApiModelProperty(value = "å½è¿å¤æ³¨") private String returnComment; lxzn-module-eam-common/src/main/java/org/jeecg/modules/eam/entity/EamEquipmentTransfer.java
@@ -1,8 +1,6 @@ package org.jeecg.modules.eam.entity; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; @@ -10,6 +8,7 @@ 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 java.io.Serializable; @@ -26,36 +25,10 @@ @EqualsAndHashCode(callSuper = false) @Accessors(chain = true) @ApiModel(value = "eam_equipment_transfer对象", description = "设å¤å½å±åå¨") public class EamEquipmentTransfer implements Serializable { public class EamEquipmentTransfer extends JeecgEntity implements Serializable { /** * ä¸»é® */ @TableId(type = IdType.ASSIGN_ID) @ApiModelProperty(value = "主é®") private String id; /** * å建人 */ @Excel(name = "å建人", width = 15) @ApiModelProperty(value = "å建人") private String createBy; /** * å建æ¶é´ */ @ApiModelProperty(value = "å建æ¶é´") private Date createTime; /** * æ´æ°äºº */ @Excel(name = "æ´æ°äºº", width = 15) @ApiModelProperty(value = "æ´æ°äºº") private String updateBy; /** * æ´æ°æ¶é´ */ @ApiModelProperty(value = "æ´æ°æ¶é´") private Date updateTime; private static final long serialVersionUID = -1869845900682810093L; /** * å 餿 è®° */ @@ -114,28 +87,94 @@ @ApiModelProperty(value = "å卿¥æ") private Date transferTime; /** * å®¡æ ¸äºº * 使ç¨åä½é¢å¯¼ */ @Excel(name = "å®¡æ ¸äºº", width = 15) @ApiModelProperty(value = "å®¡æ ¸äºº") @Excel(name = "使ç¨åä½é¢å¯¼", width = 15) @ApiModelProperty(value = "使ç¨åä½é¢å¯¼") @Dict(dicCode = "sys_user, realname, username") private String approvalUser; private String useLeader; /** * å®¡æ ¸ç±»å * 使ç¨åä½é¢å¯¼å®¡æ ¸ç±»å */ @ApiModelProperty(value = "å®¡æ ¸ç±»å") @ApiModelProperty(value = "使ç¨åä½é¢å¯¼å®¡æ ¸ç±»å") @Dict(dicCode = "approved_rejected") private String approvalDealType; private String useLeaderApprovalDealType; /** * å®¡æ ¸æè§ * 使ç¨åä½é¢å¯¼å®¡æ ¸æè§ */ @ApiModelProperty(value = "å®¡æ ¸æè§") private String approvalComment; @ApiModelProperty(value = "使ç¨åä½é¢å¯¼å®¡æ ¸æè§") private String useLeaderApprovalComment; /** * å®¡æ ¸æ¶é´ * 使ç¨åä½é¢å¯¼å®¡æ ¸æ¶é´ */ @ApiModelProperty(value = "å®¡æ ¸æ¶é´") private Date approvalTime; @ApiModelProperty(value = "使ç¨åä½é¢å¯¼å®¡æ ¸æ¶é´") private Date useLeaderApprovalTime; /** * è°å ¥åä½é¢å¯¼ */ @Excel(name = "è°å ¥åä½é¢å¯¼", width = 15) @ApiModelProperty(value = "è°å ¥åä½é¢å¯¼") @Dict(dicCode = "sys_user, realname, username") private String transferLeader; /** * è°å ¥åä½é¢å¯¼å®¡æ ¸ç±»å */ @ApiModelProperty(value = "è°å ¥åä½é¢å¯¼å®¡æ ¸ç±»å") @Dict(dicCode = "approved_rejected") private String transferLeaderApprovalDealType; /** * è°å ¥åä½é¢å¯¼å®¡æ ¸æè§ */ @ApiModelProperty(value = "è°å ¥åä½é¢å¯¼å®¡æ ¸æè§") private String transferLeaderApprovalComment; /** * è°å ¥åä½é¢å¯¼å®¡æ ¸æ¶é´ */ @ApiModelProperty(value = "è°å ¥åä½é¢å¯¼å®¡æ ¸æ¶é´") private Date transferLeaderApprovalTime; /** * æºå¨å确认人 */ @Excel(name = "æºå¨å确认人", width = 15) @ApiModelProperty(value = "æºå¨å确认人") @Dict(dicCode = "sys_user, realname, username") private String externalConfirm; /** * æºå¨å确认æ¶é´ */ @ApiModelProperty(value = "æºå¨å确认æ¶é´") private Date externalConfirmTime; /** * æ¯å¦éè¦å ¬å¸é¢å¯¼å®¡æ¹ */ @Excel(name = "æ¯å¦éè¦å ¬å¸é¢å¯¼å®¡æ¹", width = 15) @ApiModelProperty(value = "æ¯å¦éè¦å ¬å¸é¢å¯¼å®¡æ¹") @Dict(dicCode = "yn") private String companyLeaderCheck; /** * å ¬å¸é¢å¯¼ */ @Excel(name = "å ¬å¸é¢å¯¼", width = 15) @ApiModelProperty(value = "å ¬å¸é¢å¯¼") @Dict(dicCode = "sys_user, realname, username") private String companyLeader; /** * å ¬å¸é¢å¯¼å®¡æ ¸ç±»å */ @ApiModelProperty(value = "å ¬å¸é¢å¯¼å®¡æ ¸ç±»å") @Dict(dicCode = "approved_rejected") private String companyLeaderApprovalDealType; /** * å ¬å¸é¢å¯¼å®¡æ ¸æè§ */ @ApiModelProperty(value = "å ¬å¸é¢å¯¼å®¡æ ¸æè§") private String companyLeaderApprovalComment; /** * å ¬å¸é¢å¯¼å®¡æ ¸æ¶é´ */ @ApiModelProperty(value = "å ¬å¸é¢å¯¼å®¡æ ¸æ¶é´") private Date companyLeaderApprovalTime; /** * 夿³¨ */ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamEquipmentTransferController.java
@@ -123,9 +123,8 @@ @DeleteMapping(value = "/delete") public Result<?> delete(@RequestParam(name = "id", required = true) String id) { EamEquipmentTransfer entity = eamEquipmentTransferService.getById(id); if (entity != null) { entity.setDelFlag(CommonConstant.DEL_FLAG_1); eamEquipmentTransferService.updateById(entity); if (entity != null && !EquipmentTransferStatusEnum.WAIT_SUBMIT.name().equals(entity.getTransferStatus())) { eamEquipmentTransferService.removeById(entity); } return Result.OK("å 餿å!"); } @@ -140,13 +139,12 @@ @ApiOperation(value = "设å¤å½å±åå¨-æ¹éå é¤", notes = "设å¤å½å±åå¨-æ¹éå é¤") @DeleteMapping(value = "/deleteBatch") public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { this.eamEquipmentTransferService.removeByIds(Arrays.asList(ids.split(","))); List<String> list = Arrays.asList(ids.split(",")); list.forEach(id -> { EamEquipmentTransfer entity = eamEquipmentTransferService.getById(id); if (entity != null) { if (entity != null && !EquipmentTransferStatusEnum.WAIT_SUBMIT.name().equals(entity.getTransferStatus())) { entity.setDelFlag(CommonConstant.DEL_FLAG_1); eamEquipmentTransferService.updateById(entity); eamEquipmentTransferService.removeById(entity); } }); return Result.OK("æ¹éå 餿åï¼"); lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamSparePartRequisitionController.java
@@ -14,10 +14,8 @@ import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.DateUtils; import org.jeecg.modules.eam.constant.BusinessCodeConst; import org.jeecg.modules.eam.entity.EamEquipmentLeanOut; import org.jeecg.modules.eam.entity.EamSparePartRequisition; import org.jeecg.modules.eam.entity.EamSparePartRequisitionDetail; import org.jeecg.modules.eam.request.EamEquipmentLeanOutRequest; import org.jeecg.modules.eam.request.EamSparePartRequisitionRequest; import org.jeecg.modules.eam.service.IEamSparePartRequisitionDetailService; import org.jeecg.modules.eam.service.IEamSparePartRequisitionService; @@ -27,8 +25,6 @@ import lombok.extern.slf4j.Slf4j; import org.jeecg.common.system.base.controller.JeecgController; 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; import io.swagger.annotations.Api; lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamEquipmentLeanOut.java
ÎļþÒÑɾ³ý lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamEquipmentScrap.java
ÎļþÒÑɾ³ý lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamEquipmentSealUp.java
ÎļþÒÑɾ³ý lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamEquipmentTransfer.java
ÎļþÒÑɾ³ý lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamEquipmentSealUpMapper.java
@@ -1,15 +1,12 @@ package org.jeecg.modules.eam.mapper; import java.util.List; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.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.EamEquipmentLeanOut; import org.jeecg.modules.eam.entity.EamEquipmentSealUp; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.jeecg.modules.eam.entity.EamEquipmentSealUp; /** * @Description: 设å¤å°åå¯å° lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamEquipmentLeanOutRequest.java
@@ -43,6 +43,8 @@ * å建æ¶é´ */ @ApiModelProperty(value = "å建æ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; /** * æ´æ°äºº @@ -53,6 +55,8 @@ * æ´æ°æ¶é´ */ @ApiModelProperty(value = "æ´æ°æ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date updateTime; /** * å 餿 è®° @@ -67,22 +71,17 @@ /** * åæ®å· */ @Excel(name = "åæ®å·", width = 15) @ApiModelProperty(value = "åæ®å·") private String code; /** * åå ¥é¨é¨ */ @Excel(name = "åå ¥é¨é¨", width = 15, dictTable = "mdc_production", dicText = "production_name", dicCode = "id") @ApiModelProperty(value = "åå ¥é¨é¨") @Dict(dicCode = "mdc_production, production_name, id") private String leanDepartId; /** * åå ¥è´£ä»»äºº */ @Excel(name = "åå ¥è´£ä»»äºº", width = 15) @ApiModelProperty(value = "åå ¥è´£ä»»äºº") @Dict(dicCode = "sys_user, realname, username") private String leanPerson; /** * åç¨åå @@ -90,17 +89,9 @@ @ApiModelProperty(value = "åç¨åå ") private String leanReason; /** * 审æ¹ç±»å */ @ApiModelProperty(value = "审æ¹ç±»å") @Dict(dicCode = "approved_rejected") private String approvalDealType; /** * ååºç¶æ */ @Excel(name = "ååºç¶æ", width = 15) @ApiModelProperty(value = "ååºç¶æ") @Dict(dicCode = "equipment_lean_out_status") private String leanStatus; /** * ååºå¼å§æ¶é´ @@ -117,55 +108,93 @@ @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date leanEndTime; /** * å®¡æ ¸äºº * 使ç¨è½¦é´å®¡æ ¸äºº */ @Excel(name = "å®¡æ ¸äºº", width = 15) @ApiModelProperty(value = "å®¡æ ¸äºº") @Dict(dicCode = "sys_user, realname, username") private String approvalUser; @ApiModelProperty(value = "使ç¨è½¦é´å®¡æ ¸äºº") private String useApprovalUser; /** * å®¡æ ¸æè§ * 使ç¨è½¦é´å®¡æ¹ç±»å */ @Excel(name = "å®¡æ ¸æè§", width = 15) @ApiModelProperty(value = "å®¡æ ¸æè§") private String approvalComment; @ApiModelProperty(value = "使ç¨è½¦é´å®¡æ¹ç±»å") private String useApprovalDealType; /** * å®¡æ ¸æ¶é´ * 使ç¨è½¦é´å®¡æ ¸æè§ */ @ApiModelProperty(value = "å®¡æ ¸æ¶é´") @ApiModelProperty(value = "使ç¨è½¦é´å®¡æ ¸æè§") private String useApprovalComment; /** * 使ç¨è½¦é´å®¡æ ¸æ¶é´ */ @ApiModelProperty(value = "使ç¨è½¦é´å®¡æ ¸æ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date approvalTime; private Date useApprovalTime; /** * 确认人 * åç¨è½¦é´å®¡æ ¸äºº */ @Excel(name = "确认人", width = 15) @ApiModelProperty(value = "确认人") @Dict(dicCode = "sys_user, realname, username") private String confirmUser; @ApiModelProperty(value = "åç¨è½¦é´å®¡æ ¸äºº") private String leanOutApprovalUser; /** * åç¨è½¦é´å®¡æ¹ç±»å */ @ApiModelProperty(value = "åç¨è½¦é´å®¡æ¹ç±»å") private String leanOutApprovalDealType; /** * åç¨è½¦é´å®¡æ ¸æè§ */ @ApiModelProperty(value = "使ç¨è½¦é´å®¡æ ¸æè§") private String leanOutApprovalComment; /** * åç¨è½¦é´å®¡æ ¸æ¶é´ */ @ApiModelProperty(value = "åç¨è½¦é´å®¡æ ¸æ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date leanOutApprovalTime; /** * 使ç¨è½¦é´ç¡®è®¤äºº */ @ApiModelProperty(value = "使ç¨è½¦é´ç¡®è®¤äºº") private String useConfirmUser; /** * 确认æè§ */ @Excel(name = "确认æè§", width = 15) @ApiModelProperty(value = "确认æè§") private String confirmComment; @ApiModelProperty(value = "使ç¨è½¦é´ç¡®è®¤æè§") private String useConfirmComment; /** * 确认æ¶é´ * 使ç¨è½¦é´ç¡®è®¤æ¶é´ */ @ApiModelProperty(value = "确认æ¶é´") @ApiModelProperty(value = "使ç¨è½¦é´ç¡®è®¤æ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date confirmTime; private Date useConfirmTime; /** * åç¨è½¦é´ç¡®è®¤äºº */ @ApiModelProperty(value = "åç¨è½¦é´ç¡®è®¤äºº") private String leanOutConfirmUser; /** * åç¨è½¦é´ç¡®è®¤æè§ */ @ApiModelProperty(value = "åç¨è½¦é´ç¡®è®¤æè§") private String leanOutConfirmComment; /** * åç¨è½¦é´ç¡®è®¤æ¶é´ */ @ApiModelProperty(value = "åç¨è½¦é´ç¡®è®¤æ¶é´") @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date leanOutConfirmTime; /** * 夿³¨ */ @Excel(name = "夿³¨", width = 15) @ApiModelProperty(value = "夿³¨") private String remark; /** * 夿³¨ */ @Excel(name = "å½è¿å¤æ³¨", width = 15) @ApiModelProperty(value = "å½è¿å¤æ³¨") private String returnComment; lxzn-module-eam/src/main/java/org/jeecg/modules/eam/request/EamEquipmentTransferRequest.java
@@ -6,7 +6,6 @@ import lombok.EqualsAndHashCode; import lombok.experimental.Accessors; import org.jeecg.modules.flowable.domain.vo.FlowTaskVo; import org.jeecgframework.poi.excel.annotation.Excel; import java.io.Serializable; import java.util.Date; @@ -91,27 +90,40 @@ @ApiModelProperty(value = "å卿¥æ") private Date transferTime; /** * å®¡æ ¸äºº * 使ç¨åä½é¢å¯¼å®¡æ ¸ç±»å */ @Excel(name = "å®¡æ ¸äºº", width = 15) @ApiModelProperty(value = "å®¡æ ¸äºº") private String approvalUser; @ApiModelProperty(value = "使ç¨åä½é¢å¯¼å®¡æ ¸ç±»å") private String useLeaderApprovalDealType; /** * å®¡æ ¸æ¶é´ * 使ç¨åä½é¢å¯¼å®¡æ ¸æè§ */ @ApiModelProperty(value = "å®¡æ ¸æ¶é´") private Date approvalTime; @ApiModelProperty(value = "使ç¨åä½é¢å¯¼å®¡æ ¸æè§") private String useLeaderApprovalComment; /** * å®¡æ ¸ç±»å * è°å ¥åä½é¢å¯¼å®¡æ ¸ç±»å */ @Excel(name = "å®¡æ ¸ç±»å", width = 15) @ApiModelProperty(value = "å®¡æ ¸ç±»å") private String approvalDealType; @ApiModelProperty(value = "è°å ¥åä½é¢å¯¼å®¡æ ¸ç±»å") private String transferLeaderApprovalDealType; /** * å®¡æ ¸æè§ * è°å ¥åä½é¢å¯¼å®¡æ ¸æè§ */ @ApiModelProperty(value = "å®¡æ ¸æè§") private String approvalComment; @ApiModelProperty(value = "è°å ¥åä½é¢å¯¼å®¡æ ¸æè§") private String transferLeaderApprovalComment; /** * æ¯å¦éè¦å ¬å¸é¢å¯¼å®¡æ¹ */ @ApiModelProperty(value = "æ¯å¦éè¦å ¬å¸é¢å¯¼å®¡æ¹") private String companyLeaderCheck; /** * å ¬å¸é¢å¯¼å®¡æ ¸ç±»å */ @ApiModelProperty(value = "å ¬å¸é¢å¯¼å®¡æ ¸ç±»å") private String companyLeaderApprovalDealType; /** * å ¬å¸é¢å¯¼å®¡æ ¸æè§ */ @ApiModelProperty(value = "å ¬å¸é¢å¯¼å®¡æ ¸æè§") private String companyLeaderApprovalComment; /** * 夿³¨ */ lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamEquipmentLeanOutService.java
@@ -2,8 +2,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.jeecg.modules.eam.entity.EamEquipmentLeanOut; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.eam.entity.EamEquipmentLeanOut; import org.jeecg.modules.eam.request.EamEquipmentLeanOutQuery; import org.jeecg.modules.eam.request.EamEquipmentLeanOutRequest; lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamSparePartRequisitionService.java
@@ -1,9 +1,7 @@ package org.jeecg.modules.eam.service; import org.jeecg.modules.eam.entity.EamEquipmentLeanOut; import org.jeecg.modules.eam.entity.EamSparePartRequisition; import com.baomidou.mybatisplus.extension.service.IService; import org.jeecg.modules.eam.request.EamEquipmentLeanOutRequest; import org.jeecg.modules.eam.request.EamSparePartRequisitionRequest; import java.util.List; lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentLeanOutServiceImpl.java
@@ -22,7 +22,6 @@ import org.jeecg.modules.eam.constant.*; import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamEquipmentLeanOut; import org.jeecg.modules.eam.entity.EamEquipmentSealUp; import org.jeecg.modules.eam.mapper.EamEquipmentLeanOutMapper; import org.jeecg.modules.eam.request.EamEquipmentLeanOutQuery; import org.jeecg.modules.eam.request.EamEquipmentLeanOutRequest; @@ -210,7 +209,7 @@ throw new JeecgBootException("å½åç¨æ·æ æ³ç¼è¾åç¨è®°å½ï¼"); } UpdateWrapper<EamEquipmentLeanOut> updateWrapper = new UpdateWrapper<>(); updateWrapper.set("lean_status", EquipmentLeanOutStatusEnum.WAIT_APPROVAL.name()); updateWrapper.set("lean_status", EquipmentLeanOutStatusEnum.WAIT_APPROVAL_OUT.name()); updateWrapper.eq("id", id); updateWrapper.eq("lean_person", sysUser.getUsername()); boolean success = super.update(updateWrapper); @@ -237,7 +236,7 @@ Result result = flowDefinitionService.startProcessInstanceByKey("equipment_lean_out", variables); if (result != null) { entity.setLeanStartTime(new Date()); entity.setLeanStatus(EquipmentLeanOutStatusEnum.WAIT_APPROVAL.name()); entity.setLeanStatus(EquipmentLeanOutStatusEnum.WAIT_APPROVAL_OUT.name()); //ä¿åå·¥å equipmentLeanOutMapper.updateById(entity); return result.isSuccess(); @@ -282,7 +281,7 @@ Result result = flowDefinitionService.startProcessInstanceByKey("equipment_return", variables); if (result != null) { entity.setLeanEndTime(new Date()); entity.setLeanStatus(EquipmentLeanOutStatusEnum.WAIT_CONFIRM.name()); entity.setLeanStatus(EquipmentLeanOutStatusEnum.WAIT_CONFIRM_RETURN.name()); //ä¿åå·¥å equipmentLeanOutMapper.updateById(entity); return result.isSuccess(); @@ -303,7 +302,7 @@ if (user == null || StrUtil.isBlank(user.getId())) { throw new JeecgBootException("æªè·åå°ç»å½ç¨æ·ï¼è¯·éæ°ç»å½ååè¯ï¼"); } request.setApprovalUser(user.getUsername()); // request.setApprovalUser(user.getUsername()); // è·åæµç¨ä¸å¡è®°å½ FlowMyBusiness flowMyBusiness = flowMyBusinessService.getFlowMyBusiness(request.getInstanceId()); if (flowMyBusiness == null) { @@ -324,89 +323,146 @@ throw new JeecgBootException("设å¤ä¸åå¨ï¼è¯·æ£æ¥ï¼"); } EquipmentLeanOutStatusEnum status = EquipmentLeanOutStatusEnum.getInstance(entity.getLeanStatus()); if (status == null) { return null; } //æµç¨åé Map<String, Object> values = new HashMap<>(); switch (status) { // å®¡æ¹ case WAIT_APPROVAL: //æ§è¡å®æ values.put("dataId", entity.getId()); values.put("organization", request.getApprovalComment()); values.put("comment", request.getApprovalComment()); values.put("approvalDealType", request.getApprovalDealType()); request.setComment(request.getApprovalComment()); entity.setApprovalUser(user.getUsername());// å®¡æ ¸äºº entity.setApprovalComment(request.getApprovalComment());// å®¡æ ¸æè§ entity.setApprovalTime(new Date());// å®¡æ ¸æ¶é´ entity.setApprovalDealType(request.getApprovalDealType()); // 审æ¹ç±»å // éªè¯éè¿è¿æ¯é©³å if (request.getApprovalDealType().equals("1")) { //设置entity entity.setLeanStatus(EquipmentLeanOutStatusEnum.WAIT_RETURN.name()); List<String> userApprovalList = new ArrayList<>(Collections.singletonList(entity.getLeanPerson())); values.put("NextAssignee", userApprovalList); } else { //设置entity entity.setLeanStatus(EquipmentLeanOutStatusEnum.COMPLETE.name()); // ä¿®æ¹è®¾å¤ç¶æ equipment.setAssetStatus(AssetStatusEnum.NORMAL.name()); eamEquipmentService.updateById(equipment); } break; // å½è¿ case WAIT_RETURN: if (StringUtils.isBlank(equipment.getEquipmentManager())) { throw new JeecgBootException("è®¾å¤æªåé 设å¤ç®¡çåï¼æ æ³è¿å ¥ä¸çº§å®¡æ¹ï¼"); } List<String> userApprovalList = new ArrayList<>(Collections.singletonList(entity.getLeanPerson())); userApprovalList.add(equipment.getEquipmentManager()); values.put("dataId", entity.getId()); values.put("organization", request.getReturnComment()); values.put("comment", request.getReturnComment()); values.put("NextAssignee", userApprovalList); values.put("approvalDealType", "1"); request.setComment(request.getReturnComment()); entity.setLeanEndTime(new Date()); //å½è¿æ¶é´ //设置entity entity.setLeanStatus(EquipmentLeanOutStatusEnum.WAIT_CONFIRM.name()); entity.setApprovalUser(user.getUsername());// å®¡æ ¸äºº entity.setLeanEndTime(new Date());// å½è¿æ¶é´ entity.setReturnComment(request.getReturnComment());// å½è¿å¤æ³¨ break; // å½è¿ç¡®è®¤ case WAIT_CONFIRM: values.put("approvalDealType", "1"); values.put("dataId", entity.getId()); values.put("organization", request.getConfirmComment()); values.put("comment", request.getConfirmComment()); request.setComment(request.getConfirmComment()); //设置entity entity.setApprovalUser(user.getUsername());// å®¡æ ¸äºº entity.setLeanStatus(EquipmentLeanOutStatusEnum.COMPLETE.name()); entity.setConfirmUser(user.getUsername()); entity.setConfirmComment(request.getConfirmComment()); entity.setConfirmTime(new Date()); // ä¿®æ¹è®¾å¤ç¶æ0 equipment.setAssetStatus(AssetStatusEnum.NORMAL.name()); eamEquipmentService.updateById(equipment); break; } request.setValues(values); //设置æµç¨åé setupProcessVariables(request, entity, user, equipment); // 宿æµç¨ä»»å¡ Result result = flowTaskService.complete(request); if (!result.isSuccess()) { throw new JeecgBootException("审æ¹å¤±è´¥ï¼è¯·å·æ°æ¥çï¼"); } // æ ¹æ®ä»»å¡å®æç»ææ´æ°å·¥åç¶æ updateOrderStatus(result, request, entity, user, equipment); //ä¿åå·¥å equipmentLeanOutMapper.updateById(entity); return entity; } /** * æ´æ°å·¥åç¶æ * @param result * @param request * @param entity * @param user * @param equipment */ private void updateOrderStatus(Result result, EamEquipmentLeanOutRequest request, EamEquipmentLeanOut entity, LoginUser user, EamEquipment equipment) { if (result.isSuccess()) { EquipmentLeanOutStatusEnum status = EquipmentLeanOutStatusEnum.getInstance(entity.getLeanStatus()); switch (status) { case WAIT_APPROVAL_OUT: entity.setUseApprovalUser(user.getUsername()); entity.setUseApprovalComment(request.getUseApprovalComment()); entity.setUseApprovalTime(new Date()); entity.setUseApprovalDealType(request.getUseApprovalDealType()); if (CommonConstant.APPROVED.equals(request.getUseApprovalDealType())) { entity.setLeanStatus(EquipmentLeanOutStatusEnum.WAIT_APPROVAL_IN.name()); } else { entity.setLeanStatus(EquipmentLeanOutStatusEnum.REJECT.name()); equipment.setAssetStatus(AssetStatusEnum.LEAN_OUT.name()); eamEquipmentService.updateById(equipment); } request.setComment("使ç¨åä½åºå审æ¹ç»æ"); break; case WAIT_APPROVAL_IN: entity.setLeanOutApprovalUser(user.getUsername()); entity.setLeanOutApprovalComment(request.getLeanOutApprovalComment()); entity.setLeanOutApprovalTime(new Date()); entity.setLeanOutApprovalDealType(request.getLeanOutApprovalDealType()); if (CommonConstant.APPROVED.equals(request.getLeanOutApprovalDealType())) { entity.setLeanStatus(EquipmentLeanOutStatusEnum.WAIT_RETURN.name()); } else { entity.setLeanStatus(EquipmentLeanOutStatusEnum.REJECT.name()); equipment.setAssetStatus(AssetStatusEnum.LEAN_OUT.name()); eamEquipmentService.updateById(equipment); } request.setComment("åç¨åä½å ¥å审æ¹ç»æ"); break; case WAIT_CONFIRM_RETURN: entity.setLeanOutConfirmUser(user.getUsername()); entity.setLeanOutConfirmComment(request.getLeanOutConfirmComment()); entity.setLeanOutConfirmTime(new Date()); entity.setLeanStatus(EquipmentLeanOutStatusEnum.WAIT_CONFIRM_BORROW.name()); request.setComment("åç¨åä½å½è¿å®¡æ¹ç»æ"); break; case WAIT_CONFIRM_BORROW: entity.setUseConfirmUser(user.getUsername()); entity.setUseConfirmComment(request.getUseConfirmComment()); entity.setUseConfirmTime(new Date()); entity.setLeanStatus(EquipmentLeanOutStatusEnum.COMPLETE.name()); equipment.setAssetStatus(AssetStatusEnum.NORMAL.name()); eamEquipmentService.updateById(equipment); request.setComment("使ç¨åä½å½è¿ç¡®è®¤ç»æ"); break; } } } /** * æ´æ°æµç¨ç¶æ * * @param request * @param entity * @param user * @param equipment */ private void setupProcessVariables(EamEquipmentLeanOutRequest request, EamEquipmentLeanOut entity, LoginUser user, EamEquipment equipment) { Map<String, Object> values = new HashMap<>(); List<UserSelector> userSelectors; List<String> userApprovalList; EquipmentLeanOutStatusEnum status = EquipmentLeanOutStatusEnum.getInstance(entity.getLeanStatus()); switch (status) { case WAIT_APPROVAL_OUT: // 使ç¨åä½åºå审æ¹å®æ values.put("dataId", entity.getId()); values.put("organization", request.getUseApprovalComment()); values.put("comment", request.getUseApprovalComment()); if (CommonConstant.APPROVED.equals(request.getUseApprovalDealType())) { // éè¿ values.put("approvalDealType", request.getUseApprovalDealType()); // è·åä¸ä¸æ¥å®¡æ¹äºº userSelectors = sysUserService.selectOperatorList(entity.getLeanDepartId(), BusinessCodeConst.PCR0008); if (CollectionUtil.isEmpty(userSelectors)) { throw new JeecgBootException("æªåé åç¨è½¦é´åä½é¢å¯¼ï¼æ æ³è¿å ¥ä¸çº§å®¡æ¹ï¼"); } userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); values.put("NextAssignee", userApprovalList); } else { // 驳å values.put("approvalDealType", request.getUseApprovalDealType()); } break; case WAIT_APPROVAL_IN: // åç¨åä½å ¥å审æ¹å®æ values.put("dataId", entity.getId()); values.put("organization", request.getLeanOutApprovalComment()); values.put("comment", request.getLeanOutApprovalComment()); break; case WAIT_CONFIRM_RETURN: // å½è¿åä½ç¡®è®¤å®æ values.put("dataId", entity.getId()); values.put("organization", request.getLeanOutConfirmComment()); values.put("comment", request.getLeanOutConfirmComment()); // è·åä¸ä¸æ¥å®¡æ¹äºº userSelectors = sysUserService.selectOperatorList(equipment.getOrgId(), BusinessCodeConst.PCR0008); if (CollectionUtil.isEmpty(userSelectors)) { throw new JeecgBootException("æªåé 使ç¨è½¦é´åä½é¢å¯¼ï¼æ æ³è¿å ¥ä¸çº§å®¡æ¹ï¼"); } userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); values.put("NextAssignee", userApprovalList); break; case WAIT_CONFIRM_BORROW: // ååºæ¹ç¡®è®¤å®æ values.put("dataId", entity.getId()); values.put("organization", request.getUseConfirmComment()); values.put("comment", request.getUseConfirmComment()); break; } request.setValues(values); } @Override public void afterFlowHandle(FlowMyBusiness business) { lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamEquipmentTransferServiceImpl.java
@@ -88,8 +88,8 @@ //没æéæ©è®¾å¤ï¼æ ¹æ®è½¦é´è¿æ»¤è®¾å¤ queryWrapper.exists("select 1 from mdc_user_production t where t.user_id={0} and t.pro_id=e.org_id ", sysUser.getId()); } //æ§å¶å¾ æäº¤ç¶æçæ°æ®åªè½æ¬äººæ¥ç queryWrapper.and(i -> i.ne("wmo.transfer_status", EquipmentTransferStatusEnum.WAIT_SUBMIT).or().eq("wmo.report_user", sysUser.getUsername())); // æ§å¶å¾ æäº¤ç¶æçæ°æ®åªè½æ¬äººæ¥ç // queryWrapper.and(i -> i.ne("wmo.transfer_status", EquipmentTransferStatusEnum.WAIT_SUBMIT).or().eq("wmo.report_user", sysUser.getUsername())); //æ¥è¯¢æ¡ä»¶è¿æ»¤ if (query != null) { if (StringUtils.isNotBlank(query.getEquipmentId())) { @@ -144,7 +144,6 @@ throw new JeecgBootException("å½å设å¤å±äºæ¤è½¦é´ï¼ä¸éè¦åå¨ï¼"); } request.setOldDepartId(equipment.getOrgId()); request.setReportUser(sysUser.getUsername()); return equipmentTransferMapper.insert(request) > 0; } @@ -156,47 +155,43 @@ throw new JeecgBootException("è¦æäº¤çæ°æ®ä¸åå¨ï¼è¯·å·æ°éè¯ï¼"); } if (!EquipmentTransferStatusEnum.WAIT_SUBMIT.name().equals(entity.getTransferStatus())) { throw new JeecgBootException("å½åæ°æ®ç¶æä¸å 许ç¼è¾ï¼"); throw new JeecgBootException("该工åå·²è¿è¡è¿æäº¤ï¼"); } //æ£æ¥è®¾å¤ EamEquipment equipment = eamEquipmentService.getById(entity.getEquipmentId()); if (equipment == null) { throw new JeecgBootException("设å¤ä¸åå¨ï¼"); throw new JeecgBootException("设å¤ä¸åå¨ï¼æäº¤å¤±è´¥ï¼"); } // åé ç»ä½¿ç¨åä½é¢å¯¼ List<UserSelector> userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0008); if (CollectionUtil.isEmpty(userSelectors)) { throw new JeecgBootException("è®¾å¤æªåé ç»åä½é¢å¯¼ï¼æ æ³è¿å ¥ä¸çº§å®¡æ¹ï¼"); } List<String> usernames = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal(); if (sysUser == null) { throw new JeecgBootException("å½åç¨æ·æ æ³ç¼è¾è½¬è®©è®°å½ï¼"); if (sysUser == null || !BusinessCodeConst.PCR0004.equals(sysUser.getPost())) { throw new JeecgBootException("䏿¯è®¾å¤ç®¡çåï¼æ æ³æäº¤æ¤å·¥åï¼"); } UpdateWrapper<EamEquipmentTransfer> updateWrapper = new UpdateWrapper<>(); updateWrapper.set("transfer_status", EquipmentSealUpStatusEnum.WAIT_SUBMIT.name()); updateWrapper.eq("id", id); updateWrapper.eq("report_user", sysUser.getUsername()); boolean success = super.update(updateWrapper); if (success) { equipment.setAssetStatus(AssetStatusEnum.DEALT.name()); // 设å¤è½¬è®© eamEquipmentService.updateById(equipment); } entity.setTransferTime(new Date()); entity.setReportUser(sysUser.getUsername()); entity.setTransferStatus(EquipmentTransferStatusEnum.WAIT_USE_LEADER_CHECK.name()); //ä¿åå·¥å equipmentTransferMapper.updateById(entity); //å¯å¨å®¡æ¹æµç¨ flowCommonService.initActBusiness("å·¥åå·:" + entity.getCode() + ";设å¤ç¼å·: " + equipment.getEquipmentCode() + ";è¿è¡è®¾å¤è½¬è®©", flowCommonService.initActBusiness("å·¥åå·:" + entity.getCode() + ";设å¤ç¼å·: " + equipment.getEquipmentCode() + ";è¿è¡è®¾å¤è°æ¨", entity.getId(), "IEamEquipmentTransferService", "equipment_transfer", null); Map<String, Object> variables = new HashMap<>(); variables.put("dataId", entity.getId()); variables.put("organization", entity.getTransferReason()); variables.put("comment", entity.getTransferReason()); variables.put("proofreading", true); // åé ç»è®¾å¤ç®¡çå List<UserSelector> userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0004); if (CollectionUtil.isEmpty(userSelectors)) { throw new JeecgBootException("è®¾å¤æªåé ç»è®¾å¤ç®¡çåï¼æ æ³è¿å ¥ä¸çº§å®¡æ¹ï¼"); } List<String> usernames = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); variables.put("NextAssignee", usernames); Result result = flowDefinitionService.startProcessInstanceByKey("equipment_transfer", variables); if (result != null) { entity.setTransferTime(new Date()); entity.setTransferStatus(EquipmentTransferStatusEnum.WAIT_CHECK.name()); //ä¿åå·¥å equipmentTransferMapper.updateById(entity); equipment.setAssetStatus(AssetStatusEnum.DEALT.name()); // 设å¤è°æ¨ eamEquipmentService.updateById(equipment); return result.isSuccess(); } return true; @@ -215,7 +210,6 @@ if (user == null || StrUtil.isBlank(user.getId())) { throw new JeecgBootException("æªè·åå°ç»å½ç¨æ·ï¼è¯·éæ°ç»å½ååè¯ï¼"); } request.setApprovalUser(user.getUsername()); // è·åæµç¨ä¸å¡è®°å½ FlowMyBusiness flowMyBusiness = flowMyBusinessService.getFlowMyBusiness(request.getInstanceId()); if (flowMyBusiness == null) { @@ -236,50 +230,182 @@ throw new JeecgBootException("设å¤ä¸åå¨ï¼è¯·æ£æ¥ï¼"); } EquipmentTransferStatusEnum status = EquipmentTransferStatusEnum.getInstance(entity.getTransferStatus()); if (status == null) { return null; } //æµç¨åé Map<String, Object> values = new HashMap<>(); // å®¡æ¹ if (status == EquipmentTransferStatusEnum.WAIT_CHECK) {//æ§è¡å®æ values.put("dataId", entity.getId()); values.put("organization", request.getApprovalComment()); values.put("comment", request.getApprovalComment()); values.put("approvalDealType", request.getApprovalDealType()); request.setComment(request.getApprovalComment()); entity.setApprovalUser(user.getUsername());// å®¡æ ¸äºº entity.setApprovalComment(request.getApprovalComment());// å®¡æ ¸æè§ entity.setApprovalTime(new Date());// å®¡æ ¸æ¶é´ entity.setApprovalDealType(request.getApprovalDealType()); // 审æ¹ç±»å // éªè¯éè¿è¿æ¯é©³å if (request.getApprovalDealType().equals("1")) { //设置entity entity.setTransferStatus(EquipmentTransferStatusEnum.COMPLETE.name()); List<String> userApprovalList = new ArrayList<>(Collections.singletonList(entity.getReportUser())); values.put("NextAssignee", userApprovalList); } else { //设置entity entity.setTransferStatus(EquipmentTransferStatusEnum.COMPLETE.name()); } // ä¿®æ¹è®¾å¤ç¶æ equipment.setAssetStatus(AssetStatusEnum.NORMAL.name()); entity.setApprovalUser(user.getUsername()); entity.setApprovalComment(request.getApprovalComment()); entity.setApprovalTime(new Date()); eamEquipmentService.updateById(equipment); } request.setValues(values); //设置æµç¨åé setupProcessVariables(request, entity, user, equipment); // 宿æµç¨ä»»å¡ Result result = flowTaskService.complete(request); if (!result.isSuccess()) { throw new JeecgBootException("审æ¹å¤±è´¥ï¼è¯·å·æ°æ¥çï¼"); } // æ ¹æ®ä»»å¡å®æç»ææ´æ°å·¥åç¶æ updateOrderStatus(result, request, entity, user, equipment); //ä¿åå·¥å equipmentTransferMapper.updateById(entity); return entity; } /** * 设置工åä¿¡æ¯ * * @param result * @param request * @param entity * @param user */ private void updateOrderStatus(Result result, EamEquipmentTransferRequest request, EamEquipmentTransfer entity, LoginUser user, EamEquipment equipment) { if (result.isSuccess()) { EquipmentTransferStatusEnum status = EquipmentTransferStatusEnum.getInstance(entity.getTransferStatus()); switch (status) { case WAIT_USE_LEADER_CHECK: // 使ç¨åä½é¢å¯¼å®¡æ¹ç»æ entity.setUseLeader(user.getUsername()); entity.setUseLeaderApprovalComment(request.getUseLeaderApprovalComment()); entity.setUseLeaderApprovalTime(new Date()); entity.setUseLeaderApprovalDealType(request.getUseLeaderApprovalDealType()); if (CommonConstant.APPROVED.equals(request.getUseLeaderApprovalDealType())) { entity.setTransferStatus(EquipmentTransferStatusEnum.WAIT_TRANSFER_LEADER_CHECK.name()); } else { entity.setTransferStatus(EquipmentTransferStatusEnum.REJECT.name()); equipment.setAssetStatus(AssetStatusEnum.NORMAL.name()); // 设å¤è°æ¨ eamEquipmentService.updateById(equipment); } break; case WAIT_TRANSFER_LEADER_CHECK: // è°å ¥åä½é¢å¯¼å®¡æ¹ç»æ entity.setTransferLeader(user.getUsername()); entity.setTransferLeaderApprovalComment(request.getTransferLeaderApprovalComment()); entity.setTransferLeaderApprovalTime(new Date()); entity.setTransferLeaderApprovalDealType(request.getTransferLeaderApprovalDealType()); if (CommonConstant.APPROVED.equals(request.getTransferLeaderApprovalDealType())) { entity.setTransferStatus(EquipmentTransferStatusEnum.WAIT_EXTERNAL_CONFIRM.name()); } else { entity.setTransferStatus(EquipmentTransferStatusEnum.REJECT.name()); equipment.setAssetStatus(AssetStatusEnum.NORMAL.name()); // 设å¤è°æ¨ eamEquipmentService.updateById(equipment); } break; case WAIT_EXTERNAL_CONFIRM: // æºå¨åç¡®è®¤ç»æ entity.setExternalConfirm(user.getUsername()); entity.setExternalConfirmTime(new Date()); entity.setCompanyLeaderCheck(request.getCompanyLeaderCheck()); if (CommonConstant.YN_1.equals(request.getCompanyLeaderCheck())) { entity.setTransferStatus(EquipmentTransferStatusEnum.WAIT_COMPANY_LEADER_CHECK.name()); } else { entity.setTransferStatus(EquipmentTransferStatusEnum.COMPLETE.name()); equipment.setOrgId(entity.getNewDepartId()); equipment.setAssetStatus(AssetStatusEnum.NORMAL.name()); // 设å¤è°æ¨ eamEquipmentService.updateById(equipment); } break; case WAIT_COMPANY_LEADER_CHECK: // å ¬å¸é¢å¯¼å®¡æ¹ç»æ entity.setCompanyLeader(user.getUsername()); entity.setCompanyLeaderApprovalTime(new Date()); entity.setCompanyLeaderApprovalComment(request.getCompanyLeaderApprovalComment()); entity.setCompanyLeaderApprovalDealType(request.getCompanyLeaderApprovalDealType()); if (CommonConstant.APPROVED.equals(request.getCompanyLeaderApprovalDealType())) { entity.setTransferStatus(EquipmentTransferStatusEnum.COMPLETE.name()); equipment.setOrgId(entity.getNewDepartId()); } else { entity.setTransferStatus(EquipmentTransferStatusEnum.REJECT.name()); } equipment.setAssetStatus(AssetStatusEnum.NORMAL.name()); // 设å¤è°æ¨ eamEquipmentService.updateById(equipment); break; } } } /** * 设置æµç¨åé * * @param request * @param entity * @param user * @param equipment */ private void setupProcessVariables(EamEquipmentTransferRequest request, EamEquipmentTransfer entity, LoginUser user, EamEquipment equipment) { Map<String, Object> values = new HashMap<>(); List<UserSelector> userSelectors; List<String> userApprovalList; EquipmentTransferStatusEnum status = EquipmentTransferStatusEnum.getInstance(entity.getTransferStatus()); switch (status) { case WAIT_USE_LEADER_CHECK: // 使ç¨åä½é¢å¯¼å®¡æ¹ç»æ values.put("dataId", entity.getId()); values.put("organization", request.getUseLeaderApprovalComment()); values.put("comment", request.getUseLeaderApprovalComment()); if (CommonConstant.APPROVED.equals(request.getUseLeaderApprovalDealType())) { // éè¿ values.put("approvalDealType", request.getUseLeaderApprovalDealType()); // è·åä¸ä¸æ¥å®¡æ¹äºº userSelectors = sysUserService.selectOperatorList(entity.getNewDepartId(), BusinessCodeConst.PCR0008); if (CollectionUtil.isEmpty(userSelectors)) { throw new JeecgBootException("æªåé è°å ¥åä½é¢å¯¼ï¼æ æ³è¿å ¥ä¸çº§å®¡æ¹ï¼"); } userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); values.put("NextAssignee", userApprovalList); } else { // 驳å values.put("approvalDealType", request.getUseLeaderApprovalDealType()); } request.setComment("使ç¨åä½é¢å¯¼å®¡æ¹ç»æ"); break; case WAIT_TRANSFER_LEADER_CHECK: // è°å ¥åä½é¢å¯¼å®¡æ¹ç»æ values.put("dataId", entity.getId()); values.put("organization", request.getTransferLeaderApprovalComment()); values.put("comment", request.getTransferLeaderApprovalComment()); if (CommonConstant.APPROVED.equals(request.getTransferLeaderApprovalDealType())) { // éè¿ values.put("approvalDealType", request.getTransferLeaderApprovalDealType()); // è·åä¸ä¸æ¥å®¡æ¹äºº userSelectors = sysUserService.selectOperatorList(equipment.getEquipmentCode(), equipment.getOrgId(), BusinessCodeConst.PCR0006); if (CollectionUtil.isEmpty(userSelectors)) { throw new JeecgBootException("è®¾å¤æªåé ç»æºå¨åï¼æ æ³è¿å ¥ä¸çº§å®¡æ¹ï¼"); } userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); values.put("NextAssignee", userApprovalList); } else { // 驳å values.put("approvalDealType", request.getTransferLeaderApprovalDealType()); } request.setComment("è°å ¥åä½é¢å¯¼å®¡æ¹ç»æ"); break; case WAIT_EXTERNAL_CONFIRM: // æºå¨åç¡®è®¤ç»æ values.put("dataId", entity.getId()); values.put("organization", "æºå¨åç¡®è®¤ç»æ"); values.put("comment", "æºå¨åç¡®è®¤ç»æ"); if (CommonConstant.YN_1.equals(request.getCompanyLeaderCheck())) { // éè¦ values.put("confirmation", request.getCompanyLeaderCheck()); // æµç¨è½¬å°å ¬å¸é¢å¯¼å®¡æ¹ // è·åä¸ä¸æ¥å®¡æ¹äºº userSelectors = sysUserService.selectOperatorList(BusinessCodeConst.PCR0009); if (CollectionUtil.isEmpty(userSelectors)) { throw new JeecgBootException("è®¾å¤æªåé ç»å ¬å¸é¢å¯¼ï¼æ æ³è¿å ¥ä¸çº§å®¡æ¹ï¼"); } userApprovalList = userSelectors.stream().map(UserSelector::getUsername).collect(Collectors.toList()); values.put("NextAssignee", userApprovalList); } else { values.put("confirmation", request.getCompanyLeaderCheck()); } request.setComment("æºå¨åç¡®è®¤ç»æ"); break; case WAIT_COMPANY_LEADER_CHECK: // å ¬å¸é¢å¯¼å®¡æ¹ç»æ values.put("dataId", entity.getId()); values.put("organization", request.getCompanyLeaderApprovalComment()); values.put("comment", request.getCompanyLeaderApprovalComment()); request.setComment("å ¬å¸é¢å¯¼å®¡æ¹ç»æ"); break; } request.setValues(values); } @Override @@ -331,7 +457,10 @@ @Override public List<String> flowCandidateUsernamesOfTask(String taskNameId, Map<String, Object> values) { return null; //ä¸å¡æ¯å¦å¹²é¢æµç¨ï¼ä¸å¡å¹²é¢ï¼æµç¨å¹²é¢ï¼æå®äººåè¿è¡å¤ç //è·åä¸ä¸æ¥å¤ç人 Object object = values.get("NextAssignee"); return (List<String>) object; } /** lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamSparePartRequisitionServiceImpl.java
@@ -6,18 +6,13 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; 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.exception.JeecgBootException; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.modules.eam.constant.AssetStatusEnum; import org.jeecg.modules.eam.constant.BusinessCodeConst; import org.jeecg.modules.eam.constant.EquipmentLeanOutStatusEnum; import org.jeecg.modules.eam.entity.EamEquipment; import org.jeecg.modules.eam.entity.EamEquipmentLeanOut; import org.jeecg.modules.eam.entity.EamSparePartRequisition; import org.jeecg.modules.eam.entity.EamSparePartRequisitionDetail; import org.jeecg.modules.eam.mapper.EamSparePartRequisitionMapper; lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/ISysUserService.java
@@ -333,10 +333,18 @@ /** * éæ©ç¨æ· * @param productionId éæ©ç车é´ID * @param positionCode å²ä½ç¼å· * @return */ List<UserSelector> selectOperatorList( String positionCode); List<UserSelector> selectOperatorList(String productionId, String positionCode); /** * éæ©ç¨æ· * @param positionCode å²ä½ç¼å· * @return */ List<UserSelector> selectOperatorList(String positionCode); /** * æ ¹æ®ç¨æ·åæ¹éè·åçå®å§åæ å° lxzn-module-system/lxzn-system-biz/src/main/java/org/jeecg/modules/system/service/impl/SysUserServiceImpl.java
@@ -765,6 +765,21 @@ } @Override public List<UserSelector> selectOperatorList(String productionId, String positionCode) { LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SysUser::getPost, positionCode); if(StringUtils.isNotBlank(productionId)) { queryWrapper.exists("select 1 from mdc_user_production t where t.user_id=sys_user.id and t.pro_id={0}", productionId); } queryWrapper.eq(SysUser::getDelFlag, CommonConstant.DEL_FLAG_0); queryWrapper.eq(SysUser::getStatus, CommonConstant.DEL_FLAG_1); queryWrapper.orderByDesc(SysUser::getId); List<SysUser> sysUsers = userMapper.selectList(queryWrapper); List<UserSelector> collect = sysUsers.stream().map(user -> new UserSelector(user.getId(), user.getUsername(), user.getRealname())).collect(Collectors.toList()); return collect; } @Override public List<UserSelector> selectOperatorList(String positionCode) { LambdaQueryWrapper<SysUser> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SysUser::getPost, positionCode);