强插生产计划前提交

yun-zuoyi
钮海涛 4 years ago
parent 80851b5a06
commit f74038f88c

@ -5,7 +5,6 @@ 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.EParentWork; import cn.estsh.i3plus.pojo.aps.holders.EParentWork;
import cn.estsh.i3plus.pojo.aps.tool.APSDoubleTool;
import com.fasterxml.jackson.annotation.JsonBackReference; 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;
@ -44,6 +43,11 @@ public class ParentWork extends BaseAPS {
@FieldAnnotation(property = false) @FieldAnnotation(property = false)
private Integer serialNumber = 0; private Integer serialNumber = 0;
@Column(name="POST_SERIAL_NUMBER")
@ApiParam(value ="子工作流水号")
@FieldAnnotation(property = false)
private Integer postSerialNumber = 0;
@Column(name="NEW_SERIAL") @Column(name="NEW_SERIAL")
@ApiParam(value ="拆分工作流水号") @ApiParam(value ="拆分工作流水号")
@FieldAnnotation(property = false) @FieldAnnotation(property = false)
@ -59,12 +63,78 @@ public class ParentWork extends BaseAPS {
@FieldAnnotation(property = false) @FieldAnnotation(property = false)
private Long operationId; private Long operationId;
public int getCodeNumber() { // public int getCodeNumber() {
for (int bitIndex = 0; bitIndex < 10; ++bitIndex) { // for (int bitIndex = 0; bitIndex < 10; ++bitIndex) {
// int value = 1 << bitIndex;
// if ((this.serialNumber & value) == 0) {
// this.serialNumber |= value;
// newSerial = true;
// return bitIndex;
// }
// }
//
// return 0;
// }
//
// public void recoverNumber(int value) {
// if (newSerial == null || !newSerial) {
// return;
// }
//
// value = ~(1 << value);
// this.serialNumber &= value;
// }
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);
}
public Operation getOperation() {
return BeanRelation.get(this, EParentWork.Operation);
}
public void setOperation(Operation oper) {
this.operationId = oper != null ? oper.getId() : 0L;
BeanRelation.set(this, EParentWork.Operation, oper);
}
@JsonBackReference
public List<Work> getWorks() {
return BeanRelation.list(this, EParentWork.Works);
}
public int createNew() {
return getPrevNumber() * 10;
}
public int createContinue(int number) {
number /= 10;
return number * 10 + getPostNumber();
}
private int getPrevNumber() {
for (int bitIndex = 1; bitIndex < 10; ++bitIndex) {
int value = 1 << bitIndex; int value = 1 << bitIndex;
if ((this.serialNumber & value) == 0) { if ((this.serialNumber & value) == 0) {
this.serialNumber |= value; this.serialNumber |= value;
newSerial = true; this.newSerial = true;
return bitIndex ;
}
}
return 0;
}
private int getPostNumber() {
for (int bitIndex = 1; bitIndex < 10; ++bitIndex) {
int value = 1 << bitIndex;
if ((this.postSerialNumber & value) == 0) {
this.postSerialNumber |= value;
return bitIndex; return bitIndex;
} }
} }
@ -72,35 +142,35 @@ public class ParentWork extends BaseAPS {
return 0; return 0;
} }
public void recoverNumber(int value) { public void cycleNumber(int number) {
if (newSerial == null || !newSerial) { if (newSerial == null || !newSerial) {
return; return;
} }
value = ~(1 << value); cyclePrevNumber(number);
this.serialNumber &= value; cyclePostNumber(number);
} }
public BaseOrder getProductOrder() { private void cyclePrevNumber(int number) {
return BeanRelation.get(this, EParentWork.ProductOrder); if (number % 10 > 0) {
return;
} }
public void setProductOrder(ProductOrder order) { number /= 10;
this.productOrderId = order != null ? order.getId() : 0L; number = ~(1 << number);
BeanRelation.set(this, EParentWork.ProductOrder, order); this.serialNumber &= number;
} }
public Operation getOperation() { private void cyclePostNumber(int number) {
return BeanRelation.get(this, EParentWork.Operation); number %= 10;
if (number == 0) {
return;
} }
if (this.postSerialNumber == null) {
public void setOperation(Operation oper) { this.postSerialNumber = 0;
this.operationId = oper != null ? oper.getId() : 0L;
BeanRelation.set(this, EParentWork.Operation, oper);
} }
@JsonBackReference number = ~(1 << number);
public List<Work> getWorks() { this.postSerialNumber &= number;
return BeanRelation.list(this, EParentWork.Works);
} }
} }

Loading…
Cancel
Save