add order spread to aps

yun-zuoyi
钮海涛 6 years ago
parent 1d281da531
commit 10ce1e165e

@ -5,11 +5,13 @@ import cn.estsh.i3plus.pojo.aps.common.BaseAPS;
import cn.estsh.i3plus.pojo.aps.common.BaseCode; import cn.estsh.i3plus.pojo.aps.common.BaseCode;
import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.common.BeanRelation;
import cn.estsh.i3plus.pojo.aps.holders.EBaseOrder; import cn.estsh.i3plus.pojo.aps.holders.EBaseOrder;
import com.fasterxml.jackson.annotation.JsonBackReference;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.MappedSuperclass;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -21,6 +23,7 @@ import java.util.List;
* @Modify: * @Modify:
**/ **/
@Data @Data
@MappedSuperclass
@Api("订单基类") @Api("订单基类")
public class BaseOrder extends BaseCode { public class BaseOrder extends BaseCode {
@Column(name="COUNT") @Column(name="COUNT")
@ -60,6 +63,7 @@ public class BaseOrder extends BaseCode {
@FieldAnnotation(property = false) @FieldAnnotation(property = false)
private Long materialId; private Long materialId;
@JsonBackReference
public List<Work> getWorks() { public List<Work> getWorks() {
return BeanRelation.list(this, EBaseOrder.Works); return BeanRelation.list(this, EBaseOrder.Works);
} }
@ -73,18 +77,22 @@ public class BaseOrder extends BaseCode {
BeanRelation.set(this, EBaseOrder.Material, material); BeanRelation.set(this, EBaseOrder.Material, material);
} }
@JsonBackReference
public List<WorkRelation> getPrevRelations() { public List<WorkRelation> getPrevRelations() {
return BeanRelation.list(this, EBaseOrder.PrevRelations); return BeanRelation.list(this, EBaseOrder.PrevRelations);
} }
@JsonBackReference
public List<WorkRelation> getPostRelations() { public List<WorkRelation> getPostRelations() {
return BeanRelation.list(this, EBaseOrder.PostRelations); return BeanRelation.list(this, EBaseOrder.PostRelations);
} }
@JsonBackReference
public List<BaseOrder> getUpperOrders() { public List<BaseOrder> getUpperOrders() {
return BeanRelation.list(this, EBaseOrder.UpperOrders); return BeanRelation.list(this, EBaseOrder.UpperOrders);
} }
@JsonBackReference
public List<BaseOrder> getLowerOrders() { public List<BaseOrder> getLowerOrders() {
return BeanRelation.list(this, EBaseOrder.LowerOrders); return BeanRelation.list(this, EBaseOrder.LowerOrders);
} }

@ -4,6 +4,7 @@ import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation;
import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.common.BaseAPS;
import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.common.BeanRelation;
import cn.estsh.i3plus.pojo.aps.holders.EExportProject; import cn.estsh.i3plus.pojo.aps.holders.EExportProject;
import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
@ -45,6 +46,7 @@ public class ExportProject extends BaseAPS {
BeanRelation.set(this, EExportProject.Link, link); BeanRelation.set(this, EExportProject.Link, link);
} }
@JsonBackReference
public List<ExportDetail> getDetails() { public List<ExportDetail> getDetails() {
return BeanRelation.list(this, EExportProject.Details); return BeanRelation.list(this, EExportProject.Details);
} }

@ -4,6 +4,7 @@ import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation;
import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.common.BaseAPS;
import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.common.BeanRelation;
import cn.estsh.i3plus.pojo.aps.holders.EImportProject; import cn.estsh.i3plus.pojo.aps.holders.EImportProject;
import com.fasterxml.jackson.annotation.JsonBackReference;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
@ -43,6 +44,7 @@ public class ImportProject extends BaseAPS {
BeanRelation.set(this, EImportProject.Link, link); BeanRelation.set(this, EImportProject.Link, link);
} }
@JsonBackReference
public List<ImportDetail> getDetails() { public List<ImportDetail> getDetails() {
return BeanRelation.list(this, EImportProject.Details); return BeanRelation.list(this, EImportProject.Details);
} }

@ -2,6 +2,7 @@ package cn.estsh.i3plus.pojo.aps.bean;
import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.common.BeanRelation;
import cn.estsh.i3plus.pojo.aps.holders.EBaseOrder; import cn.estsh.i3plus.pojo.aps.holders.EBaseOrder;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
@ -38,6 +39,7 @@ public class Inventory extends BaseOrder {
@ApiParam(value ="多余量") @ApiParam(value ="多余量")
private Double excessCount; private Double excessCount;
@JsonIgnore
public Work getWork() { public Work getWork() {
return BeanRelation.get(this, EBaseOrder.Works); return BeanRelation.get(this, EBaseOrder.Works);
} }

@ -6,6 +6,7 @@ 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.PREPARE_TYPE;
import cn.estsh.i3plus.pojo.aps.enums.REPLENISHMENT_TYPE; import cn.estsh.i3plus.pojo.aps.enums.REPLENISHMENT_TYPE;
import cn.estsh.i3plus.pojo.aps.holders.EMaterial; import cn.estsh.i3plus.pojo.aps.holders.EMaterial;
import com.fasterxml.jackson.annotation.JsonBackReference;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
@ -107,30 +108,37 @@ public class Material extends BaseCode {
@ApiParam(value ="最大库存数量") @ApiParam(value ="最大库存数量")
private Double maxStockCount; private Double maxStockCount;
@JsonBackReference
public List<ProductRouting> getProductRoutings() { public List<ProductRouting> getProductRoutings() {
return BeanRelation.list(this, EMaterial.ProductRoutings); return BeanRelation.list(this, EMaterial.ProductRoutings);
} }
@JsonBackReference
public List<OperInput> getOperInputs() { public List<OperInput> getOperInputs() {
return BeanRelation.list(this, EMaterial.OperInputs); return BeanRelation.list(this, EMaterial.OperInputs);
} }
@JsonBackReference
public List<OperOutput> getOperOutputs() { public List<OperOutput> getOperOutputs() {
return BeanRelation.list(this, EMaterial.OperOutputs); return BeanRelation.list(this, EMaterial.OperOutputs);
} }
@JsonBackReference
public List<WorkInput> getWorkInputs() { public List<WorkInput> getWorkInputs() {
return BeanRelation.list(this, EMaterial.WorkInputs); return BeanRelation.list(this, EMaterial.WorkInputs);
} }
@JsonBackReference
public List<WorkOutput> getWorkOutputs() { public List<WorkOutput> getWorkOutputs() {
return BeanRelation.list(this, EMaterial.WorkOutputs); return BeanRelation.list(this, EMaterial.WorkOutputs);
} }
@JsonBackReference
public List<WorkRelation> getWorkRelations() { public List<WorkRelation> getWorkRelations() {
return BeanRelation.list(this, EMaterial.WorkRelations); return BeanRelation.list(this, EMaterial.WorkRelations);
} }
@JsonBackReference
public List<BaseOrder> getOrders() { public List<BaseOrder> getOrders() {
return BeanRelation.list(this, EMaterial.Orders); return BeanRelation.list(this, EMaterial.Orders);
} }

@ -5,6 +5,7 @@ import cn.estsh.i3plus.pojo.aps.common.BaseAPS;
import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.common.BeanRelation;
import cn.estsh.i3plus.pojo.aps.enums.CONSTRAINT_TYPE; import cn.estsh.i3plus.pojo.aps.enums.CONSTRAINT_TYPE;
import cn.estsh.i3plus.pojo.aps.holders.EOperInput; import cn.estsh.i3plus.pojo.aps.holders.EOperInput;
import com.fasterxml.jackson.annotation.JsonBackReference;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
@ -78,6 +79,7 @@ public class OperInput extends BaseAPS {
BeanRelation.set(this, EOperInput.Material, material); BeanRelation.set(this, EOperInput.Material, material);
} }
@JsonBackReference
public List<WorkInput> getWorkInputs() { public List<WorkInput> getWorkInputs() {
return BeanRelation.list(this, EOperInput.WorkInputs); return BeanRelation.list(this, EOperInput.WorkInputs);
} }

@ -4,6 +4,7 @@ import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation;
import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.common.BaseAPS;
import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.common.BeanRelation;
import cn.estsh.i3plus.pojo.aps.holders.EOperOutput; import cn.estsh.i3plus.pojo.aps.holders.EOperOutput;
import com.fasterxml.jackson.annotation.JsonBackReference;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
@ -65,6 +66,7 @@ public class OperOutput extends BaseAPS {
BeanRelation.set(this, EOperOutput.Material, material); BeanRelation.set(this, EOperOutput.Material, material);
} }
@JsonBackReference
public List<WorkOutput> getWorkOutputs() { public List<WorkOutput> getWorkOutputs() {
return BeanRelation.list(this, EOperOutput.WorkOutputs); return BeanRelation.list(this, EOperOutput.WorkOutputs);
} }

@ -5,6 +5,7 @@ import cn.estsh.i3plus.pojo.aps.common.BaseAPS;
import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.common.BeanRelation;
import cn.estsh.i3plus.pojo.aps.enums.USE_TYPE; import cn.estsh.i3plus.pojo.aps.enums.USE_TYPE;
import cn.estsh.i3plus.pojo.aps.holders.EOperResource; import cn.estsh.i3plus.pojo.aps.holders.EOperResource;
import com.fasterxml.jackson.annotation.JsonBackReference;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
@ -86,6 +87,7 @@ public class OperResource extends BaseAPS {
BeanRelation.set(this, EOperResource.Resource, res); BeanRelation.set(this, EOperResource.Resource, res);
} }
@JsonBackReference
public List<WorkResource> getWorkResources() { public List<WorkResource> getWorkResources() {
return BeanRelation.list(this, EOperResource.WorkResources); return BeanRelation.list(this, EOperResource.WorkResources);
} }

@ -6,6 +6,7 @@ import cn.estsh.i3plus.pojo.aps.common.BeanRelation;
import cn.estsh.i3plus.pojo.aps.enums.CONSTRAINT_TYPE; import cn.estsh.i3plus.pojo.aps.enums.CONSTRAINT_TYPE;
import cn.estsh.i3plus.pojo.aps.enums.TAIL_DEAL; import cn.estsh.i3plus.pojo.aps.enums.TAIL_DEAL;
import cn.estsh.i3plus.pojo.aps.holders.EOperation; import cn.estsh.i3plus.pojo.aps.holders.EOperation;
import com.fasterxml.jackson.annotation.JsonBackReference;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
@ -96,14 +97,17 @@ public class Operation extends BaseAPS {
BeanRelation.set(this, EOperation.ProductRouting, routing); BeanRelation.set(this, EOperation.ProductRouting, routing);
} }
@JsonBackReference
public List<OperInput> getOperInputs() { public List<OperInput> getOperInputs() {
return BeanRelation.list(this, EOperation.OperInputs); return BeanRelation.list(this, EOperation.OperInputs);
} }
@JsonBackReference
public List<OperOutput> getOperOutputs() { public List<OperOutput> getOperOutputs() {
return BeanRelation.list(this, EOperation.OperOutputs); return BeanRelation.list(this, EOperation.OperOutputs);
} }
@JsonBackReference
public List<Resource> getOperResources() { public List<Resource> getOperResources() {
return BeanRelation.list(this, EOperation.OperResources); return BeanRelation.list(this, EOperation.OperResources);
} }
@ -117,6 +121,7 @@ public class Operation extends BaseAPS {
BeanRelation.set(this, EOperation.StandOperation, std); BeanRelation.set(this, EOperation.StandOperation, std);
} }
@JsonBackReference
public List<Work> getWorks() { public List<Work> getWorks() {
return BeanRelation.list(this, EOperation.Works); return BeanRelation.list(this, EOperation.Works);
} }

@ -0,0 +1,53 @@
package cn.estsh.i3plus.pojo.aps.bean;
import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation;
import cn.estsh.i3plus.pojo.aps.common.BaseAPS;
import cn.estsh.i3plus.pojo.aps.common.BeanRelation;
import cn.estsh.i3plus.pojo.aps.holders.EParentWork;
import com.fasterxml.jackson.annotation.JsonBackReference;
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-17
* @Modify:
**/
@Data
@Entity
@Table(name = "APS_PARENT_WORK")
@Api("父工作")
public class ParentWork extends BaseAPS {
@Column(name="count")
@ApiParam(value ="数量")
private Double count;
@Column(name="PRODUCT_ORDER_ID")
@ApiParam(value ="订单")
@FieldAnnotation(property = false)
private Long productOrderId;
public BaseOrder getProductOrder() {
return BeanRelation.get(this, EParentWork.ProductOrder);
}
public void setProductOrder(ProductOrder order) {
this.productOrderId = order != null ? order.getId() : 0l;
BeanRelation.set(this, EParentWork.ProductOrder, order);
}
@JsonBackReference
public List<Work> getWorks() {
return BeanRelation.list(this, EParentWork.Works);
}
}

@ -4,6 +4,7 @@ import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation;
import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.common.BeanRelation;
import cn.estsh.i3plus.pojo.aps.holders.EProductOrder; import cn.estsh.i3plus.pojo.aps.holders.EProductOrder;
import cn.estsh.i3plus.pojo.aps.holders.EProductRouting; import cn.estsh.i3plus.pojo.aps.holders.EProductRouting;
import com.fasterxml.jackson.annotation.JsonBackReference;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
@ -12,6 +13,7 @@ import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
import javax.persistence.Table; import javax.persistence.Table;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @Description : * @Description :
@ -85,6 +87,10 @@ public class ProductOrder extends BaseOrder {
@ApiParam(value ="缺少量") @ApiParam(value ="缺少量")
private Double lackCount; private Double lackCount;
@Column(name="AUTO_SUPPLY")
@ApiParam(value ="物料计算时自动补充")
private Boolean autoSupply;
@Column(name="PRODUCT_ROUTING_ID") @Column(name="PRODUCT_ROUTING_ID")
@ApiParam(value ="工艺路线") @ApiParam(value ="工艺路线")
@FieldAnnotation(property = false) @FieldAnnotation(property = false)
@ -98,4 +104,7 @@ public class ProductOrder extends BaseOrder {
this.productRoutingId = routing != null ? routing.getId() : 0l; this.productRoutingId = routing != null ? routing.getId() : 0l;
BeanRelation.set(this, EProductOrder.ProductRouting, routing); BeanRelation.set(this, EProductOrder.ProductRouting, routing);
} }
@JsonBackReference
public List<ParentWork> getParentWorks() { return BeanRelation.list(this, EProductOrder.ParentWorks); }
} }

@ -4,6 +4,7 @@ import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation;
import cn.estsh.i3plus.pojo.aps.common.BaseCode; import cn.estsh.i3plus.pojo.aps.common.BaseCode;
import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.common.BeanRelation;
import cn.estsh.i3plus.pojo.aps.holders.EProductRouting; import cn.estsh.i3plus.pojo.aps.holders.EProductRouting;
import com.fasterxml.jackson.annotation.JsonBackReference;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
@ -52,10 +53,12 @@ public class ProductRouting extends BaseCode {
BeanRelation.set(this, EProductRouting.Material, material); BeanRelation.set(this, EProductRouting.Material, material);
} }
@JsonBackReference
public List<Operation> getOperations() { public List<Operation> getOperations() {
return BeanRelation.list(this, EProductRouting.Operations); return BeanRelation.list(this, EProductRouting.Operations);
} }
@JsonBackReference
public List<ProductOrder> getProductOrders() { public List<ProductOrder> getProductOrders() {
return BeanRelation.list(this, EProductRouting.ProductOrders); return BeanRelation.list(this, EProductRouting.ProductOrders);
} }

@ -2,6 +2,7 @@ package cn.estsh.i3plus.pojo.aps.bean;
import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.common.BeanRelation;
import cn.estsh.i3plus.pojo.aps.holders.EBaseOrder; import cn.estsh.i3plus.pojo.aps.holders.EBaseOrder;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
@ -46,6 +47,11 @@ public class PurchaseOrder extends BaseOrder {
@ApiParam(value ="多余量") @ApiParam(value ="多余量")
private Double excessCount; private Double excessCount;
@Column(name="AUTO_SUPPLY")
@ApiParam(value ="物料计算时自动补充")
private Boolean autoSupply;
@JsonIgnore
public Work getWork() { public Work getWork() {
return BeanRelation.get(this, EBaseOrder.Works); return BeanRelation.get(this, EBaseOrder.Works);
} }

@ -2,6 +2,7 @@ package cn.estsh.i3plus.pojo.aps.bean;
import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.common.BeanRelation;
import cn.estsh.i3plus.pojo.aps.holders.EBaseOrder; import cn.estsh.i3plus.pojo.aps.holders.EBaseOrder;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
@ -43,6 +44,7 @@ public class SalesOrder extends BaseOrder {
@ApiParam(value ="提前期计算值") @ApiParam(value ="提前期计算值")
private String calcLeadTime; private String calcLeadTime;
@JsonIgnore
public Work getWork() { public Work getWork() {
return BeanRelation.get(this, EBaseOrder.Works); return BeanRelation.get(this, EBaseOrder.Works);
} }

@ -6,6 +6,7 @@ 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_STATUS;
import cn.estsh.i3plus.pojo.aps.enums.WORK_TYPE; import cn.estsh.i3plus.pojo.aps.enums.WORK_TYPE;
import cn.estsh.i3plus.pojo.aps.holders.EWork; import cn.estsh.i3plus.pojo.aps.holders.EWork;
import com.fasterxml.jackson.annotation.JsonBackReference;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
@ -115,22 +116,27 @@ public class Work extends BaseCode {
BeanRelation.set(this, EWork.Order, order); BeanRelation.set(this, EWork.Order, order);
} }
@JsonBackReference
public List<WorkResource> getWorkResources() { public List<WorkResource> getWorkResources() {
return BeanRelation.list(this, EWork.WorkResources); return BeanRelation.list(this, EWork.WorkResources);
} }
@JsonBackReference
public List<WorkInput> getWorkInputs() { public List<WorkInput> getWorkInputs() {
return BeanRelation.list(this, EWork.WorkInputs); return BeanRelation.list(this, EWork.WorkInputs);
} }
@JsonBackReference
public List<WorkOutput> getWorkOutputs() { public List<WorkOutput> getWorkOutputs() {
return BeanRelation.list(this, EWork.WorkOutputs); return BeanRelation.list(this, EWork.WorkOutputs);
} }
@JsonBackReference
public List<WorkRelation> getWorkRelationInputs() { public List<WorkRelation> getWorkRelationInputs() {
return BeanRelation.list(this, EWork.WorkRelationInputs); return BeanRelation.list(this, EWork.WorkRelationInputs);
} }
@JsonBackReference
public List<WorkRelation> getWorkRelationOutputs() { public List<WorkRelation> getWorkRelationOutputs() {
return BeanRelation.list(this, EWork.WorkRelationOutputs); return BeanRelation.list(this, EWork.WorkRelationOutputs);
} }
@ -144,6 +150,7 @@ public class Work extends BaseCode {
BeanRelation.set(this, EWork.Operation, oper); BeanRelation.set(this, EWork.Operation, oper);
} }
@JsonBackReference
public List<PlanFeedback> getPlanFeedbacks() { public List<PlanFeedback> getPlanFeedbacks() {
return BeanRelation.list(this, EWork.PlanFeedbacks); return BeanRelation.list(this, EWork.PlanFeedbacks);
} }

@ -4,6 +4,7 @@ import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation;
import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.common.BaseAPS;
import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.common.BeanRelation;
import cn.estsh.i3plus.pojo.aps.holders.EWorkInput; import cn.estsh.i3plus.pojo.aps.holders.EWorkInput;
import com.fasterxml.jackson.annotation.JsonBackReference;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
@ -62,6 +63,7 @@ public class WorkInput extends BaseAPS {
BeanRelation.set(this, EWorkInput.Work, work); BeanRelation.set(this, EWorkInput.Work, work);
} }
@JsonBackReference
public List<WorkRelation> getWorkRelations() { public List<WorkRelation> getWorkRelations() {
return BeanRelation.list(this, EWorkInput.WorkRelations); return BeanRelation.list(this, EWorkInput.WorkRelations);
} }

@ -4,6 +4,7 @@ import cn.estsh.i3plus.pojo.aps.annotation.FieldAnnotation;
import cn.estsh.i3plus.pojo.aps.common.BaseAPS; import cn.estsh.i3plus.pojo.aps.common.BaseAPS;
import cn.estsh.i3plus.pojo.aps.common.BeanRelation; import cn.estsh.i3plus.pojo.aps.common.BeanRelation;
import cn.estsh.i3plus.pojo.aps.holders.EWorkOutput; import cn.estsh.i3plus.pojo.aps.holders.EWorkOutput;
import com.fasterxml.jackson.annotation.JsonBackReference;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import lombok.Data; import lombok.Data;
@ -63,6 +64,7 @@ public class WorkOutput extends BaseAPS {
BeanRelation.set(this, EWorkOutput.Work, work); BeanRelation.set(this, EWorkOutput.Work, work);
} }
@JsonBackReference
public List<WorkRelation> getWorkRelations() { public List<WorkRelation> getWorkRelations() {
return BeanRelation.list(this, EWorkOutput.WorkRelations); return BeanRelation.list(this, EWorkOutput.WorkRelations);
} }

@ -4,6 +4,7 @@ import cn.estsh.i3plus.pojo.aps.enums.FIELD_TYPE;
import cn.estsh.i3plus.pojo.base.bean.BaseBean; import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import java.util.*; import java.util.*;
import java.util.function.Consumer;
public class BeanInfo { public class BeanInfo {
private Class<? extends BaseBean> cls; private Class<? extends BaseBean> cls;
@ -103,6 +104,14 @@ public class BeanInfo {
return null; return null;
} }
public Class<? extends BaseBean> getRelationClass(Enum<?> holder) {
RelationInfo relaInfo = getRelationInfo(holder);
if (relaInfo != null) {
return relaInfo.getBeanInfo().getBeanClass();
}
return null;
}
public RELATION_TYPE getRelationType(Enum<?> holder) { public RELATION_TYPE getRelationType(Enum<?> holder) {
RelationInfo relaInfo = getRelationInfo(holder); RelationInfo relaInfo = getRelationInfo(holder);
if (relaInfo != null) { if (relaInfo != null) {
@ -120,31 +129,40 @@ public class BeanInfo {
return RELATION_TYPE.INVALID; return RELATION_TYPE.INVALID;
} }
public List<Enum<?>> getAllHolders() { private void foreach(Consumer<RelationInfo> fun) {
List<Enum<?>> holders = new ArrayList<>();
for (Map.Entry<Enum<?>, RelationInfo> entry : relations.entrySet()) { for (Map.Entry<Enum<?>, RelationInfo> entry : relations.entrySet()) {
holders.add(entry.getKey()); fun.accept(entry.getValue());
}
if (this.superBeanInfo != null) {
this.superBeanInfo.foreach(fun);
} }
}
public List<Enum<?>> getAllHolders() {
List<Enum<?>> holders = new ArrayList<>();
foreach((RelationInfo info)->{
holders.add(info.getHolder());
});
return holders; return holders;
} }
public List<Enum<?>> getOwnerHolders() { public List<Enum<?>> getOwnerHolders() {
List<Enum<?>> owners = new ArrayList<>(); List<Enum<?>> owners = new ArrayList<>();
for (Map.Entry<Enum<?>, RelationInfo> entry : relations.entrySet()) { foreach((RelationInfo info)->{
if (entry.getValue().isOwner()) { if (info.isOwner()) {
owners.add(entry.getKey()); owners.add(info.getHolder());
}
} }
});
return owners; return owners;
} }
public List<Enum<?>> getNormalSigns() { public List<Enum<?>> getNormalSigns() {
List<Enum<?>> holders = new ArrayList<>(); List<Enum<?>> holders = new ArrayList<>();
for (Map.Entry<Enum<?>, RelationInfo> entry : relations.entrySet()) { foreach((RelationInfo info)->{
if (!entry.getValue().isOwner()) { if (!info.isOwner()) {
holders.add(entry.getKey()); holders.add(info.getHolder());
}
} }
});
return holders; return holders;
} }

@ -25,7 +25,7 @@ public class DateDuration {
public static final double PRECISION = 0.00001; public static final double PRECISION = 0.00001;
private String value; private String value;
private int time = 0; private long time = 0;
private double rate = 0.0; private double rate = 0.0;
private boolean bValid = false; private boolean bValid = false;
@ -60,7 +60,7 @@ public class DateDuration {
* 0 * 0
* @return * @return
*/ */
public int getTime() { public long getTime() {
return this.time; return this.time;
} }
@ -68,7 +68,7 @@ public class DateDuration {
* *
* @return * @return
*/ */
public void setTime(int time) { public void setTime(long time) {
this.time = time; this.time = time;
} }
@ -92,25 +92,25 @@ public class DateDuration {
return "0S"; return "0S";
} }
int iMaxTimeUnit = 4; long iMaxTimeUnit = 4;
StringBuffer strExtraString = new StringBuffer(); StringBuffer strExtraString = new StringBuffer();
int extraTime = this.time; long extraTime = this.time;
if (iMaxTimeUnit >= 4) { if (iMaxTimeUnit >= 4) {
int i = extraTime / 86400; long i = extraTime / 86400;
if (i > 0) { if (i > 0) {
strExtraString.append(i).append("D"); strExtraString.append(i).append("D");
} }
extraTime -= i * 86400; extraTime -= i * 86400;
} }
if (iMaxTimeUnit >= 3) { if (iMaxTimeUnit >= 3) {
int i = extraTime / 3600; long i = extraTime / 3600;
if (i > 0) { if (i > 0) {
strExtraString.append(i).append("H"); strExtraString.append(i).append("H");
} }
extraTime -= i * 3600; extraTime -= i * 3600;
} }
if (iMaxTimeUnit >= 2) { if (iMaxTimeUnit >= 2) {
int i = extraTime / 60; long i = extraTime / 60;
if (i > 0) { if (i > 0) {
strExtraString.append(i).append("M"); strExtraString.append(i).append("M");
} }

@ -10,5 +10,6 @@ package cn.estsh.i3plus.pojo.aps.enums;
public enum MATERIAL_TYPE { public enum MATERIAL_TYPE {
PRODUCT, // 成品 PRODUCT, // 成品
HALF_PRODUCT, // 半成品 HALF_PRODUCT, // 半成品
RAW_MATERIAL // 原材料 RAW_MATERIAL, // 原材料
VIRTUAL // 虚拟件
} }

@ -0,0 +1,6 @@
package cn.estsh.i3plus.pojo.aps.holders;
public enum EParentWork {
ProductOrder,
Works
}

@ -1,5 +1,6 @@
package cn.estsh.i3plus.pojo.aps.holders; package cn.estsh.i3plus.pojo.aps.holders;
public enum EProductOrder { public enum EProductOrder {
ProductRouting ProductRouting,
ParentWorks
} }

@ -2,6 +2,7 @@ package cn.estsh.i3plus.pojo.aps.holders;
public enum EWork { public enum EWork {
Order, Order,
ParentWork,
WorkResources, WorkResources,
WorkInputs, WorkInputs,
WorkOutputs, WorkOutputs,

@ -0,0 +1,9 @@
package cn.estsh.i3plus.pojo.aps.repository;
import cn.estsh.i3plus.pojo.aps.bean.ParentWork;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface ParentWorkRepository extends CrudRepository<ParentWork, Long> {
}

@ -8,6 +8,4 @@
</Relation> </Relation>
<Relation field="PostRelations" name="WorkRelation" reverse="PostOrder" type="ONE_TO_MULTI" owner="false"> <Relation field="PostRelations" name="WorkRelation" reverse="PostOrder" type="ONE_TO_MULTI" owner="false">
</Relation> </Relation>
<Relation field="UpperOrders" name="BaseOrder" reverse="LowerOrders" type="MULTI_TO_MULTI" owner="false">
</Relation>
</Class> </Class>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<Class name="ParentWork">
<Relation field="Works" name="Work" reverse="ParentWork" type="ONE_TO_MULTI" owner="true">
</Relation>
</Class>

@ -1,3 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Class name="ProductOrder" extends="BaseOrder"> <Class name="ProductOrder" extends="BaseOrder">
<Relation field="ParentWorks" name="ParentWork" reverse="ProductOrder" type="ONE_TO_MULTI" owner="true">
</Relation>
</Class> </Class>
Loading…
Cancel
Save