44424 PCN:工单判可疑的码,扫描工单检验通过后,在扫描装配件工步时扫描判可疑码,工单标记为可疑

uat_temp_xw_202502100000_44424
xiangwei.zhang 3 months ago
parent 628c219cfe
commit 7526830899

@ -10,6 +10,7 @@ import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionAssemblyContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionAssemblyNosortContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.context.MesProductionAssemblySortContext;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesPartModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesProduceSnPrintModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesReworkTaskModel;
import cn.estsh.i3plus.ext.mes.pcn.pojo.model.MesReworkTaskRequestModel;
@ -142,6 +143,18 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
@Autowired
private MesProductVersionRepository productVersionRepository;
@Autowired
private MesProductionRecordRepository productionRecordRepository;
@Autowired
private IMesMoveRuleRepository mesMoveRuleRepository;
@Autowired
private MesWorkOrderPartRepository workOrderPartRepository;
@Autowired
private MesPartProdGroupRepository mesPartProdGroupRao;
@Override
public ListPager<MesReworkTask> queryReworkTask(MesReworkTask mesReworkTask, Pager pager) {
String organizeCode = !StringUtils.isEmpty(mesReworkTask.getOrganizeCode())?mesReworkTask.getOrganizeCode():AuthUtil.getOrganizeCode();
@ -297,6 +310,62 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
// ConvertBean.serviceModelUpdate(mesPartInspection, requestModel.getUserName());
mesPartInspectionRepository.update(mesPartInspection);
}
// 是否头零件模式
boolean headModel = true;
if (!StringUtil.isEmpty(requestModel.getSn())) {
// 判断是头零件还是散件 查询加工记录
DdlPackBean productionPackBean = DdlPackBean.getDdlPackBean(mesReworkTask.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(requestModel.getSn(), "productSn", productionPackBean);
DdlPreparedPack.getNumNOEqualPack(MesExtEnumUtil.REPORT_STATUS.REPORT_STATUS_30.getValue(), "reportStatus", productionPackBean);
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.MES_REPORT_TYPE.CUSTOMER_SUPPLY_MOVE.getValue(), "reportType", productionPackBean);
MesProductionRecord record = productionRecordRepository.getByProperty(productionPackBean);
if (record != null) {
headModel = false;
}
}
// 如果是散件模式,需要查询出对应明细
List<MesPartModel> mesPartModels = new ArrayList<>();
if (!headModel) {
DdlPackBean partPackBean = DdlPackBean.getDdlPackBean(mesReworkTask.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(requestModel.getSn(), "workOrderNo", partPackBean);
List<MesWorkOrderPart> workOrderParts = workOrderPartRepository.findByHqlWhere(partPackBean);
if (!CollectionUtils.isEmpty(workOrderParts)) {
DdlPackBean partProdBean = DdlPackBean.getDdlPackBean(mesReworkTask.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(mesPartInspection.getWorkCenterCode(), "workCenterCode", partProdBean);
List<MesPartProdGroup> mesPartProdGroupList = mesPartProdGroupRao.findByHqlTopWhere(partProdBean, 1);
for (MesWorkOrderPart workOrderPart : workOrderParts) {
MesPart partInfo = mesPartService.getMesPartByPartNo(workOrderPart.getPartNo(), mesReworkTask.getOrganizeCode());
String esd = partInfo.getEsd();
// 查询移库规则
DdlPackBean movePackBean = DdlPackBean.getDdlPackBean(mesReworkTask.getOrganizeCode());
DdlPreparedPack.getStringEqualPack(esd, "srcType", movePackBean);
DdlPreparedPack.getStringEqualPack(mesPartProdGroupList.get(0).getPartProdGroupCode(), "code", movePackBean);
List<MesMoveRule> moveRules = mesMoveRuleRepository.findByHqlWhere(movePackBean);
if (!CollectionUtils.isEmpty(moveRules)) {
MesPartModel mesPartModel = new MesPartModel();
mesPartModel.setPartNo(workOrderPart.getPartNo());
mesPartModel.setLocateNo(moveRules.get(0).getErpDestLocateNo());
mesPartModels.add(mesPartModel);
}
}
}
}
String target = mesConfigService.getCfgValue(requestModel.getOrganizeCode(), "UMLGO");
String workCenterCode = "";
if (mesPartInspection != null) {
workCenterCode = mesPartInspection.getWorkCenterCode();
}
if (!headModel && !CollectionUtils.isEmpty(mesPartModels) && mesPartModels.size() > 0) {
for (MesPartModel mesPartModel : mesPartModels) {
doCreateReworkMove(requestModel,getDestLocateNo(requestModel.getOrganizeCode(), mesPartInspection.getId()),target,workCenterCode,mesPartModel.getPartNo(), mesPartInspection.getId());
}
} else {
doCreateReworkMove(requestModel,getDestLocateNo(requestModel.getOrganizeCode(), mesPartInspection.getId()),target,workCenterCode,mesReworkTask.getPartNo(), mesPartInspection.getId());
}
}
if (MesExtEnumUtil.PART_INSPECTION_SOURCE_TYPE.LOT.getValue() == mesReworkTask.getType()) {
mesReworkTask.setReworkedQty(requestModel.getReworkedQty());

Loading…
Cancel
Save