强插生产计划前提交

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,27 +63,27 @@ 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; // int value = 1 << bitIndex;
if ((this.serialNumber & value) == 0) { // if ((this.serialNumber & value) == 0) {
this.serialNumber |= value; // this.serialNumber |= value;
newSerial = true; // newSerial = true;
return bitIndex; // return bitIndex;
} // }
} // }
//
return 0; // return 0;
} // }
//
public void recoverNumber(int value) { // public void recoverNumber(int value) {
if (newSerial == null || !newSerial) { // if (newSerial == null || !newSerial) {
return; // return;
} // }
//
value = ~(1 << value); // value = ~(1 << value);
this.serialNumber &= value; // this.serialNumber &= value;
} // }
public BaseOrder getProductOrder() { public BaseOrder getProductOrder() {
return BeanRelation.get(this, EParentWork.ProductOrder); return BeanRelation.get(this, EParentWork.ProductOrder);
@ -103,4 +107,70 @@ public class ParentWork extends BaseAPS {
public List<Work> getWorks() { public List<Work> getWorks() {
return BeanRelation.list(this, EParentWork.Works); 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