| | |
| | | package org.springblade.mdm.program.entity; |
| | | |
| | | import com.alibaba.excel.util.StringUtils; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | import org.springblade.core.mp.base.BizEntity; |
| | | import org.springblade.mdm.flow.entity.FlowProgramFile; |
| | | |
| | | import java.util.Date; |
| | | |
| | | |
| | | @Setter |
| | | @Getter |
| | |
| | | */ |
| | | public static final String TYPE_PROGRAM_FILE = "70"; |
| | | |
| | | /** |
| | | * 未锁定 |
| | | */ |
| | | public static final int UNLOCK = 0; |
| | | /** |
| | | * 已锁定 |
| | | */ |
| | | public static final int LOCKED = 1; |
| | | |
| | | /** |
| | | * 文件节点文件类型:程序 |
| | | */ |
| | | public static final String FILE_CATEGOAY_PROGRAM = "program"; |
| | | /** |
| | | * 文件节点文件类型:其他 |
| | | */ |
| | | public static final String FILE_CATEGORY_OTHER = "other"; |
| | | /** |
| | | * 文件节点文件类型:子程序 |
| | | */ |
| | | public static final String FILE_CATEGORY_SUBPROGRAM = "subprogram"; |
| | | |
| | | private String name; |
| | | private Long parentId; |
| | | |
| | |
| | | */ |
| | | private String machineCode; |
| | | |
| | | |
| | | |
| | | /** |
| | | * 文件类型,只有 |
| | | */ |
| | | //private String fileCategory; |
| | | /** |
| | | * 工序,如“精铣” |
| | | */ |
| | |
| | | /** |
| | | * 是否固化 |
| | | */ |
| | | private Integer isCured; |
| | | private Integer isCured = 0; |
| | | /** |
| | | * 过期日期 |
| | | */ |
| | | //private LocalDate expireDate; |
| | | private Date expireDate; |
| | | /** |
| | | * 是否锁定 |
| | | */ |
| | |
| | | private String productModel; |
| | | |
| | | /** |
| | | * 程序编号(程序包名节点需要) |
| | | */ |
| | | private String programNo; |
| | | |
| | | /** |
| | | * 流程程序文件id,只有程序文件(70)类型的节点有此值 |
| | | */ |
| | | private Long flowProgramFileId; |
| | |
| | | * 审批时的流程实例id,只有程序包节点有这个字段值 |
| | | */ |
| | | private String processInstanceId; |
| | | /** |
| | | * 偏离单号 |
| | | */ |
| | | private String deviation; |
| | | /** |
| | | * 版本号,更新一次(入升版,dnc导入),就会+1 |
| | | */ |
| | | private Integer versionNumber = 1; |
| | | |
| | | transient FlowProgramFile flowProgramFile; |
| | | |
| | | /** |
| | | * 是否是偏离程序 |
| | | * @return 是否偏离 |
| | | */ |
| | | public boolean isDeviationProgram(){ |
| | | return StringUtils.isNotBlank(this.deviation); |
| | | } |
| | | /** |
| | | * 根据当前版本号,获取新增版本号 |
| | | * @return 升级后的版本号 |
| | | */ |
| | | public int genNewVersionNumber(){ |
| | | if(this.versionNumber == null){ |
| | | return 1; |
| | | }else{ |
| | | return this.versionNumber + 1; |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 是否在有效期内 |
| | | * @return 是否 |
| | | */ |
| | | public boolean withinValidityPeriod() { |
| | | if(expireDate == null){ |
| | | return true; |
| | | } |
| | | return expireDate.getTime() > System.currentTimeMillis(); |
| | | } |
| | | |
| | | /** |
| | | * 是否已经固化 |
| | | * @return 是否 |
| | | */ |
| | | public boolean hasCured() { |
| | | return this.isCured != null && this.isCured == 1; |
| | | } |
| | | |
| | | public void upgradeVersionNumber() { |
| | | this.versionNumber = genNewVersionNumber(); |
| | | } |
| | | |
| | | /** |
| | | * 锁定节点 |
| | | */ |
| | | public void lock() { |
| | | this.isLocked = LOCKED; |
| | | } |
| | | |
| | | public void unlock() { |
| | | this.isLocked = UNLOCK; |
| | | } |
| | | } |