强插生产计划前提交

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.BeanRelation;
import cn.estsh.i3plus.pojo.aps.holders.EParentWork;
import cn.estsh.i3plus.pojo.aps.tool.APSDoubleTool;
import com.fasterxml.jackson.annotation.JsonBackReference;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiParam;
@ -44,6 +43,11 @@ public class ParentWork extends BaseAPS {
@FieldAnnotation(property = false)
private Integer serialNumber = 0;
@Column(name="POST_SERIAL_NUMBER")
@ApiParam(value ="子工作流水号")
@FieldAnnotation(property = false)
private Integer postSerialNumber = 0;
@Column(name="NEW_SERIAL")
@ApiParam(value ="拆分工作流水号")
@FieldAnnotation(property = false)
@ -59,27 +63,27 @@ public class ParentWork extends BaseAPS {
@FieldAnnotation(property = false)
private Long operationId;
public int getCodeNumber() {
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 int getCodeNumber() {
// 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);
@ -103,4 +107,70 @@ public class ParentWork extends BaseAPS {
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;
if ((this.serialNumber & value) == 0) {
this.serialNumber |= value;
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 0;
}
public void cycleNumber(int number) {
if (newSerial == null || !newSerial) {
return;
}
cyclePrevNumber(number);
cyclePostNumber(number);
}
private void cyclePrevNumber(int number) {
if (number % 10 > 0) {
return;
}
number /= 10;
number = ~(1 << number);
this.serialNumber &= number;
}
private void cyclePostNumber(int number) {
number %= 10;
if (number == 0) {
return;
}
if (this.postSerialNumber == null) {
this.postSerialNumber = 0;
}
number = ~(1 << number);
this.postSerialNumber &= number;
}
}

Loading…
Cancel
Save