tags/yfai-mes-ext-v1.0
gsz 1 year ago
commit 9b2531eb1c

@ -284,13 +284,26 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
MesException.throwMesBusiException("物料【%s】生产版本【%s】对应bom信息不存在",
mesWorkOrder.getPartNo(), mesProductVersion.getProductVersion());
}
//报工类型
if(MesExtEnumUtil.REPORT_TYPE.REPORT.getValue() == mesWorkOrder.getReportType()){
mesWorkOrder.setCompleteQty(MathOperation.add(mesWorkOrder.getNum(), mesWorkOrder.getCompleteQty()));
}else{
//冲销数量大于工单完成数量报错
if(mesWorkOrder.getNum() > mesWorkOrder.getCompleteQty()){
MesException.throwMesBusiException("冲销数量【%s】大于工单完成数量【%s】,不允许冲销",
mesWorkOrder.getNum(), mesWorkOrder.getCompleteQty());
}
mesWorkOrder.setCompleteQty(MathOperation.sub(mesWorkOrder.getCompleteQty(),mesWorkOrder.getNum()));
}
//更新工单状态
mesWorkOrder.setCompleteQty(MathOperation.add(mesWorkOrder.getNum(), mesWorkOrder.getCompleteQty()));
double unCompleteQty = MathOperation.sub(mesWorkOrder.getQty(), mesWorkOrder.getCompleteQty());
mesWorkOrder.setUnCompleteQty(unCompleteQty > 0 ? unCompleteQty : 0);
if (mesWorkOrder.getCompleteQty() >= mesWorkOrder.getQty()) {
if (mesWorkOrder.getCompleteQty() > mesWorkOrder.getQty()) {
MesException.throwMesBusiException("工单报工数量【%s】大于工单数量【%s】,不允许报工",
mesWorkOrder.getCompleteQty(), mesWorkOrder.getQty());
}else if(Objects.equals(mesWorkOrder.getCompleteQty(),mesWorkOrder.getQty())){
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue());
} else {
}else {
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.process.getValue());
}
update(mesWorkOrder);
@ -321,6 +334,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
newMesProductOffLine.setWorkOrderNo(mesWorkOrder.getOrderNo());
newMesProductOffLine.setWorkCenterCode(mesWorkOrder.getWorkCenterCode());
newMesProductOffLine.setWorkCellCode(mesWorkOrder.getWorkCellCode());
newMesProductOffLine.setReportType(mesWorkOrder.getReportType());
ConvertBean.serviceModelInitialize(newMesProductOffLine, mesWorkOrder.getCreateUser());
mesProductOffLineList.add(newMesProductOffLine);

@ -2036,4 +2036,87 @@ public class MesExtEnumUtil {
}
}
/**
* -
*/
@JsonFormat(
shape = JsonFormat.Shape.OBJECT
)
public static enum REPORT_TYPE {
REPORT(10, "报工"),
WRITE_OFF(20, "冲销");
private int value;
private String description;
private REPORT_TYPE(int value, String description) {
this.value = value;
this.description = 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;
}
public int getValue() {
return this.value;
}
public String getDescription() {
return this.description;
}
}
public enum MES_PART_TYPE {
RAW_MATERIAL("10", "原材料"),
PARTIALLY_PREPARED_PRODUCTS("20", "半成品"),
FINISHED_PRODUCT("30", "成品"),
CONTAINER_PRODUCT("40", "容器"),
UTENSIL("50", "器具"),
WORKING_HOURS("60", "工时");
private String value;
private String description;
MES_PART_TYPE(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;
}
public static String descriptionOfValue(String val) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].description.equals(val)) {
tmp = values()[i].value;
}
}
return tmp;
}
}
}

Loading…
Cancel
Save