|
|
@ -252,7 +252,7 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
@Override
|
|
|
|
public void reworkSuccess(MesReworkTaskRequestModel requestModel) {
|
|
|
|
public void doReworkSuccess(MesReworkTaskRequestModel requestModel) {
|
|
|
|
|
|
|
|
|
|
|
|
MesReworkTask mesReworkTask = getMesReworkTask(requestModel);
|
|
|
|
MesReworkTask mesReworkTask = getMesReworkTask(requestModel);
|
|
|
|
/**
|
|
|
|
/**
|
|
|
@ -336,7 +336,7 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
|
|
|
|
snList.add(sn);
|
|
|
|
snList.add(sn);
|
|
|
|
mesProduceSnPrintModel.getMesProduceSnList().addAll(snList);
|
|
|
|
mesProduceSnPrintModel.getMesProduceSnList().addAll(snList);
|
|
|
|
//发送新老条码关系给WMS
|
|
|
|
//发送新老条码关系给WMS
|
|
|
|
createMove(requestModel.getSn(),sn.getProductSn(),organizeCode,requestModel.getUserName());
|
|
|
|
doCreateMove(requestModel.getSn(),sn.getProductSn(),organizeCode,requestModel.getUserName());
|
|
|
|
//更新条码
|
|
|
|
//更新条码
|
|
|
|
ConvertBean.serviceModelUpdate(sn,requestModel.getUserName());
|
|
|
|
ConvertBean.serviceModelUpdate(sn,requestModel.getUserName());
|
|
|
|
mesProduceSnRepository.update(sn);
|
|
|
|
mesProduceSnRepository.update(sn);
|
|
|
@ -559,15 +559,17 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
|
|
|
|
|
|
|
|
|
|
|
|
public void recursionAssemblySnTree(List<MesProductionAssemblyModel> assemblyTree, MesReworkTaskRequestModel requestModel,long pid) {
|
|
|
|
public void recursionAssemblySnTree(List<MesProductionAssemblyModel> assemblyTree, MesReworkTaskRequestModel requestModel,long pid) {
|
|
|
|
for (MesProductionAssemblyModel assembly : assemblyTree) {
|
|
|
|
for (MesProductionAssemblyModel assembly : assemblyTree) {
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(requestModel.getOrganizeCode());
|
|
|
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(assembly.getAssemblySn(), "productSn", packBean);
|
|
|
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(requestModel.getAssemblyPartNo(), "assemblyPartNo", packBean);
|
|
|
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.ASSEMBLY_STATUS.ASSEMBLY_STATUS_10.getValue(), "assemblyStatus", packBean);
|
|
|
|
|
|
|
|
List<MesProductionAssembly> mesProductionAssemblies = mesProductionAssemblyRepository.findByHqlWhere(packBean);
|
|
|
|
|
|
|
|
assembly.setPid(pid);
|
|
|
|
assembly.setPid(pid);
|
|
|
|
if (!CollectionUtils.isEmpty(mesProductionAssemblies)) {
|
|
|
|
if(MesExtEnumUtil.ASSEMBLY_MATCH_TYPE.MATCH_TYPE_10.getValue() == assembly.getMatchType() && !StringUtils.isEmpty(assembly.getAssemblySn())){
|
|
|
|
assembly.setChildren(parseArray(mesProductionAssemblies));
|
|
|
|
DdlPackBean packBean = DdlPackBean.getDdlPackBean(requestModel.getOrganizeCode());
|
|
|
|
recursionAssemblySnTree(assembly.getChildren(), requestModel, assembly.getId());
|
|
|
|
DdlPreparedPack.getStringEqualPack(assembly.getAssemblySn(), "productSn", packBean);
|
|
|
|
|
|
|
|
DdlPreparedPack.getStringEqualPack(requestModel.getAssemblyPartNo(), "assemblyPartNo", packBean);
|
|
|
|
|
|
|
|
DdlPreparedPack.getNumEqualPack(MesExtEnumUtil.ASSEMBLY_STATUS.ASSEMBLY_STATUS_10.getValue(), "assemblyStatus", packBean);
|
|
|
|
|
|
|
|
List<MesProductionAssembly> mesProductionAssemblies = mesProductionAssemblyRepository.findByHqlWhere(packBean);
|
|
|
|
|
|
|
|
if (!CollectionUtils.isEmpty(mesProductionAssemblies)) {
|
|
|
|
|
|
|
|
assembly.setChildren(parseArray(mesProductionAssemblies));
|
|
|
|
|
|
|
|
recursionAssemblySnTree(assembly.getChildren(), requestModel, assembly.getId());
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -610,7 +612,7 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
|
|
|
|
//总成拆解
|
|
|
|
//总成拆解
|
|
|
|
doProductReportReversal(requestModel,productSn);
|
|
|
|
doProductReportReversal(requestModel,productSn);
|
|
|
|
//装配件数据处理
|
|
|
|
//装配件数据处理
|
|
|
|
recursionCheck(requestModel.getAssemblyModelList(), requestModel.getOrganizeCode(), requestModel.getUserName(),mesConfigService.getCfgValue(requestModel.getOrganizeCode(), MesPcnExtConstWords.DISASSEMBLY_DEST_LOCATE));
|
|
|
|
doRecursionCheck(requestModel.getAssemblyModelList(), requestModel.getOrganizeCode(), requestModel.getUserName(),mesConfigService.getCfgValue(requestModel.getOrganizeCode(), MesPcnExtConstWords.DISASSEMBLY_DEST_LOCATE));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void doProductReportReversal(MesReworkTaskRequestModel requestModel, String productSn) {
|
|
|
|
private void doProductReportReversal(MesReworkTaskRequestModel requestModel, String productSn) {
|
|
|
@ -635,7 +637,7 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
|
|
|
|
mesWorkOrderService.doProductReportReversal(mesWorkOrderDb,productVersion, requestModel.getUserName());
|
|
|
|
mesWorkOrderService.doProductReportReversal(mesWorkOrderDb,productVersion, requestModel.getUserName());
|
|
|
|
//移库
|
|
|
|
//移库
|
|
|
|
requestModel.setSn(produceSnDb.getProductSn());
|
|
|
|
requestModel.setSn(produceSnDb.getProductSn());
|
|
|
|
createMove(requestModel,getDestLocateNo(requestModel.getOrganizeCode(), produceSnDb.getProductSn()),productVersion.getReceiveInventoryPoint(),mesWorkOrderDb.getErpWorkCenter(),mesWorkOrderDb.getPartNo());
|
|
|
|
doCreateMove(requestModel,getDestLocateNo(requestModel.getOrganizeCode(), produceSnDb.getProductSn()),productVersion.getReceiveInventoryPoint(),mesWorkOrderDb.getErpWorkCenter(),mesWorkOrderDb.getPartNo());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private MesProductVersion getProductVersion(MesWorkOrder mesWorkOrderDb) {
|
|
|
|
private MesProductVersion getProductVersion(MesWorkOrder mesWorkOrderDb) {
|
|
|
@ -646,7 +648,7 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
|
|
|
|
return mesProductVersion;
|
|
|
|
return mesProductVersion;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public void recursionCheck(List<MesProductionAssemblyModel> assemblyModelList,String organizeCode,String userName,String destLocate){
|
|
|
|
public void doRecursionCheck(List<MesProductionAssemblyModel> assemblyModelList,String organizeCode,String userName,String destLocate){
|
|
|
|
for (MesProductionAssemblyModel assemblyModel : assemblyModelList) {
|
|
|
|
for (MesProductionAssemblyModel assemblyModel : assemblyModelList) {
|
|
|
|
//勾选
|
|
|
|
//勾选
|
|
|
|
if (assemblyModel.getFlag() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()) {
|
|
|
|
if (assemblyModel.getFlag() == CommonEnumUtil.TRUE_OR_FALSE.TRUE.getValue()) {
|
|
|
@ -655,10 +657,10 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
|
|
|
|
updateOldSn(organizeCode,assemblyModel.getAssemblySn(), userName, MesExtEnumUtil.PRODUCE_QC_STATUS.SCRAP.getValue());
|
|
|
|
updateOldSn(organizeCode,assemblyModel.getAssemblySn(), userName, MesExtEnumUtil.PRODUCE_QC_STATUS.SCRAP.getValue());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
//对于已勾选报废的子件,对于有零件号的项,产生移库(产线的材料库位->报废库(系统参数配置))。移库数量为报废时的明细数量;
|
|
|
|
//对于已勾选报废的子件,对于有零件号的项,产生移库(产线的材料库位->报废库(系统参数配置))。移库数量为报废时的明细数量;
|
|
|
|
createMove(getMesWorkCenter(organizeCode, assemblyModel.getWorkCenterCode()),destLocate, assemblyModel,userName);
|
|
|
|
doCreateMove(getMesWorkCenter(organizeCode, assemblyModel.getWorkCenterCode()),destLocate, assemblyModel,userName);
|
|
|
|
//循环处理数据
|
|
|
|
//循环处理数据
|
|
|
|
if(!CollectionUtils.isEmpty(assemblyModel.getChildren())){
|
|
|
|
if(!CollectionUtils.isEmpty(assemblyModel.getChildren())){
|
|
|
|
recursionCheck(assemblyModel.getChildren(),organizeCode,userName,destLocate);
|
|
|
|
doRecursionCheck(assemblyModel.getChildren(),organizeCode,userName,destLocate);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else if (assemblyModel.getFlag() == CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) {
|
|
|
|
} else if (assemblyModel.getFlag() == CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue()) {
|
|
|
|
//装配解绑
|
|
|
|
//装配解绑
|
|
|
@ -838,7 +840,7 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
|
|
|
|
mesProduceSnRepository.update(produceSn);
|
|
|
|
mesProduceSnRepository.update(produceSn);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private MesMove createMove(String oldSn, String sn, String organizeCode, String userName) {
|
|
|
|
private MesMove doCreateMove(String oldSn, String sn, String organizeCode, String userName) {
|
|
|
|
MesMove move = new MesMove();
|
|
|
|
MesMove move = new MesMove();
|
|
|
|
move.setOrganizeCode(organizeCode);
|
|
|
|
move.setOrganizeCode(organizeCode);
|
|
|
|
move.setFactoryCode(organizeCode);
|
|
|
|
move.setFactoryCode(organizeCode);
|
|
|
@ -851,7 +853,7 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
|
|
|
|
return moveRepository.insert(move);
|
|
|
|
return moveRepository.insert(move);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void createMove(MesWorkCenter mesWorkCenter, String destLocate, MesProductionAssemblyModel assemblyModel,String userName) {
|
|
|
|
private void doCreateMove(MesWorkCenter mesWorkCenter, String destLocate, MesProductionAssemblyModel assemblyModel,String userName) {
|
|
|
|
MesMove move = new MesMove();
|
|
|
|
MesMove move = new MesMove();
|
|
|
|
move.setMatnr(assemblyModel.getAssemblyPartNo());
|
|
|
|
move.setMatnr(assemblyModel.getAssemblyPartNo());
|
|
|
|
move.setOrganizeCode(mesWorkCenter.getOrganizeCode());
|
|
|
|
move.setOrganizeCode(mesWorkCenter.getOrganizeCode());
|
|
|
@ -868,7 +870,7 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
|
|
|
|
moveRepository.insert(move);
|
|
|
|
moveRepository.insert(move);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void createMove(MesReworkTaskRequestModel requestModel,String srcLocate, String destLocate,String workCenterCode,String partNo) {
|
|
|
|
private void doCreateMove(MesReworkTaskRequestModel requestModel,String srcLocate, String destLocate,String workCenterCode,String partNo) {
|
|
|
|
MesPartSap mesPartSap = mesPartService.getMesPartSapByPartNo(partNo, requestModel.getOrganizeCode());
|
|
|
|
MesPartSap mesPartSap = mesPartService.getMesPartSapByPartNo(partNo, requestModel.getOrganizeCode());
|
|
|
|
MesMove move = new MesMove();
|
|
|
|
MesMove move = new MesMove();
|
|
|
|
move.setMatnr(mesPartSap.getPartNo());
|
|
|
|
move.setMatnr(mesPartSap.getPartNo());
|
|
|
|