问题清单修复

tags/yfai-mes-ext-v1.0
jun 10 months ago
parent 80ade2b239
commit 5e2b921ee9

@ -18,5 +18,4 @@ public interface IMesEquipmentVariableService extends IBaseMesService<MesEquipme
@ApiModelProperty("设备变量导入")
void addMesEquipmentVariable(List<Map<String, Object>> mapList, String equipmentCode, String userName, String organizeCode);
List<MesEquipmentVariable> validateReturnImport(List<MesEquipmentVariable> beanList);
}

@ -1,26 +1,26 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesEquipmentVariableService;
import cn.estsh.i3plus.ext.mes.api.base.IMesEquitmentService;
import cn.estsh.i3plus.ext.mes.apiservice.schedulejob.MesWorkOrderProcessCcscTaskToSapJob;
import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt;
import cn.estsh.i3plus.ext.mes.apiservice.unit.exception.MesException;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.mes.api.iservice.busi.ISyncFuncService;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipment;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipmentVariable;
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel;
import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentVariableRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.*;
@ -41,10 +41,19 @@ public class MesEquipmentVariableService extends BaseMesService<MesEquipmentVari
@Autowired
private MesEquipmentRepository equipmentRepository;
@Autowired
private ISyncFuncService syncFuncService;
protected void setPackQueryBean(MesEquipmentVariable bean, DdlPackBean packBean) {
DdlPreparedPack.getStringLikerPack(bean.getEquipmentCode(), "equipmentCode", packBean);
DdlPreparedPack.getStringLikerPack(bean.getCode(), "code", packBean);
}
@Override
protected void onInsertBean(MesEquipmentVariable item) {
item.setClientHandle(Integer.parseInt(getClientHandleId(1, item.getOrganizeCode(), item.getCreateUser()).get(0).replace(MesCommonConstant.CLIENT_HANDLE_ID,"")));
}
@Override
public void validateImport(List<MesEquipmentVariable> beanList) {
@ -91,7 +100,10 @@ public class MesEquipmentVariableService extends BaseMesService<MesEquipmentVari
@Override
public List<MesEquipmentVariable> validateReturnImport(List<MesEquipmentVariable> beanList) {
String organizeCode = AuthUtilExt.getOrganizeCode();
String userName = AuthUtilExt.getUserName();
if(CollectionUtils.isEmpty(beanList)) return beanList;
List<String> resultList = getClientHandleId(beanList.size(), organizeCode, userName);
int i = 1;
for (MesEquipmentVariable item : beanList) {
// 数据校验
@ -104,11 +116,18 @@ public class MesEquipmentVariableService extends BaseMesService<MesEquipmentVari
MesEquipment itemFlg = getMesEquipment(item.getOrganizeCode(),item.getEquipmentCode());
item.setEquipId(itemFlg.getEquipId());
item.setClientHandle(Integer.parseInt(resultList.get(i-1).replace(MesCommonConstant.CLIENT_HANDLE_ID,"")));
i++;
}
return beanList;
}
private List<String> getClientHandleId(int size, String organizeCode, String userName) {
GenSerialNoModel genSerialNoModel = new GenSerialNoModel(MesCommonConstant.CLIENT_HANDLE_ID);
List<String> resultList = syncFuncService.syncSerialNo(genSerialNoModel.organizeCode(organizeCode), userName, organizeCode, size).getResultList();
return resultList;
}
private MesEquipment getMesEquipment(String organizeCode,String equipmentCode) {
DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(equipmentCode, "equipmentCode", seriesPackBean);

@ -863,8 +863,8 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
MesException.throwMesBusiException("请检查工单数量,工单号[%s],工单数量[%s]报工数量[%s],且未配置超工单!", mesWorkOrder.getWorkOrderNo(), mesWorkOrder.getQty(), mesWorkOrder.getReportedQty());
}
// 如果配置了超工单,且比例已经超过了配置的超工单比例,也需要阻断
double rate = (mesWorkOrder.getReportedQty() - mesWorkOrder.getQty())/mesWorkOrder.getQty();
if (rate > workCenter.getOrderRate()) {
double rate = MathOperation.div((mesWorkOrderDb.getReportedQty() - mesWorkOrderDb.getQty()),mesWorkOrderDb.getQty());
if (rate > MathOperation.div(workCenter.getOrderRate(),100)) {
MesException.throwMesBusiException("请检查工单数量,工单号[%s],工单数量[%s]报工数量[%s],配置了超工单,但超过了比例[%s]!", mesWorkOrder.getWorkOrderNo(), mesWorkOrder.getQty(), mesWorkOrder.getReportedQty(), workCenter.getOrderRate());
}
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue());
@ -927,7 +927,7 @@ public class MesWorkOrderService extends BaseMesService<MesWorkOrder> implements
}
// 如果配置了超工单,且比例已经超过了配置的超工单比例,也需要阻断
double rate = (mesWorkOrder.getReportedQty() - mesWorkOrder.getQty())/mesWorkOrder.getQty();
if (rate > workCenter.getOrderRate()) {
if (rate > MathOperation.div(workCenter.getOrderRate(),100)) {
MesException.throwMesBusiException("请检查工单数量,工单号[%s],工单数量[%s]报工数量[%s],配置了超工单,但超过了比例[%s]!", mesWorkOrder.getWorkOrderNo(), mesWorkOrder.getQty(), mesWorkOrder.getReportedQty(), workCenter.getOrderRate());
}
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue());

@ -53,4 +53,7 @@ public class MesCommonConstant {
public static final String OUT_TIME_REWORK_ORDER_SEND_URL = "OUT_TIME_REWORK_ORDER_SEND_URL";
public static final String OUT_TIME_REWORK_ORDER_MINUTES = "OUT_TIME_REWORK_ORDER_MINUTES";
//OPC注册ID
public static final String CLIENT_HANDLE_ID = "CLIENT_HANDLE_ID";
}

Loading…
Cancel
Save