【fix 38071 23032—Q管理作业实际使用场景中存在同一工序、同一物料、同一管理类型、同一检测信息、同一检测标准的情况下不同重要安全部品的检测项目,需将重要安全部品加入至校验唯一性中。】

tags/yfai-mes-ext-v1.0
yxw 1 year ago
parent f5eb7928c8
commit 315c946699

@ -2,9 +2,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.controller.busi;
import cn.estsh.i3plus.ext.mes.api.base.IMesAccidentDateService;
import cn.estsh.i3plus.ext.mes.api.base.IMesNumberOfSafeOperationDaysService;
import cn.estsh.i3plus.ext.mes.pojo.bean.MesAccidentDate;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.impp.framework.base.controller.MesBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil;

@ -54,7 +54,8 @@ public class BuFirstManageService implements IBuFirstManageService {
HqlPack.getStringEqualPack(mesProcessFirstItem.getPartNo(), MesExtConstWords.PART_NO, whereStr);
HqlPack.getStringEqualPack(mesProcessFirstItem.getCheckMessage(), MesExtConstWords.CHECK_MESSAGE, whereStr);
HqlPack.getStringEqualPack(mesProcessFirstItem.getCheckStand(), MesExtConstWords.CHECK_STAND, whereStr);
HqlPack.getNumEqualPack(mesProcessFirstItem.getManageType(), MesExtConstWords.MANAGE_TYPE, whereStr);
HqlPack.getStringEqualPack(mesProcessFirstItem.getManageType(), MesExtConstWords.MANAGE_TYPE, whereStr);
HqlPack.getStringEqualPack(mesProcessFirstItem.getImportanceSafePartNo(), MesExtConstWords.IMPORTANCE_SAFE_PART_NO, whereStr);
HqlPack.getNumEqualPack(CommonEnumUtil.IS_VAILD.VAILD.getValue(), MesExtConstWords.IS_VALID, whereStr);
if (mesProcessFirstItemRDao.isExitByHqlWhere(whereStr.toString())) {
throw ImppExceptionBuilder.newInstance()
@ -139,7 +140,8 @@ public class BuFirstManageService implements IBuFirstManageService {
DdlPreparedPack.getStringEqualPack(mesProcessFirstItem.getPartNo(), MesExtConstWords.PART_NO, packBean);
DdlPreparedPack.getStringEqualPack(mesProcessFirstItem.getCheckMessage(), MesExtConstWords.CHECK_MESSAGE, packBean);
DdlPreparedPack.getStringEqualPack(mesProcessFirstItem.getCheckStand(), MesExtConstWords.CHECK_STAND, packBean);
DdlPreparedPack.getNumEqualPack(mesProcessFirstItem.getManageType(), MesExtConstWords.MANAGE_TYPE, packBean);
DdlPreparedPack.getStringEqualPack(mesProcessFirstItem.getManageType(), MesExtConstWords.MANAGE_TYPE, packBean);
DdlPreparedPack.getStringEqualPack(mesProcessFirstItem.getImportanceSafePartNo(), MesExtConstWords.IMPORTANCE_SAFE_PART_NO, packBean);
MesProcessFirstItem processFirstItemExist = mesProcessFirstItemRDao.getByProperty(packBean);
if (processFirstItemExist != null && processFirstItemExist.getId().compareTo(processFirstItemDb.getId()) != 0) {

@ -114,7 +114,7 @@ public class ProcessFirstItemExtExcelService implements IExcelImportExtService {
Map<String, List<MesProcessFirstItem>> processFirstItemMap = CollectionUtils.isEmpty(processFirstItems) ? null :
processFirstItems.stream().filter(o -> null != o)
.collect(Collectors.groupingBy(o -> new StringJoiner(MesExtConstWords.AND).add(o.getPartNo()).add(o.getProcessCode()).add(o.getCheckMessage()).add(o.getCheckStand()).add(o.getManageType()).toString()));
.collect(Collectors.groupingBy(o -> new StringJoiner(MesExtConstWords.AND).add(o.getPartNo()).add(o.getProcessCode()).add(o.getCheckMessage()).add(o.getCheckStand()).add(o.getManageType()).add(getImportanceSafePartNo(o.getManageType(), o.getImportanceSafePartNo())).toString()));
//从excel表的第5行数据开始导入getFirstRowNum是从0行开始读取
for (int i = (sheetAt.getFirstRowNum() + 4); i < totalNumberOfRows; i++) {
@ -295,7 +295,7 @@ public class ProcessFirstItemExtExcelService implements IExcelImportExtService {
boolean isExist = false;
if (errorNum == 0) {
String key = new StringJoiner(MesExtConstWords.AND).add(partNo).add(processCode).add(checkMessage).add(checkStand).add(manageType).toString();
String key = new StringJoiner(MesExtConstWords.AND).add(partNo).add(processCode).add(checkMessage).add(checkStand).add(manageType).add(getImportanceSafePartNo(manageType, importanceSafePartNo)).toString();
if (!processFirstItemByOnlyMap.containsKey(key)) {
processFirstItemByOnlyMap.put(key, String.valueOf(rowNum));
@ -358,7 +358,7 @@ public class ProcessFirstItemExtExcelService implements IExcelImportExtService {
if (errorNum == 0) {
MesProcessFirstItem processFirstItem;
if(isExist){
String key = new StringJoiner(MesExtConstWords.AND).add(partNo).add(processCode).add(checkMessage).add(checkStand).add(manageType).toString();
String key = new StringJoiner(MesExtConstWords.AND).add(partNo).add(processCode).add(checkMessage).add(checkStand).add(manageType).add(getImportanceSafePartNo(manageType, importanceSafePartNo)).toString();
processFirstItem = processFirstItemMap.get(key).get(0);
ConvertBean.serviceModelUpdate(processFirstItem, userName);
}else{
@ -373,7 +373,7 @@ public class ProcessFirstItemExtExcelService implements IExcelImportExtService {
processFirstItem.setUpLimit(upLimits);
processFirstItem.setDownLimit(downLimits);
processFirstItem.setManageType(manageType);
processFirstItem.setImportanceSafePartNo(importanceSafePartNo);
processFirstItem.setImportanceSafePartNo(MesExtEnumUtil.Q_MANAGE_MANAGE_TYPE.RESULT_TYPE.getValue().equals(manageType) ? importanceSafePartNo : "");
processFirstItem.setCheckFrequency(checkFrequency);
processFirstItem.setConfirmMethod(confirmMethod);
processFirstItem.setSampleQty(sampleQty);
@ -401,6 +401,10 @@ public class ProcessFirstItemExtExcelService implements IExcelImportExtService {
return excelImportResultExtModel;
}
private String getImportanceSafePartNo(String manageType,String importanceSafePartNo) {
return MesExtEnumUtil.Q_MANAGE_MANAGE_TYPE.COMPARE_TYPE.getValue().equals(manageType) || StringUtils.isEmpty(importanceSafePartNo) ? "" : importanceSafePartNo;
}
/**
* -
*

@ -204,8 +204,8 @@ public class TorqueManageExcelService implements IExcelImportExtService {
if (!StringUtils.isEmpty(partNo)) {
if (!partNoEntityMap.containsKey(partNo)) {
errorNum++;
cellNum += "A;";
errorInfo += "第A列数据无效;";
cellNum += "B;";
errorInfo += "第B列数据无效;";
} else {
partName = ((MesPart)partNoEntityMap.get(partNo)).getPartName();
}

@ -272,6 +272,8 @@ public class MesExtConstWords {
public static final String DIMENSION_1 = "dimension1";
//管理类型
public static final String MANAGE_TYPE = "manageType";
//重要安全部品
public static final String IMPORTANCE_SAFE_PART_NO = "importanceSafePartNo";
//批次号
public static final String LOT_NO = "lotNo";
//模块

Loading…
Cancel
Save