问题清单修复

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("设备变量导入") @ApiModelProperty("设备变量导入")
void addMesEquipmentVariable(List<Map<String, Object>> mapList, String equipmentCode, String userName, String organizeCode); 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; 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.IMesEquipmentVariableService;
import cn.estsh.i3plus.ext.mes.api.base.IMesEquitmentService; import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt;
import cn.estsh.i3plus.ext.mes.apiservice.schedulejob.MesWorkOrderProcessCcscTaskToSapJob;
import cn.estsh.i3plus.ext.mes.apiservice.unit.exception.MesException; 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.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean; 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.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.base.util.StringUtil; 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.MesEquipmentRepository;
import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentVariableRepository;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil; 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 cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.*; import java.util.*;
@ -41,10 +41,19 @@ public class MesEquipmentVariableService extends BaseMesService<MesEquipmentVari
@Autowired @Autowired
private MesEquipmentRepository equipmentRepository; private MesEquipmentRepository equipmentRepository;
@Autowired
private ISyncFuncService syncFuncService;
protected void setPackQueryBean(MesEquipmentVariable bean, DdlPackBean packBean) { protected void setPackQueryBean(MesEquipmentVariable bean, DdlPackBean packBean) {
DdlPreparedPack.getStringLikerPack(bean.getEquipmentCode(), "equipmentCode", packBean); DdlPreparedPack.getStringLikerPack(bean.getEquipmentCode(), "equipmentCode", packBean);
DdlPreparedPack.getStringLikerPack(bean.getCode(), "code", 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 @Override
public void validateImport(List<MesEquipmentVariable> beanList) { public void validateImport(List<MesEquipmentVariable> beanList) {
@ -91,7 +100,10 @@ public class MesEquipmentVariableService extends BaseMesService<MesEquipmentVari
@Override @Override
public List<MesEquipmentVariable> validateReturnImport(List<MesEquipmentVariable> beanList) { 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; int i = 1;
for (MesEquipmentVariable item : beanList) { for (MesEquipmentVariable item : beanList) {
// 数据校验 // 数据校验
@ -104,11 +116,18 @@ public class MesEquipmentVariableService extends BaseMesService<MesEquipmentVari
MesEquipment itemFlg = getMesEquipment(item.getOrganizeCode(),item.getEquipmentCode()); MesEquipment itemFlg = getMesEquipment(item.getOrganizeCode(),item.getEquipmentCode());
item.setEquipId(itemFlg.getEquipId()); item.setEquipId(itemFlg.getEquipId());
item.setClientHandle(Integer.parseInt(resultList.get(i-1).replace(MesCommonConstant.CLIENT_HANDLE_ID,"")));
i++; i++;
} }
return beanList; 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) { private MesEquipment getMesEquipment(String organizeCode,String equipmentCode) {
DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(organizeCode); DdlPackBean seriesPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(equipmentCode, "equipmentCode", seriesPackBean); 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()); MesException.throwMesBusiException("请检查工单数量,工单号[%s],工单数量[%s]报工数量[%s],且未配置超工单!", mesWorkOrder.getWorkOrderNo(), mesWorkOrder.getQty(), mesWorkOrder.getReportedQty());
} }
// 如果配置了超工单,且比例已经超过了配置的超工单比例,也需要阻断 // 如果配置了超工单,且比例已经超过了配置的超工单比例,也需要阻断
double rate = (mesWorkOrder.getReportedQty() - mesWorkOrder.getQty())/mesWorkOrder.getQty(); double rate = MathOperation.div((mesWorkOrderDb.getReportedQty() - mesWorkOrderDb.getQty()),mesWorkOrderDb.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()); MesException.throwMesBusiException("请检查工单数量,工单号[%s],工单数量[%s]报工数量[%s],配置了超工单,但超过了比例[%s]!", mesWorkOrder.getWorkOrderNo(), mesWorkOrder.getQty(), mesWorkOrder.getReportedQty(), workCenter.getOrderRate());
} }
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue()); 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(); 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()); MesException.throwMesBusiException("请检查工单数量,工单号[%s],工单数量[%s]报工数量[%s],配置了超工单,但超过了比例[%s]!", mesWorkOrder.getWorkOrderNo(), mesWorkOrder.getQty(), mesWorkOrder.getReportedQty(), workCenter.getOrderRate());
} }
mesWorkOrder.setWorkOrderStatus(MesExtEnumUtil.ORDER_STATUS.COMPLETE.getValue()); 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_SEND_URL = "OUT_TIME_REWORK_ORDER_SEND_URL";
public static final String OUT_TIME_REWORK_ORDER_MINUTES = "OUT_TIME_REWORK_ORDER_MINUTES"; 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