NC 处理修改字段

tags/yfai-pcn-ext-v1.0
LML丶 1 year ago
parent 8bca19c47e
commit b278c02238

@ -18,13 +18,13 @@ public interface IMesInputDefectRecordService {
@ApiOperation(value = "扫描产品条码")
public MesInputDefectRecordModel queryProduceSn(String serialNumber, Integer sides, String org);
public MesInputDefectRecordModel queryProduceSn(String serialNumber, Integer frontBack, String org);
@ApiOperation(value = "批次录入")
public MesInputDefectRecordModel queryPartAndLot(String partNo, String lot, Integer sides, String org);
public MesInputDefectRecordModel queryPartAndLot(String partNo, String lot, Integer frontBack, String org);
@ApiOperation(value = "零件类型缺陷类型对应关系信息")
public List<MesPartTypeDefect> queryPartTypeDefect(String serialNumber, String defectLocationCode, boolean flg, Integer sides, String org);
public List<MesPartTypeDefect> queryPartTypeDefect(String serialNumber, String defectLocation, boolean flg, Integer frontBack, String org);
@ApiOperation(value = "零件类型缺陷类型对应关系信息")
public void saveDefectRecord(List<MesDefectRecord> defectRecordList, String org);

@ -29,14 +29,14 @@ public class MesInputDefectRecordController {
@GetMapping("/query-loading-order")
@ApiOperation(value = "查询产品条码")
public ResultBean queryProduceSn(String serialNumber, Integer sides) {
public ResultBean queryProduceSn(String serialNumber, Integer frontBack) {
try {
// 数据校验
ValidatorBean.checkNotNull(serialNumber, "产品条码不能为空");
ValidatorBean.checkNotNull(sides, "正反面不能为空");
ValidatorBean.checkNotNull(frontBack, "正反面不能为空");
return ResultBean.success("查询成功").setResultObject(inputDefectRecordService.queryProduceSn(serialNumber, sides, AuthUtil.getOrganizeCode()));
return ResultBean.success("查询成功").setResultObject(inputDefectRecordService.queryProduceSn(serialNumber, frontBack, AuthUtil.getOrganizeCode()));
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
@ -46,15 +46,15 @@ public class MesInputDefectRecordController {
@GetMapping("/query-part-lot")
@ApiOperation(value = "查询零件号-批次")
public ResultBean queryProduceSn(String partNo, String lot, Integer sides) {
public ResultBean queryProduceSn(String partNo, String lot, Integer frontBack) {
try {
// 数据校验
ValidatorBean.checkNotNull(partNo, "物料不能为空");
ValidatorBean.checkNotNull(lot, "批次不能为空");
ValidatorBean.checkNotNull(sides, "正反面不能为空");
ValidatorBean.checkNotNull(frontBack, "正反面不能为空");
return ResultBean.success("查询成功").setResultObject(inputDefectRecordService.queryPartAndLot(partNo, lot, sides, AuthUtil.getOrganizeCode()));
return ResultBean.success("查询成功").setResultObject(inputDefectRecordService.queryPartAndLot(partNo, lot, frontBack, AuthUtil.getOrganizeCode()));
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
@ -64,16 +64,16 @@ public class MesInputDefectRecordController {
@GetMapping("/query-part-type-defect")
@ApiOperation(value = "查询零件类型缺陷类型对应关系")
public ResultBean queryPartTypeDefect(String partNo, String defectLocationCode, boolean flg, Integer sides) {
public ResultBean queryPartTypeDefect(String partNo, String defectLocation, boolean flg, Integer frontBack) {
try {
// 数据校验
ValidatorBean.checkNotNull(partNo, "物料号不能为空");
ValidatorBean.checkNotNull(defectLocationCode, "位置不能为空");
ValidatorBean.checkNotNull(sides, "正反面不能为空");
ValidatorBean.checkNotNull(defectLocation, "位置不能为空");
ValidatorBean.checkNotNull(frontBack, "正反面不能为空");
// return ResultBean.success("查询成功").setResultList(inputDefectRecordService.queryPartTypeDefect(partNo, defectLocationCode, flg, sides, "2031"));
return ResultBean.success("查询成功").setResultList(inputDefectRecordService.queryPartTypeDefect(partNo, defectLocationCode, flg, sides, AuthUtil.getOrganizeCode()));
// return ResultBean.success("查询成功").setResultList(inputDefectRecordService.queryPartTypeDefect(partNo, defectLocationCode, flg, frontBack, "2031"));
return ResultBean.success("查询成功").setResultList(inputDefectRecordService.queryPartTypeDefect(partNo, defectLocation, flg, frontBack, AuthUtil.getOrganizeCode()));
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {

@ -52,7 +52,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
@Autowired
private MesLocationConfigRepository locationConfigRepository;
@Autowired
private MesDefectAlarmConfigRepository defectAlarmConfigRepository;
private MesDefectWarnConfigRepository defectWarnConfigRepository;
@Autowired
private MesPartTypeDefectRepository partTypeDefectRepository;
@Autowired
@ -71,7 +71,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
private ISyncFuncService syncFuncService;
@Override
public MesInputDefectRecordModel queryProduceSn(String serialNumber, Integer sides, String org) {
public MesInputDefectRecordModel queryProduceSn(String serialNumber, Integer frontBack, String org) {
//检查条码
MesProduceSn produceSn = checkProduceSn(serialNumber, org);
@ -83,13 +83,13 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
MesPartTypePicture partTypePicture = checkPartTypePicture(part, org);
//构造返回信息
MesInputDefectRecordModel model = getModel(part, partTypePicture, sides, org);
MesInputDefectRecordModel model = getModel(part, partTypePicture, frontBack, org);
return model;
}
@Override
public MesInputDefectRecordModel queryPartAndLot(String partNo, String lot, Integer sides, String org) {
public MesInputDefectRecordModel queryPartAndLot(String partNo, String lot, Integer frontBack, String org) {
//检查物料
MesPart part = checkPartByPartNo(partNo, org);
@ -98,13 +98,13 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
MesPartTypePicture partTypePicture = checkPartTypePicture(part, org);
//构造返回信息
MesInputDefectRecordModel model = getModel(part, partTypePicture, sides, org);
MesInputDefectRecordModel model = getModel(part, partTypePicture, frontBack, org);
return model;
}
@Override
public List<MesPartTypeDefect> queryPartTypeDefect(String partNo, String defectLocationCode, boolean flg, Integer sides, String org) {
public List<MesPartTypeDefect> queryPartTypeDefect(String partNo, String defectLocation, boolean flg, Integer frontBack, String org) {
//检查物料
MesPart part = checkPartByPartNo(partNo, org);
@ -115,13 +115,13 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
//flg==true 则是标黄的位置,需要查询位置下具体需要标黄的缺陷类型
if (!StringUtils.isEmpty(flg) && flg) {
List<String> partTypeDefectCodeList = partTypeDefectList.stream().map(k -> k.getDefectCode()).collect(Collectors.toList());
List<String> partTypeDefectCodeList = partTypeDefectList.stream().map(k -> k.getDefectTypeCode()).collect(Collectors.toList());
//查询预警数量
List<MesDefectAlarmConfig> alarmConfigList = queryDefectAlarmConfig(part, sides, defectLocationCode, partTypeDefectCodeList, org);
List<MesDefectWarnConfig> alarmConfigList = queryDefectAlarmConfig(part, frontBack, defectLocation, partTypeDefectCodeList, org);
//根据不良类型 合计预警数量
Map<String, MesDefectAlarmConfig> alarmConfigMap = alarmConfigList.stream().collect(Collectors.toMap(k -> k.getDefectCode(), k -> k));
Map<String, MesDefectWarnConfig> alarmConfigMap = alarmConfigList.stream().collect(Collectors.toMap(k -> k.getDefectTypeCode(), k -> k));
//位置是否标黄Map,key不良类型value标黄标识
Map<String, Boolean> map = new HashMap<>();
@ -134,7 +134,7 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
//找到标黄的缺陷类型 标识置为true
partTypeDefectList.forEach(k -> {
if (map.containsKey(k.getDefectCode())) {
if (map.containsKey(k.getDefectTypeCode())) {
k.setFlg(true);
}
});
@ -289,51 +289,51 @@ public class MesInputDefectRecordService implements IMesInputDefectRecordService
return partTypeDefectList;
}
private List<MesDefectAlarmConfig> queryDefectAlarmConfigByLocationCodeList(MesPart part, Integer sides, List<String> locationCodeList, List<String> partTypeDefectCodeList,
private List<MesDefectWarnConfig> queryDefectAlarmConfigByLocationCodeList(MesPart part, Integer frontBack, List<String> locationCodeList, List<String> partTypeDefectCodeList,
String org) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(org);
DdlPreparedPack.getStringEqualPack(part.getPartNo(), "partNo", packBean);
DdlPreparedPack.getStringEqualPack(part.getPartTypeCode(), "partTypeCode", packBean);
DdlPreparedPack.getNumEqualPack(sides, "sides", packBean);
DdlPreparedPack.getInPackList(locationCodeList, "defectLocationCode", packBean);
DdlPreparedPack.getInPackList(partTypeDefectCodeList, "defectCode", packBean);
List<MesDefectAlarmConfig> alarmConfigList = defectAlarmConfigRepository.findByHqlWhere(packBean);
DdlPreparedPack.getNumEqualPack(frontBack, "frontBack", packBean);
DdlPreparedPack.getInPackList(locationCodeList, "defectLocation", packBean);
DdlPreparedPack.getInPackList(partTypeDefectCodeList, "defectTypeCode", packBean);
List<MesDefectWarnConfig> alarmConfigList = defectWarnConfigRepository.findByHqlWhere(packBean);
return alarmConfigList;
}
private List<MesDefectAlarmConfig> queryDefectAlarmConfig(MesPart part, Integer sides, String locationCode, List<String> partTypeDefectCodeList, String org) {
private List<MesDefectWarnConfig> queryDefectAlarmConfig(MesPart part, Integer frontBack, String locationCode, List<String> partTypeDefectCodeList, String org) {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(org);
DdlPreparedPack.getStringEqualPack(part.getPartNo(), "partNo", packBean);
DdlPreparedPack.getStringEqualPack(part.getPartTypeCode(), "partTypeCode", packBean);
DdlPreparedPack.getNumEqualPack(sides, "sides", packBean);
DdlPreparedPack.getNumEqualPack(frontBack, "frontBack", packBean);
DdlPreparedPack.getStringEqualPack(locationCode, "defectLocation", packBean);
DdlPreparedPack.getInPackList(partTypeDefectCodeList, "defectCode", packBean);
List<MesDefectAlarmConfig> alarmConfigList = defectAlarmConfigRepository.findByHqlWhere(packBean);
List<MesDefectWarnConfig> alarmConfigList = defectWarnConfigRepository.findByHqlWhere(packBean);
return alarmConfigList;
}
private MesInputDefectRecordModel getModel(MesPart part, MesPartTypePicture partTypePicture, Integer sides, String org) {
private MesInputDefectRecordModel getModel(MesPart part, MesPartTypePicture partTypePicture, Integer frontBack, String org) {
//位置
List<MesLocationConfig> locationConfigList = checkLocationConfig(org);
List<String> locationCodeList = locationConfigList.stream().map(k -> k.getDefectLocationCode()).collect(Collectors.toList());
List<String> locationCodeList = locationConfigList.stream().map(k -> k.getDefectLocation()).collect(Collectors.toList());
//查询零件类型缺陷类型对应关系
List<MesPartTypeDefect> partTypeDefectList = checkPartTypeDefect(part, org);
List<String> partTypeDefectCodeList = partTypeDefectList.stream().map(k -> k.getDefectCode()).collect(Collectors.toList());
List<String> partTypeDefectCodeList = partTypeDefectList.stream().map(k -> k.getDefectTypeCode()).collect(Collectors.toList());
//查询预警数量
List<MesDefectAlarmConfig> alarmConfigList = queryDefectAlarmConfigByLocationCodeList(part, sides, locationCodeList, partTypeDefectCodeList, org);
List<MesDefectWarnConfig> alarmConfigList = queryDefectAlarmConfigByLocationCodeList(part, frontBack, locationCodeList, partTypeDefectCodeList, org);
//根据不良类型+位置 若有数据,则表示需要标黄
Map<String, MesDefectAlarmConfig> alarmConfigMap = alarmConfigList.stream().collect(Collectors.toMap(k -> k.getDefectLocationCode(), k -> k));
Map<String, MesDefectWarnConfig> alarmConfigMap = alarmConfigList.stream().collect(Collectors.toMap(k -> k.getDefectLocation(), k -> k));
locationConfigList.forEach(k -> {
if (alarmConfigMap.containsKey(k.getDefectLocationCode())) {
if (alarmConfigMap.containsKey(k.getDefectLocation())) {
k.setIsflg(true);
}
});

@ -289,14 +289,14 @@ public class MesNcProcessingService implements IMesNcProcessingService {
//位置
List<MesLocationConfig> locationConfigList = checkLocationConfig(org);
Map<String, List<MesDefectRecord>> defectRecordMap = defectRecordList.stream().collect(Collectors.groupingBy(k -> k.getDefectLocationCode()));
Map<String, List<MesDefectRecord>> defectRecordMap = defectRecordList.stream().collect(Collectors.groupingBy(k -> k.getDefectLocation()));
Map<String, List<MesDefectRecord>> defectMap = defectRecordList.stream().collect(Collectors.groupingBy(k -> k.getDefectCode()));
Map<String, List<MesDefectRecord>> defectMap = defectRecordList.stream().collect(Collectors.groupingBy(k -> k.getDefectTypeCode()));
//位置是否标黄Map,key位置value标黄标识
locationConfigList.forEach(k -> {
if (defectRecordMap.containsKey(k.getDefectLocationCode())) {
if (defectRecordMap.containsKey(k.getDefectLocation())) {
k.setIsflg(true);
}
});
@ -304,9 +304,9 @@ public class MesNcProcessingService implements IMesNcProcessingService {
List<MesNcProcessingViewModel> defectModelList = new ArrayList<>();
defectMap.forEach((k, v) -> {
MesNcProcessingViewModel model = new MesNcProcessingViewModel();
model.setDefectCode(k);
model.setDefectTypeCode(k);
model.setQty(v.size());
model.setDefectName(v.get(0).getDefectName());
model.setDefectTypeName(v.get(0).getDefectTypeName());
defectModelList.add(model);
});

@ -385,7 +385,8 @@ public class MesSpotCheckOrderService implements IMesSpotCheckOrderService {
//是否需要判断条码质量状态
if (produceSn.getQcStatus() != MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()) {
throw new ImppBusiException(String.format("【%s】此条码状态为【%s】,请选择【%s】状态的条码", serialNumber, produceSn.getSnStatus(), MesExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getValue()));
throw new ImppBusiException(String.format("【%s】此条码质量状态为【%s】,请选择【%s】状态的条码", serialNumber, produceSn.getQcStatus(),
MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()));
}
return produceSn;
}

@ -71,7 +71,7 @@ public class MesWorkOrderService implements IMesWorkOrderService {
DdlPackBean packBean = DdlPackBean.getDdlPackBean(workOrder.getOrganizeCode());
DdlPreparedPack.getStringLikerPack(workOrder.getWorkCenterCode(), "workCenterCode", packBean);
DdlPreparedPack.getStringLikerPack(workOrder.getWorkCellCode(), "workCellCode", packBean);
DdlPreparedPack.getStringLikerPack(workOrder.getOrderNo(), "orderNo", packBean);
DdlPreparedPack.getStringLikerPack(workOrder.getWorkOrderNo(), "workOrderNo", packBean);
DdlPreparedPack.getInPackList(workOrder.getStatusList(), "status", packBean);
return packBean;
}

@ -14,11 +14,11 @@ import lombok.Data;
public class MesNcProcessingViewModel {
@ApiParam("缺陷类型")
private String defectCode;
@ApiParam("缺陷代码-缺陷类型")
private String defectTypeCode;
@ApiParam("缺陷描述")
private String defectName;
@ApiParam("缺陷名称")
private String defectTypeName;
@ApiParam("缺陷描述")
private Integer qty;

Loading…
Cancel
Save