diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseOrder.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseOrder.java index dbbfd15..aa093ab 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseOrder.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseOrder.java @@ -1,11 +1,15 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import cn.estsh.i3plus.pojo.aps.common.BeanRelation; +import cn.estsh.i3plus.pojo.aps.holders.EBaseOrder; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; import javax.persistence.Column; import java.util.Date; +import java.util.List; /** * @Description :订单基类 @@ -48,4 +52,8 @@ public class BaseOrder extends BaseAPS { @Column(name="RECEIVE_DATE") @ApiParam(value ="接单日期") private Date receiveDate; + + public List getWorks() { + return BeanRelation.list(this, EBaseOrder.Works); + } } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseRule.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseRule.java index 4c22dbe..451a8f4 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseRule.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseRule.java @@ -1,5 +1,7 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; + /** * @Description :规则基类 * @Reference : diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DataLink.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DataLink.java new file mode 100644 index 0000000..3486531 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DataLink.java @@ -0,0 +1,53 @@ +package cn.estsh.i3plus.pojo.aps.bean; + +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import cn.estsh.i3plus.pojo.aps.enums.DATA_LINK_TYPE; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description :数据集成数据连接信息 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2019-09-23 + * @Modify: + **/ +@Data +@Entity +@Table(name = "APS_DATA_LINK") +@Api("数据集成数据连接信息") +public class DataLink extends BaseAPS { + @Column(name="NAME") + @ApiParam(value ="编码") + private String name; + + @Column(name="TYPE") + @ApiParam(value ="链接类型") + private DATA_LINK_TYPE type; + + @Column(name="PATH") + @ApiParam(value ="IP/文件路径") + private String path; + + @Column(name="PORT") + @ApiParam(value ="端口") + private Integer port; + + @Column(name="DB_NAME") + @ApiParam(value ="数据库名") + private String dbName; + + @Column(name="USER_NAME") + @ApiParam(value ="用户名") + private String userName; + + @Column(name="PASSWORD") + @ApiParam(value ="密码") + private String password; + +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DayShift.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DayShift.java index 8e4f1e5..ff9e9c0 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DayShift.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/DayShift.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ExportDetail.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ExportDetail.java new file mode 100644 index 0000000..d6926c9 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ExportDetail.java @@ -0,0 +1,54 @@ +package cn.estsh.i3plus.pojo.aps.bean; + +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import cn.estsh.i3plus.pojo.aps.common.BeanRelation; +import cn.estsh.i3plus.pojo.aps.holders.EExportDetail; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description :数据导出明细 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2019-09-23 + * @Modify: + **/ +@Data +@Entity +@Table(name = "APS_EXPORT_DETAIL") +@Api("数据导出明细") +public class ExportDetail extends BaseAPS { + @Column(name="FILTER") + @ApiParam(value ="筛选") + private String filter; + + @Column(name="SORT_BY") + @ApiParam(value ="排序") + private String sortBy; + + @Column(name="OUT_NAME") + @ApiParam(value ="外部表名") + private String outName; + + @Column(name="IN_NAME") + @ApiParam(value ="内部表名") + private String inName; + + @Column(name="PROJECT_ID") + @ApiParam(value ="导出项目ID") + private Long projectId; + + public ExportProject getProject() { + return BeanRelation.get(this, EExportDetail.Project); + } + + public void setProject(ExportProject project) { + this.projectId = project != null ? project.getId() : 0l; + BeanRelation.set(this, EExportDetail.Project, project); + } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ExportProject.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ExportProject.java new file mode 100644 index 0000000..7438e17 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ExportProject.java @@ -0,0 +1,47 @@ +package cn.estsh.i3plus.pojo.aps.bean; + +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import cn.estsh.i3plus.pojo.aps.common.BeanRelation; +import cn.estsh.i3plus.pojo.aps.holders.EExportProject; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import java.util.List; + +/** + * @Description :数据导出明细集合 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2019-09-23 + * @Modify: + **/ +@Data +@Entity +@Table(name = "APS_EXPORT_PROJECT") +@Api("数据导出明细集合") +public class ExportProject extends BaseAPS { + @Column(name="NAME") + @ApiParam(value ="标识名") + private String name; + + @Column(name="LINK_ID") + @ApiParam(value ="数据源连接") + private Long linkId; + + public DataLink getLink() { + return BeanRelation.get(this, EExportProject.Link); + } + + public void setLink(DataLink link) { + this.linkId = link != null ? link.getId() : 0l; + BeanRelation.set(this, EExportProject.Link, link); + } + + public List getDetails() { + return BeanRelation.list(this, EExportProject.Details); + } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FieldInfo.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FieldInfo.java index 639004f..664b43b 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FieldInfo.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/FieldInfo.java @@ -1,14 +1,17 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseCode; import cn.estsh.i3plus.pojo.aps.enums.FIELD_TYPE; import cn.estsh.i3plus.pojo.base.bean.BaseBean; import com.fasterxml.jackson.annotation.JsonIgnore; import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; import lombok.Data; import lombok.EqualsAndHashCode; import org.hibernate.annotations.DynamicInsert; import org.hibernate.annotations.DynamicUpdate; +import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; import java.lang.reflect.Method; @@ -28,14 +31,44 @@ import java.lang.reflect.Method; @Table(name="APS_FIELD_INFO") @Api("字段信息") public class FieldInfo extends BaseCode { + @Column(name="CLASS_NAME") + @ApiParam(value ="所属类简称") private String className; + + @Column(name="TYPE") + @ApiParam(value ="类型") private FIELD_TYPE type; + + @Column(name="TYPE_NAME") + @ApiParam(value ="类型全称") + private String typeName; + + @Column(name="CUSTOMIZE") + @ApiParam(value ="是否为自定义字段") private Boolean customize; + + @Column(name="MODIFY") + @ApiParam(value ="是否能修改") private Boolean modify; + + @Column(name="DISPLAY") + @ApiParam(value ="是否在界面显示") private Boolean display; + + @Column(name="PRIC") + @ApiParam(value ="浮点数显示精度") private Integer pric; + + @Column(name="TIPS") + @ApiParam(value ="字段提示") private String tips; + + @Column(name="EXPRESSION") + @ApiParam(value ="表达式") private String expression; + + @Column(name="POSITION") + @ApiParam(value ="位置") private String position; @JsonIgnore diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ImportDetail.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ImportDetail.java new file mode 100644 index 0000000..102cd83 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ImportDetail.java @@ -0,0 +1,36 @@ +package cn.estsh.i3plus.pojo.aps.bean; + +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import cn.estsh.i3plus.pojo.aps.enums.IMPORT_DETAIL_TYPE; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description :数据导入明细 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2019-09-23 + * @Modify: + **/ +@Data +@Entity +@Table(name = "APS_IMPORT_DETAIL") +@Api("数据导入明细") +public class ImportDetail extends BaseAPS { + @Column(name="TYPE") + @ApiParam(value ="导入类型") + private IMPORT_DETAIL_TYPE type; + + @Column(name="OUT_NAME") + @ApiParam(value ="外部表名") + private String outName; + + @Column(name="IN_NAME") + @ApiParam(value ="内部表名") + private String inName; +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ImportProject.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ImportProject.java new file mode 100644 index 0000000..bb21896 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ImportProject.java @@ -0,0 +1,27 @@ +package cn.estsh.i3plus.pojo.aps.bean; + +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; + +/** + * @Description :数据导入明细集合 + * @Reference : + * @Author : jason.niu + * @CreateDate : 2019-09-23 + * @Modify: + **/ +@Data +@Entity +@Table(name = "APS_IMPORT_PROJECT") +@Api("数据导入明细集合") +public class ImportProject extends BaseAPS { + @Column(name="NAME") + @ApiParam(value ="标识名") + private String name; +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Material.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Material.java index 9d0a98e..c0ae1a0 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Material.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Material.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseCode; import cn.estsh.i3plus.pojo.aps.enums.MATERIAL_TYPE; import cn.estsh.i3plus.pojo.aps.enums.PREPARE_TYPE; import cn.estsh.i3plus.pojo.aps.enums.REPLENISHMENT_TYPE; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OperInput.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OperInput.java index 5ee1d01..1c8cdc3 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OperInput.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OperInput.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.enums.CONSTRAINT_TYPE; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OperOutput.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OperOutput.java index 143141e..82ab4cf 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OperOutput.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OperOutput.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OperResource.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OperResource.java index 4cf9c04..4de47b0 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OperResource.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OperResource.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.enums.USE_TYPE; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Operation.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Operation.java index 2c0b4f3..cba41d4 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Operation.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Operation.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.enums.CONSTRAINT_TYPE; import cn.estsh.i3plus.pojo.aps.enums.TAIL_DEAL; import io.swagger.annotations.Api; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OvertimeCalendar.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OvertimeCalendar.java index 0d4cfc5..1c17473 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OvertimeCalendar.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/OvertimeCalendar.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.enums.CALENDAR_TYPE; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/PlanFeedback.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/PlanFeedback.java index a651c37..dd7e68d 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/PlanFeedback.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/PlanFeedback.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import io.swagger.annotations.Api; import lombok.Data; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ProductRouting.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ProductRouting.java index 64667de..88a415c 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ProductRouting.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ProductRouting.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseCode; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ResCalendar.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ResCalendar.java index 52920f1..7edd19f 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ResCalendar.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/ResCalendar.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Resource.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Resource.java index d5dce47..5949b15 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Resource.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Resource.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseCode; import cn.estsh.i3plus.pojo.aps.enums.RESOURCE_CLASS; import cn.estsh.i3plus.pojo.aps.enums.RESOURCE_TYPE; import cn.estsh.i3plus.pojo.aps.enums.TIME_ROUND_TYPE; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/RuleGroup.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/RuleGroup.java index 0d40f77..70eb6ad 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/RuleGroup.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/RuleGroup.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import io.swagger.annotations.Api; import lombok.Data; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/StandOperation.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/StandOperation.java index de95109..4a0d1e5 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/StandOperation.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/StandOperation.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseCode; import cn.estsh.i3plus.pojo.aps.enums.DIRECTION; import cn.estsh.i3plus.pojo.aps.enums.RES_COMB_LOCK_TYPE; import cn.estsh.i3plus.pojo.aps.enums.RES_COMB_TIME_TYPE; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SysParam.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SysParam.java index cd62bbe..799f34a 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SysParam.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/SysParam.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Work.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Work.java index 1000974..60ca0c0 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Work.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/Work.java @@ -1,7 +1,10 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseCode; +import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.enums.WORK_STATUS; import cn.estsh.i3plus.pojo.aps.enums.WORK_TYPE; +import cn.estsh.i3plus.pojo.aps.holders.EWork; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; @@ -90,4 +93,17 @@ public class Work extends BaseCode { @Column(name="PLAN_RESOURCE") @ApiParam(value ="计划主资源") private String planResource; + + @Column(name="ORDER_ID") + @ApiParam(value ="订单") + private Long orderId; + + public BaseOrder getOrder() { + return BeanRelation.get(this, EWork.Order); + } + + public void setOrder(BaseOrder order) { + this.orderId = order != null ? order.getId() : 0l; + BeanRelation.set(this, EWork.Order, order); + } } diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkInput.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkInput.java index b58669d..b37c70d 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkInput.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkInput.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkOutput.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkOutput.java index bbd1456..16023ec 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkOutput.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkOutput.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; import lombok.Data; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkRelation.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkRelation.java index fb2a296..07095c3 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkRelation.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkRelation.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.enums.CONSTRAINT_TYPE; import cn.estsh.i3plus.pojo.aps.enums.WORK_RELATION_TYPE; import io.swagger.annotations.Api; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkResource.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkResource.java index 651a0b6..34842fb 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkResource.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/WorkResource.java @@ -1,5 +1,6 @@ package cn.estsh.i3plus.pojo.aps.bean; +import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.enums.USE_TYPE; import io.swagger.annotations.Api; import io.swagger.annotations.ApiParam; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseAPS.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BaseAPS.java similarity index 92% rename from modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseAPS.java rename to modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BaseAPS.java index a32f16d..3b46af2 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseAPS.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BaseAPS.java @@ -1,4 +1,4 @@ -package cn.estsh.i3plus.pojo.aps.bean; +package cn.estsh.i3plus.pojo.aps.common; import cn.estsh.i3plus.pojo.base.bean.BaseBean; import lombok.Data; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseCode.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BaseCode.java similarity index 93% rename from modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseCode.java rename to modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BaseCode.java index b98245e..b434092 100644 --- a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/bean/BaseCode.java +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BaseCode.java @@ -1,4 +1,4 @@ -package cn.estsh.i3plus.pojo.aps.bean; +package cn.estsh.i3plus.pojo.aps.common; import io.swagger.annotations.ApiParam; import lombok.Data; diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanInfo.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanInfo.java new file mode 100644 index 0000000..9a60943 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanInfo.java @@ -0,0 +1,271 @@ +package cn.estsh.i3plus.pojo.aps.common; + +import cn.estsh.i3plus.pojo.aps.bean.DateDuration; +import cn.estsh.i3plus.pojo.aps.enums.FIELD_TYPE; +import cn.estsh.i3plus.pojo.base.bean.BaseBean; + +import java.util.*; + +public class BeanInfo { + private Class cls; + private BeanInfo superBeanInfo; + private List childsBeanInfos = new ArrayList<>(); + private Map, RelationInfo> relations = new HashMap<>(); + + public BeanInfo(Class cls) { + this.cls = cls; + } + + public void initHolder(Class>> holderCls) { + Enum>[] ens = holderCls.getEnumConstants(); + for (Enum> en : ens) { + RelationInfo info = new RelationInfo(); + info.setHolder(en); + info.setBeanInfo(this); + relations.put(en, info); + } + } + + public BeanInfo getSuperBeanInfo() { return superBeanInfo; } + + public boolean validHolder(Enum holder) { + return this.relations.get(holder) != null; + } + + public Enum getHolder(String name) { + for (Enum holder : relations.keySet()) { + if (holder.name().equalsIgnoreCase(name)) { + return holder; + } + } + if (superBeanInfo != null) { + return superBeanInfo.getHolder(name); + } + + return null; + } + + public Enum getReverseHolder(Enum holder) { + RelationInfo relaInfo = getRelationInfo(holder); + if (relaInfo != null) { + return relaInfo.getReverseHolder(); + } + return null; + } + + public Enum getReverseHolder(String name) { + RelationInfo relaInfo = getRelationInfo(name); + if (relaInfo != null) { + return relaInfo.getReverseHolder(); + } + return null; + } + + public RelationInfo getRelationInfo(Enum holder) { + if (validHolder(holder)) { + return relations.get(holder); + } + if (superBeanInfo != null) { + return superBeanInfo.getRelationInfo(holder); + } + return null; + } + + public RelationInfo getRelationInfo(String name) { + Enum holder = getHolder(name); + if (holder != null) { + return getRelationInfo(holder); + } + return null; + } + + public void addRelationInfo(Enum holder, RelationInfo info) { + this.relations.put(holder, info); + } + + public Class getBeanClass() { + return (Class)cls; + } + + public BeanInfo getRelationBeanInfo(Enum holder) { + RelationInfo relaInfo = getRelationInfo(holder); + if (relaInfo != null) { + return relaInfo.getBeanInfo(); + } + return null; + } + + public BeanInfo getRelationBeanInfo(String name) { + RelationInfo relaInfo = getRelationInfo(name); + if (relaInfo != null) { + return relaInfo.getBeanInfo(); + } + + return null; + } + + public RELATION_TYPE getRelationType(Enum holder) { + RelationInfo relaInfo = getRelationInfo(holder); + if (relaInfo != null) { + return relaInfo.getType(); + } + return RELATION_TYPE.INVALID; + } + + public RELATION_TYPE getRelationType(String name) { + RelationInfo relaInfo = getRelationInfo(name); + if (relaInfo != null) { + return relaInfo.getType(); + } + + return RELATION_TYPE.INVALID; + } + + public List> getAllHolders() { + List> holders = new ArrayList<>(); + for (Map.Entry, RelationInfo> entry : relations.entrySet()) { + holders.add(entry.getKey()); + } + return holders; + } + + public List> getOwnerHolders() { + List> owners = new ArrayList<>(); + for (Map.Entry, RelationInfo> entry : relations.entrySet()) { + if (entry.getValue().isOwner()) { + owners.add(entry.getKey()); + } + } + return owners; + } + + public List> getNormalSigns() { + List> holders = new ArrayList<>(); + for (Map.Entry, RelationInfo> entry : relations.entrySet()) { + if (!entry.getValue().isOwner()) { + holders.add(entry.getKey()); + } + } + return holders; + } + + private static Map, BeanInfo> beanInfos = new HashMap<>(); + private static Map nameMapBeanInfos = new HashMap<>(); + + static { + BeanInfo beanInfo = new BeanInfo(BaseBean.class); + beanInfos.put(BaseBean.class, beanInfo); + nameMapBeanInfos.put(BaseBean.class.getSimpleName(), beanInfo); + } + + public static void register(Class cls) { + if (beanInfos.containsKey(cls)) { + return; + } + BeanInfo beanInfo = new BeanInfo(cls); + beanInfos.put(cls, beanInfo); + nameMapBeanInfos.put(cls.getSimpleName(), beanInfo); + register((Class)cls.getSuperclass()); + } + + public static void init() { + for (Map.Entry, BeanInfo> entry : beanInfos.entrySet()) { + Class superClass = (Class)entry.getKey().getSuperclass(); + BeanInfo superBeanInfo = beanInfos.get(superClass); + if (superBeanInfo != null) { + entry.getValue().superBeanInfo = superBeanInfo; + superBeanInfo.childsBeanInfos.add(entry.getValue()); + } + } + + BeanRelationUtil.initData("cn.estsh.i3plus.pojo.aps.holders"); + BeanRelationUtil.loadConfig("relations"); + } + + public static Set> getBeanClasses() { + return beanInfos.keySet(); + } + + public static BeanInfo getBeanInfo(Class cls) { + BeanInfo info = beanInfos.get(cls); + return info; + } + + public static BeanInfo getBeanInfo(String name) { + BeanInfo info = nameMapBeanInfos.get(name); + return info; + } + + public static Class getSuperClass(Class cls) { + BeanInfo superBeanInfo = getBeanInfo(cls).superBeanInfo; + if (superBeanInfo != null) { + return superBeanInfo.getBeanClass(); + } + return null; + } + + public static FIELD_TYPE getFieldType(Class cls) { + FIELD_TYPE type = null; + if (cls == Boolean.class || cls == boolean.class) { + type = FIELD_TYPE.BOOLEAN; + } else if (cls == Character.class) { + type = FIELD_TYPE.CHAR; + } else if (cls == Short.class || cls == short.class) { + type = FIELD_TYPE.SHORT; + } else if (cls == Integer.class || cls == int.class) { + type = FIELD_TYPE.INTEGER; + } else if (cls == Long.class || cls == long.class) { + type = FIELD_TYPE.LONG; + } else if (cls == Double.class || cls == Float.class || + cls == double.class || cls == float.class) { + type = FIELD_TYPE.DOUBLE; + } else if (cls == String.class) { + type = FIELD_TYPE.STRING; + } else if(cls == Date.class || cls == java.sql.Date.class) { + type = FIELD_TYPE.DATE_TIME; + } else if (cls == DateDuration.class) { + type = FIELD_TYPE.DURATION; + } else if (Enum.class.isAssignableFrom(cls)) { + type = FIELD_TYPE.ENUM; + } else if (BaseBean.class.isAssignableFrom(cls)) { + type = FIELD_TYPE.OBJECT; + } + return type; + } + + public static Class getFieldClass(FIELD_TYPE type) { + Class cls = null; + switch (type) { + case BOOLEAN: + cls = Boolean.class; + break; + case CHAR: + cls = Character.class; + break; + case SHORT: + cls = Short.class; + break; + case INTEGER: + cls = Integer.class; + break; + case LONG: + cls = Long.class; + break; + case DOUBLE: + cls = Double.class; + break; + case DATE: + case TIME: + case DATE_TIME: + cls = Date.class; + break; + case STRING: + cls = String.class; + break; + default: + break; + } + + return cls; + } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanRelation.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanRelation.java new file mode 100644 index 0000000..915391e --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanRelation.java @@ -0,0 +1,241 @@ +package cn.estsh.i3plus.pojo.aps.common; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.function.Predicate; + +public class BeanRelation { + Map, Map, List>>> caches = new HashMap<>(); + + private static Map relations = new ConcurrentHashMap<>(); + private static BeanRelation get() { + Long userId = 0l; + BeanRelation relation = relations.get(userId); + if (relation == null) { + synchronized (BeanRelation.class) { + relation = relations.get(userId); + if (relation == null) { + relation = new BeanRelation(); + relations.put(userId, relation); + } + } + } + + return relation; + } + + private static Map, List> createRelation(Class cls) { + return null; + } + + public static Map, List> get(BaseBean bean) { + Map, List> temp = get().caches.get(bean.getClass()).get(bean.getId()); + if (temp == null) { + synchronized (bean.getClass()) { + if (temp == null) { + temp = createRelation(bean.getClass()); + get().caches.get(bean.getClass()).put(bean.getId(), temp); + } + } + } + return temp; + } + + public static void init() { + + } + + public static T get(BaseBean bean, Enum holder) { + List beans = (List)get(bean).get(holder); + if (beans == null || beans.isEmpty()) { + return null; + } + return beans.get(0); + } + + public static T get(BaseBean bean, Enum holder, Enum... args) { + return get(bean, null, holder, args); + } + + public static T get(BaseBean bean, Predicate pred, Enum holder, Enum... args) { + return null; + } + + private static T getImpl(BaseBean bean, Predicate pred, Enum[] args, int index) { + if (index >= args.length) { + if (pred == null || pred.test((T)bean)) { + return (T)bean; + } + } else { + //List relaBeans = + } + + return null; + } + + public static List list(BaseBean bean, Enum holder) { + List beans = (List)get(bean).get(holder); + if (beans == null) { + return new ArrayList<>(); + } + return beans; + } + + public static List list(BaseBean bean, Enum holder, Enum... args) { + return list(bean, null, holder, args); + } + + public static List list(BaseBean bean, Predicate pred, Enum holder, Enum... args) { + List result = new ArrayList<>(); + List nextBeans = list(bean, holder); + for (BaseBean nextBean : nextBeans) { + listImpl(result, nextBean, pred, args, 0); + } + + return result; + } + + private static void listImpl(List result, BaseBean bean, Predicate pred, Enum[] holders, int index) { + if (index >= holders.length) { + if (pred == null || pred.test((T)bean)) { + result.add((T)bean); + } + } else { + List nextBeans = list(bean, holders[index]); + for (BaseBean nextBean : nextBeans) { + listImpl(result, nextBean, pred, holders, index + 1); + } + } + } + + /** + * 设值两个对象之间的关联 + * + * @param bean + * @param holder + * @param relaBean + */ + public static void set(BaseBean bean, Enum holder, BaseBean relaBean) { + if (bean == null) { + return; + } + if (relaBean == null) { + remove(bean, holder); + } else { + BeanInfo beanInfo = BeanInfo.getBeanInfo(bean.getClass()); + final Enum reverseHolder = beanInfo.getReverseHolder(holder); + switch (beanInfo.getRelationType(holder)) { + case MULTI_TO_MULTI: + break; + case MULTI_TO_ONE: + remove(bean, holder); + break; + case INVALID: + break; + case ONE_TO_MULTI: + remove(relaBean, reverseHolder); + break; + case ONE_TO_ONE: + remove(bean, holder); + remove(relaBean, reverseHolder); + break; + default: + break; + } + + setImpl(bean, holder, relaBean, reverseHolder); + } + } + + /** + * 建立对象之间双向引用实现 + * + * @param bean + * @param holder + * @param relaBean + * @param reverseHolder + */ + private static void setImpl(BaseBean bean, Enum holder, BaseBean relaBean, Enum reverseHolder) { + get(bean).get(holder).add(relaBean); + if (reverseHolder != null) { + get(relaBean).get(reverseHolder).add(bean); + } + } + + /** + * 移除关联 + * + * @param bean + * @param holder + */ + private static void remove(BaseBean bean, Enum holder) { + if (holder == null) { + return; + } + BeanInfo beanInfo = BeanInfo.getBeanInfo(bean.getClass()); + final Enum reverseHolder = beanInfo.getReverseHolder(holder); + if (reverseHolder != null) { + for (BaseBean relaBean : get(bean).get(holder)) { + if (relaBean == null) { + continue; + } + get(relaBean).get(reverseHolder).remove(bean); + } + } + get(bean).get(holder).clear(); + } + + /** + * 移除关联的指定对象 + * + * @param bean + * @param holder + * @param relaBean + */ + private static void remove(BaseBean bean, Enum holder, BaseBean relaBean) { + if (bean == null) { + return; + } + BeanInfo beanInfo = BeanInfo.getBeanInfo(bean.getClass()); + final Enum reverseHolder = beanInfo.getReverseHolder(holder); + if (reverseHolder != null) { + get(relaBean).get(reverseHolder).remove(bean); + } + get(bean).get(holder).remove(relaBean); + } + + /** + * 删除对象 + * + * @param bean + */ + public static void delete(BaseBean bean) { + if (bean == null) { + return; + } + BeanInfo beanInfo = BeanInfo.getBeanInfo(bean.getClass()); + List> ownerSigns = beanInfo.getOwnerHolders(); + for (Enum holder : ownerSigns) { + List relaBeans = new ArrayList<>(list(bean, holder)); + for (BaseBean relaBean : relaBeans) { + //MemoryManager.delete(relaBean); + } + } + + List> normalSigns = beanInfo.getNormalSigns(); + for (Enum holder : normalSigns) { + Enum reverseHolder = beanInfo.getReverseHolder(holder); + List relaBeans = new ArrayList<>(list(bean, holder)); + for (BaseBean relaBean : relaBeans) { + if (reverseHolder != null) { + remove(relaBean, reverseHolder, bean); + } + } + } + } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanRelationUtil.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanRelationUtil.java new file mode 100644 index 0000000..e2dba7e --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/BeanRelationUtil.java @@ -0,0 +1,320 @@ +package cn.estsh.i3plus.pojo.aps.common; + +import org.xml.sax.Attributes; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; +import org.xml.sax.helpers.DefaultHandler; + +import javax.xml.parsers.ParserConfigurationException; +import javax.xml.parsers.SAXParser; +import javax.xml.parsers.SAXParserFactory; +import java.io.File; +import java.io.FileFilter; +import java.io.IOException; +import java.io.InputStream; +import java.net.JarURLConnection; +import java.net.URL; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.List; +import java.util.jar.JarEntry; +import java.util.jar.JarFile; + +public class BeanRelationUtil { + + static class XMLReader extends DefaultHandler { + private BeanInfo firstInfo = null; + private Enum firstHolder = null; + private BeanInfo secondInfo = null; + private Enum secondHolder = null; + private RELATION_TYPE type = RELATION_TYPE.INVALID; + private boolean owner = false; + public void startElement(String uri, String localName, String nodeName, Attributes attributes) throws SAXException { + if (nodeName.equalsIgnoreCase("Class")) { + final String name = attributes.getValue("name"); + if (name == null) { + throw new SAXException("Class节点的属性name未配置"); + } + + this.firstInfo = BeanInfo.getBeanInfo(name); + if (this.firstInfo == null) { + throw new SAXException("未找到" + name + "的类定义"); + } + } else if (nodeName.equalsIgnoreCase("Relation")) { + if (this.firstInfo == null) { + throw new SAXException("未配置Class节点"); + } + + String firstSignName = attributes.getValue("field"); + if (firstSignName == null) { + throw new SAXException("Relation节点缺少field属性"); + } + this.firstHolder = this.firstInfo.getHolder(firstSignName); + if (this.firstHolder == null) { + throw new SAXException("未定义枚举标识" + firstSignName); + } + + String secondFactoryName = attributes.getValue("name"); + if (secondFactoryName == null) { + throw new SAXException("Relation节点缺少name属性"); + } + this.secondInfo = BeanInfo.getBeanInfo(secondFactoryName); + if (this.secondInfo == null) { + throw new SAXException("未找到" + secondFactoryName + "的类定义"); + } + + String secondSignName = attributes.getValue("reverse"); + if (secondSignName != null) { + this.secondHolder = this.secondInfo.getHolder(secondSignName); + if (this.secondHolder == null) { + throw new SAXException(secondFactoryName + "类未定义枚举标识" + secondSignName); + } + } else { + this.secondHolder = null; + } + + String typeName = attributes.getValue("type"); + if (typeName == null) { + throw new SAXException("Relation节点缺少type属性"); + } + this.type = RELATION_TYPE.valueOf(typeName); + + String ownerName = attributes.getValue("owner"); + if (ownerName == null) { + this.owner = false; + } else { + this.owner = ownerName.equalsIgnoreCase("true") ? true : false; + } + + RelationInfo firstData = this.getSignData(firstInfo, this.firstHolder); + firstData.setBeanInfo(this.secondInfo); + firstData.setType(this.type); + firstData.setOwner(this.owner); + firstData.setReverseHolder(this.secondHolder); + + if (this.secondHolder != null) { + RelationInfo secondData = this.getSignData(secondInfo, this.secondHolder); + secondData.setBeanInfo(this.firstInfo); + secondData.setOwner(false); + secondData.setReverseHolder(this.firstHolder); + switch (this.type) { + case MULTI_TO_MULTI: + secondData.setType(RELATION_TYPE.MULTI_TO_MULTI); + break; + case MULTI_TO_ONE: + secondData.setType(RELATION_TYPE.ONE_TO_MULTI); + break; + case INVALID: + secondData.setType(RELATION_TYPE.INVALID); + break; + case ONE_TO_MULTI: + secondData.setType(RELATION_TYPE.MULTI_TO_ONE); + break; + case ONE_TO_ONE: + secondData.setType(RELATION_TYPE.ONE_TO_ONE); + break; + default: + secondData.setType(RELATION_TYPE.INVALID); + break; + } + } + } + } + + RelationInfo getSignData(BeanInfo beanInfo, Enum holder) { + RelationInfo data = beanInfo.getRelationInfo(holder); + if (data == null) { + data = new RelationInfo(); + data.setHolder(holder); + beanInfo.addRelationInfo(holder, data); + } + + return data; + } + } + + public static void initData(String holderPackage) { + List> holderClses = loadClass(holderPackage); + for (Class enumCls : holderClses) { + if (!Enum.class.isAssignableFrom(enumCls)) { + continue; + } + String name = enumCls.getSimpleName(); + BeanInfo beanInfo = BeanInfo.getBeanInfo(name.substring(1)); + if (beanInfo == null) { + continue; + } + beanInfo.initHolder((Class>>) enumCls); + } + } + + public static void loadConfig(String packName) { + ClassLoader loader = Thread.currentThread().getContextClassLoader(); + final String strFile = packName.replaceAll("\\.", "/"); + try { + Enumeration urls = loader.getResources(strFile); + while (urls.hasMoreElements()) { + URL url = urls.nextElement(); + if (url != null) { + String protocol = url.getProtocol(); + String filePath = url.getPath(); + if (protocol.equals("file")) { + loadFileImpl(filePath); + } else if (protocol.equals("jar")) { + loadJarImpl(packName, url); + } + } + } + } catch (IOException e) { + return; + } + } + + private static void loadFileImpl(String dirPath) { + File dir = new File(dirPath); + if (!dir.exists() || !dir.isDirectory()) { + return; + } + + File[] dirFiles = dir.listFiles(new FileFilter() { + + @Override + public boolean accept(File file) { + return file.isDirectory() || file.getName().endsWith(".xml"); + } + }); + + for (File file : dirFiles) { + if (file.isDirectory()) { + loadFileImpl(dirPath + "/" + file.getName()); + } else { + try { + loadXMLConfigure(file.getCanonicalPath()); + } catch (IOException e) { + } + } + } + } + + private static void loadJarImpl(String packName, URL url) throws IOException { + JarURLConnection jarURLConnection = (JarURLConnection) url.openConnection(); + JarFile jarFile = jarURLConnection.getJarFile(); + Enumeration jarEntries = jarFile.entries(); + while (jarEntries.hasMoreElements()) { + JarEntry jarEntry = jarEntries.nextElement(); + String jarEntryName = jarEntry.getName(); + if (jarEntryName.endsWith(".xml")) { + String packNameNew = packName.replace(".", "/"); + if (jarEntryName.contains(packNameNew)) { + InputStream is = Thread.currentThread().getContextClassLoader().getResourceAsStream(jarEntryName); + loadXMLConfigure(is); + } + } + } + } + + /** + * 加载本地开发环境中的xml配置文件。 + * @param xmlPath + */ + private static void loadXMLConfigure(String xmlPath) { + SAXParserFactory sf = SAXParserFactory.newInstance(); + try { + SAXParser sp = sf.newSAXParser(); + sp.parse(new InputSource(xmlPath), new XMLReader()); + } catch (ParserConfigurationException | SAXException | IOException e) { + } + } + + /** + * 加载jar中的xml配置文件。 + * @param is + */ + private static void loadXMLConfigure(InputStream is) { + SAXParserFactory sf = SAXParserFactory.newInstance(); + try { + SAXParser sp = sf.newSAXParser(); + sp.parse(new InputSource(is), new XMLReader()); + } catch (ParserConfigurationException | SAXException | IOException e) { + } + } + + /** + * 将指定包下的类加载到内存中 + * @param packName + */ + private static List> loadClass(String packName) { + List> clses = new ArrayList<>(); + ClassLoader loader = Thread.currentThread().getContextClassLoader(); + String strFile = packName.replaceAll("\\.", "/"); + try { + Enumeration urls = loader.getResources(strFile); + while (urls.hasMoreElements()) { + URL url = urls.nextElement(); + if (url != null) { + String protocol = url.getProtocol(); + String filePath = url.getPath(); + if (protocol.equals("file")) { + loadClassImpl(packName, filePath, clses); + } else if (protocol.equals("jar")) { + loadJarImpl(packName, url, clses); + } + } + } + } catch (IOException e) { + e.printStackTrace(); + } + + return clses; + } + + private static void loadClassImpl(String packName, String dirPath, List> clses) { + File dir = new File(dirPath); + if (!dir.exists() || !dir.isDirectory()) { + return; + } + + File[] dirFiles = dir.listFiles(new FileFilter() { + + @Override + public boolean accept(File file) { + return file.isDirectory() || file.getName().endsWith(".class"); + } + }); + + for (File file : dirFiles) { + if (file.isDirectory()) { + loadClassImpl(packName + "." + file.getName(), dirPath + "/" + file.getName(), clses); + } else { + String clsName = file.getName(); + clsName = clsName.substring(0, clsName.length() - 6); + try { + clses.add(Class.forName(packName + "." + clsName)); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + } + } + } + + private static void loadJarImpl(String packName, URL url, List> clses) throws IOException { + JarURLConnection jarURLConnection = (JarURLConnection) url.openConnection(); + JarFile jarFile = jarURLConnection.getJarFile(); + Enumeration jarEntries = jarFile.entries(); + while (jarEntries.hasMoreElements()) { + JarEntry jarEntry = jarEntries.nextElement(); + final String jarEntryName = jarEntry.getName(); + if (jarEntryName.endsWith(".class")) { + String clsName = jarEntryName.replace("/", "."); + if (clsName.startsWith(packName)) { + clsName = clsName.substring(0, clsName.length() - 6); + try { + clses.add(Class.forName(clsName)); + } catch (ClassNotFoundException e) { + e.printStackTrace(); + } + } + } + } + } +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/RELATION_TYPE.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/RELATION_TYPE.java new file mode 100644 index 0000000..9b5296e --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/RELATION_TYPE.java @@ -0,0 +1,9 @@ +package cn.estsh.i3plus.pojo.aps.common; + +public enum RELATION_TYPE { + INVALID, // 无效关联 + ONE_TO_ONE, // 1对1关系 + ONE_TO_MULTI, // 1对多关系 + MULTI_TO_ONE, // 多对1关系 + MULTI_TO_MULTI,// 多对多关系 +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/RelationInfo.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/RelationInfo.java new file mode 100644 index 0000000..503afb4 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/common/RelationInfo.java @@ -0,0 +1,12 @@ +package cn.estsh.i3plus.pojo.aps.common; + +import lombok.Data; + +@Data +public class RelationInfo { + private BeanInfo beanInfo; + private Enum holder; + private Enum reverseHolder; + private RELATION_TYPE type; + private boolean owner; +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/DATA_LINK_TYPE.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/DATA_LINK_TYPE.java new file mode 100644 index 0000000..6e031cf --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/DATA_LINK_TYPE.java @@ -0,0 +1,8 @@ +package cn.estsh.i3plus.pojo.aps.enums; + +public enum DATA_LINK_TYPE { + CSV, + MYSQL, + ORACLE, + SQLSERVER +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/IMPORT_DETAIL_TYPE.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/IMPORT_DETAIL_TYPE.java new file mode 100644 index 0000000..a23a8e9 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/enums/IMPORT_DETAIL_TYPE.java @@ -0,0 +1,6 @@ +package cn.estsh.i3plus.pojo.aps.enums; + +public enum IMPORT_DETAIL_TYPE { + REPLACE, + DIFF +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EExportDetail.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EExportDetail.java new file mode 100644 index 0000000..70098c7 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EExportDetail.java @@ -0,0 +1,5 @@ +package cn.estsh.i3plus.pojo.aps.holders; + +public enum EExportDetail { + Project +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EExportProject.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EExportProject.java new file mode 100644 index 0000000..be46ca5 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EExportProject.java @@ -0,0 +1,6 @@ +package cn.estsh.i3plus.pojo.aps.holders; + +public enum EExportProject { + Link, + Details +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EImportProject.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EImportProject.java new file mode 100644 index 0000000..5f00e96 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/holders/EImportProject.java @@ -0,0 +1,6 @@ +package cn.estsh.i3plus.pojo.aps.holders; + +public enum EImportProject { + Link, + Details +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/APSPager.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/APSPager.java new file mode 100644 index 0000000..2cc398b --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/model/APSPager.java @@ -0,0 +1,10 @@ +package cn.estsh.i3plus.pojo.aps.model; + +import cn.estsh.i3plus.pojo.base.common.Pager; +import lombok.Data; + +@Data +public class APSPager extends Pager { + private String filter; + private String sort; +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/DataLinkRepository.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/DataLinkRepository.java new file mode 100644 index 0000000..43953ec --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/DataLinkRepository.java @@ -0,0 +1,9 @@ +package cn.estsh.i3plus.pojo.aps.repository; + +import cn.estsh.i3plus.pojo.aps.bean.DataLink; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface DataLinkRepository extends CrudRepository { +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/ExportDetailRepository.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/ExportDetailRepository.java new file mode 100644 index 0000000..59872a0 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/ExportDetailRepository.java @@ -0,0 +1,9 @@ +package cn.estsh.i3plus.pojo.aps.repository; + +import cn.estsh.i3plus.pojo.aps.bean.ExportDetail; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface ExportDetailRepository extends CrudRepository { +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/ExportProjectRepository.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/ExportProjectRepository.java new file mode 100644 index 0000000..81f9f2e --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/ExportProjectRepository.java @@ -0,0 +1,9 @@ +package cn.estsh.i3plus.pojo.aps.repository; + +import cn.estsh.i3plus.pojo.aps.bean.ExportProject; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface ExportProjectRepository extends CrudRepository { +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/ImportDetailRepository.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/ImportDetailRepository.java new file mode 100644 index 0000000..ce52ae4 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/ImportDetailRepository.java @@ -0,0 +1,9 @@ +package cn.estsh.i3plus.pojo.aps.repository; + +import cn.estsh.i3plus.pojo.aps.bean.ImportDetail; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface ImportDetailRepository extends CrudRepository { +} diff --git a/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/ImportProjectRepository.java b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/ImportProjectRepository.java new file mode 100644 index 0000000..9692d0f --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/java/cn/estsh/i3plus/pojo/aps/repository/ImportProjectRepository.java @@ -0,0 +1,9 @@ +package cn.estsh.i3plus.pojo.aps.repository; + +import cn.estsh.i3plus.pojo.aps.bean.ImportProject; +import org.springframework.data.repository.CrudRepository; +import org.springframework.stereotype.Repository; + +@Repository +public interface ImportProjectRepository extends CrudRepository { +} diff --git a/modules/i3plus-pojo-aps/src/main/resources/relations/ExportProject.xml b/modules/i3plus-pojo-aps/src/main/resources/relations/ExportProject.xml new file mode 100644 index 0000000..4c21b36 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/resources/relations/ExportProject.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/modules/i3plus-pojo-aps/src/main/resources/relations/ImportProject.xml b/modules/i3plus-pojo-aps/src/main/resources/relations/ImportProject.xml new file mode 100644 index 0000000..8128db4 --- /dev/null +++ b/modules/i3plus-pojo-aps/src/main/resources/relations/ImportProject.xml @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/modules/i3plus-pojo-aps/src/main/resources/relations/Material.xml b/modules/i3plus-pojo-aps/src/main/resources/relations/Material.xml index f5a2928..7d7cb1e 100644 --- a/modules/i3plus-pojo-aps/src/main/resources/relations/Material.xml +++ b/modules/i3plus-pojo-aps/src/main/resources/relations/Material.xml @@ -1,5 +1,5 @@ - - + + \ No newline at end of file diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockSoftSwitchEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockSoftSwitchEnumUtil.java index 3d850d5..15e76a4 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockSoftSwitchEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/BlockSoftSwitchEnumUtil.java @@ -237,7 +237,7 @@ public class BlockSoftSwitchEnumUtil { */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum VERIFICATION_METHOD{ - LOGIN(1,"登录"); + IMPP_LOGIN(1,"IMPP登录"); private int value; private String description; @@ -264,6 +264,16 @@ public class BlockSoftSwitchEnumUtil { } return tmp; } + + public static VERIFICATION_METHOD valueOf(int val) { + VERIFICATION_METHOD tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i]; + } + } + return tmp; + } } /** @@ -589,4 +599,40 @@ public class BlockSoftSwitchEnumUtil { } } + /** + * 请求方式 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum REQUEST_METHOD{ + GET(1,"GET"), + POST(2,"POST"), + PUT(3,"PUT"), + DELETE(4,"DELETE"); + + private int value; + private String description; + + REQUEST_METHOD(int value, String description) { + this.value = value; + this.description = description; + } + + public int getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public static String valueOfDescription(int val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i].description; + } + } + return tmp; + } + } } diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java index 2fff6a9..9dc921e 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/CommonEnumUtil.java @@ -997,6 +997,16 @@ public class CommonEnumUtil { } return tmp; } + + public static HTTP_METHOD_TYPE valueOf(int val) { + HTTP_METHOD_TYPE tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value == val) { + tmp = values()[i]; + } + } + return tmp; + } } /** diff --git a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java index 1083bf7..1022a46 100644 --- a/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java +++ b/modules/i3plus-pojo-base/src/main/java/cn/estsh/i3plus/pojo/base/enumutil/MesEnumUtil.java @@ -12,6 +12,82 @@ import com.fasterxml.jackson.annotation.JsonFormat; public class MesEnumUtil { /** + * mes按钮状态配置 判断符号 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum MES_BUTTON_STATUS_JUDGE_FLAG { + + EQUAL("=", "等于"), + NOT_EQUAL("!=", "不等于"), + GREATER_THAN(">", "大于"), + NOT_LESS_THAN(">=", "大于大于"), + LESS_THAN("<", "小于"), + NOT_GREATER_THAN("<=", "小于等于"); + + private String value; + private String description; + + MES_BUTTON_STATUS_JUDGE_FLAG(String value, String description) { + this.value = value; + this.description = description; + } + + public String getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public static String valueOfDescription(String val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value.equals(val)) { + tmp = values()[i].description; + } + } + return tmp; + } + } + + /** + * mes按钮状态配置 逻辑符号 + */ + @JsonFormat(shape = JsonFormat.Shape.OBJECT) + public enum MES_BUTTON_STATUS_LOGIC_FLAG { + + AND("&&", "逻辑与"), + OR("||", "逻辑或"); + + private String value; + private String description; + + MES_BUTTON_STATUS_LOGIC_FLAG(String value, String description) { + this.value = value; + this.description = description; + } + + public String getValue() { + return value; + } + + public String getDescription() { + return description; + } + + public static String valueOfDescription(String val) { + String tmp = null; + for (int i = 0; i < values().length; i++) { + if (values()[i].value.equals(val)) { + tmp = values()[i].description; + } + } + return tmp; + } + } + + /** * MesWorkOrder实体对应的approvalStatus值 审批状态 */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) @@ -554,7 +630,7 @@ public class MesEnumUtil { } /** - * MesPlanOrder实体对应的source值 计划来源 + * MesWorkOrder实体对应的source值 计划来源 */ @JsonFormat(shape = JsonFormat.Shape.OBJECT) public enum WORK_ORDER_SOURCE { diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesStatus.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesButtonStatus.java similarity index 53% rename from modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesStatus.java rename to modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesButtonStatus.java index 1f1d8c2..02745c0 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesStatus.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesButtonStatus.java @@ -14,7 +14,7 @@ import javax.persistence.Entity; import javax.persistence.Table; /** - * @Description :mes状态配置表 + * @Description :mes按钮状态配置表 * @Reference : * @Author : wangjie * @CreateDate : 2019-09-19 @@ -25,26 +25,36 @@ import javax.persistence.Table; @DynamicInsert @DynamicUpdate @EqualsAndHashCode(callSuper = true) -@Table(name="MES_STATUS") -@Api("系统业务动作") -public class MesStatus extends BaseBean { - @Column(name="STATUS_CODE") - @ApiParam("状态代码") - private String statusCode; +@Table(name="MES_BUTTON_STATUS") +@Api("按钮状态配置表") +public class MesButtonStatus extends BaseBean { - @Column(name="STATUS_NAME") - @ApiParam("状态名称") - private String statusName; + @Column(name="BUTTON_CODE") + @ApiParam("按钮代码") + private String buttonCode; - @Column(name="STATUS_VALUE") - @ApiParam("状态值") - private Integer statusValue; + @Column(name="CLASS_NAME") + @ApiParam("实体类名称") + private String ClassName; @Column(name="STATUS_FIELD") @ApiParam("状态字段") private String statusField; - public int getStatusValueVal() { - return this.statusValue == null ? 0 : this.statusValue; - } + @Column(name="JUDGE_FLAG") + @ApiParam("判断符合") + private String judgeFlag; + + @Column(name="STATUS_VALUE") + @ApiParam("状态值") + private String statusValue; + + @Column(name="LOGIC_FLAG") + @ApiParam("逻辑符合") + private String logicFlag; + + @Column(name="STATUS_DESC") + @ApiParam("描述") + private String statusDesc; + } diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrder.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrder.java index 13a3217..b22729f 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrder.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/bean/MesWorkOrder.java @@ -187,6 +187,10 @@ public class MesWorkOrder extends BaseBean { @ApiParam("mes生产工单页面按钮控制") private MesWorkOrderButtonModel workOrderButtonModel; + @Transient + @ApiParam(value="下达按钮编号") + public String buttonCode; + public double getQtyVal() { return this.qty == null ? 0.0d : this.qty; diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesButtonStatusRepository.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesButtonStatusRepository.java new file mode 100644 index 0000000..5b33393 --- /dev/null +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/repository/MesButtonStatusRepository.java @@ -0,0 +1,17 @@ +package cn.estsh.i3plus.pojo.mes.repository; + +import cn.estsh.i3plus.pojo.base.jpa.dao.BaseRepository; +import cn.estsh.i3plus.pojo.mes.bean.MesButtonStatus; +import org.springframework.stereotype.Repository; + +/** + * @Description :按钮条件配置 + * @Reference : + * @Author : wangjie + * @CreateDate : 2019-09-23 + * @Modify: + **/ +@Repository +public interface MesButtonStatusRepository extends BaseRepository { + +} diff --git a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java index 0ee655a..f9279e6 100644 --- a/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java +++ b/modules/i3plus-pojo-mes/src/main/java/cn/estsh/i3plus/pojo/mes/sqlpack/MesHqlPack.java @@ -74,6 +74,7 @@ public class MesHqlPack { if (StringUtils.isNotEmpty(mesPlanOrder.getStatus() + "") && mesPlanOrder.getStatusVal() != 0) { DdlPreparedPack.getNumEqualPack(mesPlanOrder.getStatus(), "status", packBean); } + if (StringUtils.isNotEmpty(mesPlanOrder.getCreateUser())) { DdlPreparedPack.getStringLikerPack(mesPlanOrder.getCreateUser(), "createUser", packBean); } @@ -1215,4 +1216,40 @@ public class MesHqlPack { DdlPreparedPack.getNumEqualPack(CommonEnumUtil.IS_VAILD.VAILD.getValue(), "isValid", packBean); return packBean; } + + /** + * 按钮条件配置 + * + * @param organizeCode + * @return + */ + public static DdlPackBean getMesButtonStatus(MesButtonStatus buttonStatus, String organizeCode) { + DdlPackBean packBean = getAllBaseDataByNormalPro(buttonStatus, organizeCode); + if (StringUtils.isNotEmpty(buttonStatus.getButtonCode())) { + DdlPreparedPack.getStringLikerPack(buttonStatus.getButtonCode(), "buttonCode", packBean); + } + packBean.setOrderByStr(buttonStatus.orderBy()); + return packBean; + } + + /** + * 工单审批查询 + * @param mesWorkOrder + * @param organizeCode + * @return + */ + public static DdlPackBean getApprovalData(MesWorkOrder mesWorkOrder, String organizeCode) { + DdlPackBean packBean = MesHqlPack.getAllBaseData(organizeCode); + DdlPreparedPack.getStringEqualPack(mesWorkOrder.getWorkCenterCode(), "workCenterCode", packBean); + if (!org.springframework.util.StringUtils.isEmpty(mesWorkOrder.getOrderNo())) { + DdlPreparedPack.getStringEqualPack(mesWorkOrder.getOrderNo(), "orderNo", packBean); + } + if (!org.springframework.util.StringUtils.isEmpty(mesWorkOrder.getPartNo())) { + DdlPreparedPack.getStringEqualPack(mesWorkOrder.getPartNo(), "partNo", packBean); + } + DdlPreparedPack.getNumEqualPack(MesEnumUtil.WORK_ORDER_APPROVAL_STATUS.WAIT_APPROVAL.getValue(), "approvalStatus", packBean); + DdlPreparedPack.getNumEqualPack(MesEnumUtil.WORK_ORDER_STATUS.CREATE.getValue(), "workOrderStatus", packBean); + DdlPreparedPack.getOrderByPack(new String[]{String.valueOf(CommonEnumUtil.ASC_OR_DESC.ASC.getValue())}, new String[]{"startTime", "shiftCode"}, packBean); + return packBean; + } } diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/softswitch/BsSuitCaseModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/softswitch/BsSuitCaseModel.java index f249f9f..810ec8a 100644 --- a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/softswitch/BsSuitCaseModel.java +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/softswitch/BsSuitCaseModel.java @@ -1,10 +1,7 @@ package cn.estsh.i3plus.pojo.model.softswitch; import cn.estsh.i3plus.pojo.base.common.Pager; -import cn.estsh.i3plus.pojo.softswitch.bean.BsSocketSuitCase; -import cn.estsh.i3plus.pojo.softswitch.bean.BsSuitCase; -import cn.estsh.i3plus.pojo.softswitch.bean.BsSuitCaseDataSource; -import cn.estsh.i3plus.pojo.softswitch.bean.BsSuitCaseWebService; +import cn.estsh.i3plus.pojo.softswitch.bean.*; import com.fasterxml.jackson.annotation.JsonInclude; import io.swagger.annotations.ApiParam; import lombok.Data; @@ -35,6 +32,9 @@ public class BsSuitCaseModel implements Serializable { @ApiParam(value = "Web Service 适配套件") private BsSuitCaseWebService webService; + @ApiParam(value = "REST 适配套件") + private BsSuitCaseREST bsSuitCaseREST; + @ApiParam(value = "分页数据") private Pager pager; diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/softswitch/SuitServerModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/softswitch/SuitServerModel.java index fb0d0aa..a285dad 100644 --- a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/softswitch/SuitServerModel.java +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/softswitch/SuitServerModel.java @@ -1,6 +1,9 @@ package cn.estsh.i3plus.pojo.model.softswitch; +import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil; +import cn.estsh.i3plus.pojo.softswitch.bean.BsSuitRecord; import com.thoughtworks.xstream.annotations.XStreamAlias; +import com.thoughtworks.xstream.annotations.XStreamImplicit; import io.swagger.annotations.ApiParam; import lombok.Data; @@ -19,10 +22,11 @@ import java.util.Map; public class SuitServerModel { // 执行方法命令 - @ApiParam(value = "适配命令(枚举)") - private Integer actionId; + @ApiParam(value = "适配器code") + private String suitCaseCode; /* 认证使用 以后使用 */ private String token; + // 传输单对象 private Object obj; // 传输集合 @@ -35,10 +39,52 @@ public class SuitServerModel { /** * 适配结果信息 */ + @XStreamImplicit private String suitMessage; + /** * 适配状态码 */ - private String suitCaseStatusCode; + @XStreamImplicit + private String suitCaseStatusCode = ResourceEnumUtil.MESSAGE.SUCCESS.getCode(); + + /** + * 适配结果 + */ + @XStreamImplicit + private boolean suitSuccess = true; + + /** + * 适配记录 + */ + @XStreamImplicit + private BsSuitRecord bsSuitRecord; + + /** + * 适配器信息 + */ + @XStreamImplicit + private BsSuitCaseModel bsSuitCaseModel; + + /** + * 请求来源 + */ + @XStreamImplicit + private Integer requestSource; + + /** + * 适配方式 + */ + @XStreamImplicit + private Integer suitMethodId; + + public int getSuitMethodIdVal(){ + if(suitMethodId == null){ + return -1; + } + return suitMethodId.intValue(); + } + @XStreamImplicit + private String analyzeMessage; } diff --git a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsTaskInfoModel.java b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsTaskInfoModel.java index dad2ec7..57f0870 100644 --- a/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsTaskInfoModel.java +++ b/modules/i3plus-pojo-model/src/main/java/cn/estsh/i3plus/pojo/model/wms/WmsTaskInfoModel.java @@ -3,7 +3,6 @@ package cn.estsh.i3plus.pojo.model.wms; import io.swagger.annotations.ApiParam; import lombok.Data; -import javax.persistence.Column; import java.io.Serializable; /** @@ -27,7 +26,6 @@ public class WmsTaskInfoModel implements Serializable { @ApiParam("作业类型名称") public String opTypeName; - @Column(name = "TRANS_TYPE_CODE") @ApiParam(value = "交易类型代码") private String transTypeCode; @@ -37,30 +35,33 @@ public class WmsTaskInfoModel implements Serializable { @ApiParam(value = "关联单据业务类型") private String busiTypeDesc; - @Column(name = "ZDATE") @ApiParam(value = "计划日期") private String zdate; - @Column(name = "ZTIME") @ApiParam(value = "计划时间") private String ztime; - @Column(name = "CUST_NO") @ApiParam(value = "客户编号") private String custNo; - @Column(name = "VENDOR_NO") @ApiParam(value = "供应商编号") private String vendorNo; @ApiParam(value = "样式") private WmsMessageStyleModel wmsMessageStyleModel; + @ApiParam(value = "源存储区代码") + private String srcZoneNo; + + @ApiParam(value = "创建日期") + public String createDatetime; + public WmsTaskInfoModel() { } public WmsTaskInfoModel(String orderNo, Integer taskStatus, String opTypeName, String transTypeCode, String refSrc, - String busiTypeDesc, String zdate, String ztime, String custNo, String vendorNo) { + String busiTypeDesc, String zdate, String ztime, String custNo, String vendorNo, + String createDatetime, String srcZoneNo) { this.orderNo = orderNo; this.taskStatus = taskStatus; this.opTypeName = opTypeName; @@ -71,5 +72,7 @@ public class WmsTaskInfoModel implements Serializable { this.ztime = ztime; this.custNo = custNo; this.vendorNo = vendorNo; + this.createDatetime = createDatetime; + this.srcZoneNo = srcZoneNo; } } diff --git a/modules/i3plus-pojo-softswitch/src/main/java/cn/estsh/i3plus/pojo/softswitch/bean/BsSslKey.java b/modules/i3plus-pojo-softswitch/src/main/java/cn/estsh/i3plus/pojo/softswitch/bean/BsSslKey.java index e422ef8..44820a8 100644 --- a/modules/i3plus-pojo-softswitch/src/main/java/cn/estsh/i3plus/pojo/softswitch/bean/BsSslKey.java +++ b/modules/i3plus-pojo-softswitch/src/main/java/cn/estsh/i3plus/pojo/softswitch/bean/BsSslKey.java @@ -44,6 +44,11 @@ public class BsSslKey extends BaseBean { @ApiParam(value = "认证url") private String verificationUrl; + //CommonEnumUtil.HTTP_METHOD_TYPE + @Column(name = "REQUEST_METHOD_ID") + @ApiParam(value = "请求方式id") + private Integer requestMethodId; + @Column(name = "KEY_TYPE_ID") @ApiParam(value = "证书类型枚举") private Integer keyTypeId; diff --git a/modules/i3plus-pojo-softswitch/src/main/java/cn/estsh/i3plus/pojo/softswitch/bean/BsSuitCase.java b/modules/i3plus-pojo-softswitch/src/main/java/cn/estsh/i3plus/pojo/softswitch/bean/BsSuitCase.java index 396a89a..b22545b 100644 --- a/modules/i3plus-pojo-softswitch/src/main/java/cn/estsh/i3plus/pojo/softswitch/bean/BsSuitCase.java +++ b/modules/i3plus-pojo-softswitch/src/main/java/cn/estsh/i3plus/pojo/softswitch/bean/BsSuitCase.java @@ -58,7 +58,7 @@ public class BsSuitCase extends BaseBean { private Long suitTypeId; public long getSuitTypeIdVal(){ - if(suitTypeId != null){ + if(suitTypeId == null){ return -1; } return suitTypeId.longValue(); diff --git a/modules/i3plus-pojo-softswitch/src/main/java/cn/estsh/i3plus/pojo/softswitch/bean/BsSuitCaseParam.java b/modules/i3plus-pojo-softswitch/src/main/java/cn/estsh/i3plus/pojo/softswitch/bean/BsSuitCaseParam.java index b3e6ce1..2d598e5 100644 --- a/modules/i3plus-pojo-softswitch/src/main/java/cn/estsh/i3plus/pojo/softswitch/bean/BsSuitCaseParam.java +++ b/modules/i3plus-pojo-softswitch/src/main/java/cn/estsh/i3plus/pojo/softswitch/bean/BsSuitCaseParam.java @@ -13,6 +13,7 @@ import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Table; import javax.persistence.Transient; +import java.util.List; /** * @Description : 适配器出入参 diff --git a/modules/i3plus-pojo-softswitch/src/main/java/cn/estsh/i3plus/pojo/softswitch/bean/BsSuitCaseREST.java b/modules/i3plus-pojo-softswitch/src/main/java/cn/estsh/i3plus/pojo/softswitch/bean/BsSuitCaseREST.java new file mode 100644 index 0000000..fad903c --- /dev/null +++ b/modules/i3plus-pojo-softswitch/src/main/java/cn/estsh/i3plus/pojo/softswitch/bean/BsSuitCaseREST.java @@ -0,0 +1,48 @@ +package cn.estsh.i3plus.pojo.softswitch.bean; + +import cn.estsh.i3plus.pojo.base.bean.BaseBean; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiParam; +import lombok.Data; +import lombok.EqualsAndHashCode; +import org.hibernate.annotations.DynamicInsert; +import org.hibernate.annotations.DynamicUpdate; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.Table; +import javax.persistence.Transient; +import java.util.List; + +/** + * @Description : + * @Reference : + * @Author : yunhao + * @CreateDate : 2019-09-18 16:53 + * @Modify: + **/ +@Data +@Entity +@DynamicInsert +@DynamicUpdate +@EqualsAndHashCode(callSuper = true) +@Table(name = "BS_SUIT_CASE_REST") +@Api(value = "适配器出入参", description = "适配器出入参") +public class BsSuitCaseREST extends BaseBean { + + @Column(name = "SUIT_CASE_ID") + @ApiParam(value = "套件id") + @JsonSerialize(using = ToStringSerializer.class) + private Long suitCaseId; + + //CommonEnumUtil.HTTP_METHOD_TYPE + @Column(name = "REQUEST_METHOD_ID") + @ApiParam(value = "请求方式id") + private Integer requestMethodId; + + @Transient + @ApiParam(value = "请求头转换") + private List requestHeaderList; +} diff --git a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementSn.java b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementSn.java index a90feda..e6ba0ab 100644 --- a/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementSn.java +++ b/modules/i3plus-pojo-wms/src/main/java/cn/estsh/i3plus/pojo/wms/bean/WmsDocMovementSn.java @@ -106,8 +106,7 @@ public class WmsDocMovementSn extends BaseBean { @ApiParam("ERP库存地") private String erpWhNo; - @Column(name="SN_STATUS") - @ApiParam(value = "状态", example = "10") + @Transient @AnnoOutputColumn(refClass = WmsEnumUtil.STOCK_SN_STATUS.class,refForeignKey = "value",value = "description") public Integer itemStatus; }