合并解决冲突

dev-temp-nht-202502180000-customprint
王杰 3 months ago
commit d706a2ed4c

@ -51,4 +51,7 @@ public interface IMesEquipmentExtService {
@ApiOperation(value = "根据生产线代码查询加工不可用规则信息") @ApiOperation(value = "根据生产线代码查询加工不可用规则信息")
List<MesProdRuleIgnoreCfg> getProdRuleIgnoreCfgListByCenter(String organizeCode, String workCenterCode); List<MesProdRuleIgnoreCfg> getProdRuleIgnoreCfgListByCenter(String organizeCode, String workCenterCode);
@ApiOperation(value = "根据设备代码, 来源信息查询加工不可用规则信息")
List<MesProdRuleIgnoreCfg> getProdRuleIgnoreCfgList(String organizeCode, String equipmentCode, Integer dataSource, Long sourceId);
} }

@ -66,4 +66,7 @@ public interface IMesAssemblyExtService {
@ApiOperation(value = "根据条件修改工单装配件记录的装配状态") @ApiOperation(value = "根据条件修改工单装配件记录的装配状态")
void saveWorkOrderAssemblyStatusByDdlPackBean(DdlPackBean packBean, String userInfo, Integer assemblyStatus); void saveWorkOrderAssemblyStatusByDdlPackBean(DdlPackBean packBean, String userInfo, Integer assemblyStatus);
@ApiOperation(value = "根据ID查询工单装配件信息")
MesWorkOrderAssembly getWorkOrderAssembly(String organizeCode, Long id);
} }

@ -206,6 +206,7 @@ public class MesEquipmentExtService implements IMesEquipmentExtService {
return equipSpotCheckContext.isExistSpot().equipmentSpotCheckJson(equipmentSpotCheckList).equipmentSpotCheckDetailJson(equipmentSpotCheckDetailList).equipmentSpotCheckPartJson(equipmentSpotCheckPartList); return equipSpotCheckContext.isExistSpot().equipmentSpotCheckJson(equipmentSpotCheckList).equipmentSpotCheckDetailJson(equipmentSpotCheckDetailList).equipmentSpotCheckPartJson(equipmentSpotCheckPartList);
} }
//根据设备代码查询加工不可用规则信息
@Override @Override
public List<MesProdRuleIgnoreCfg> getProdRuleIgnoreCfgListByEquip(String organizeCode, String equipmentCode) { public List<MesProdRuleIgnoreCfg> getProdRuleIgnoreCfgListByEquip(String organizeCode, String equipmentCode) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipmentCode)) return null; if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipmentCode)) return null;
@ -214,8 +215,10 @@ public class MesEquipmentExtService implements IMesEquipmentExtService {
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), equipmentCode}); new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), equipmentCode});
} }
//根据生产线代码查询加工不可用规则信息
@Override @Override
public List<MesProdRuleIgnoreCfg> getProdRuleIgnoreCfgListByCenter(String organizeCode, String workCenterCode) { public List<MesProdRuleIgnoreCfg> getProdRuleIgnoreCfgListByCenter(String organizeCode, String workCenterCode) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(workCenterCode)) return null;
List<MesWcEquipment> wcEquipmentList = wcEquipmentRepository.findByProperty( List<MesWcEquipment> wcEquipmentList = wcEquipmentRepository.findByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_CENTER_CODE}, new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.WORK_CENTER_CODE},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workCenterCode}); new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), workCenterCode});
@ -227,4 +230,12 @@ public class MesEquipmentExtService implements IMesEquipmentExtService {
else DdlPreparedPack.getInPackList(equipmentCodeList, MesPcnExtConstWords.EQUIPMENT_CODE, packBean); else DdlPreparedPack.getInPackList(equipmentCodeList, MesPcnExtConstWords.EQUIPMENT_CODE, packBean);
return prodRuleIgnoreCfgRepository.findByHqlWhere(packBean); return prodRuleIgnoreCfgRepository.findByHqlWhere(packBean);
} }
//根据设备代码, 来源信息查询加工不可用规则信息
public List<MesProdRuleIgnoreCfg> getProdRuleIgnoreCfgList(String organizeCode, String equipmentCode, Integer dataSource, Long sourceId) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(equipmentCode) || StringUtils.isEmpty(dataSource) || StringUtils.isEmpty(sourceId)) return null;
return prodRuleIgnoreCfgRepository.findByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.EQUIPMENT_CODE, MesPcnExtConstWords.DATD_SOURCE, MesPcnExtConstWords.SOURCE_ID},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), equipmentCode, dataSource, sourceId});
}
} }

@ -1,9 +1,6 @@
package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base; package cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesPartService; import cn.estsh.i3plus.ext.mes.pcn.api.base.*;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesProdOrgExtService;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesReworkTaskService;
import cn.estsh.i3plus.ext.mes.pcn.api.base.IMesTemplateService;
import cn.estsh.i3plus.ext.mes.pcn.api.busi.*; import cn.estsh.i3plus.ext.mes.pcn.api.busi.*;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService; import cn.estsh.i3plus.ext.mes.pcn.apiservice.serviceimpl.print.IPrintTemplateStrategyService;
import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException; import cn.estsh.i3plus.ext.mes.pcn.apiservice.util.MesPcnException;
@ -38,6 +35,7 @@ import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException; import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.util.SpringContextsUtil; import cn.estsh.impp.framework.boot.util.SpringContextsUtil;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.map.HashedMap; import org.apache.commons.collections.map.HashedMap;
import org.slf4j.Logger; import org.slf4j.Logger;
@ -67,9 +65,9 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
private static final Logger LOGGER = LoggerFactory.getLogger(MesReworkTaskServiceImpl.class); private static final Logger LOGGER = LoggerFactory.getLogger(MesReworkTaskServiceImpl.class);
@Autowired @Autowired
private MesReworkTaskRepository mesReworkTaskRepository; private MesReworkTaskRepository mesReworkTaskRepository;
@Autowired @Autowired
private MesPartTypePictureRepository mesPartTypePictureRepository; private MesPartTypePictureRepository mesPartTypePictureRepository;
@ -138,8 +136,10 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
@Autowired @Autowired
private IMesWorkOrderExtService workOrderExtService; private IMesWorkOrderExtService workOrderExtService;
@Autowired @Autowired
private MesWorkOrderRepository workOrderRepository; private MesWorkOrderRepository workOrderRepository;
@Autowired @Autowired
private MesProductVersionRepository productVersionRepository; private MesProductVersionRepository productVersionRepository;
@ -155,6 +155,9 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
@Autowired @Autowired
private MesPartProdGroupRepository mesPartProdGroupRao; private MesPartProdGroupRepository mesPartProdGroupRao;
@Autowired
private IMesEquipmentExtService equipmentExtService;
@Override @Override
public ListPager<MesReworkTask> queryReworkTask(MesReworkTask mesReworkTask, Pager pager) { public ListPager<MesReworkTask> queryReworkTask(MesReworkTask mesReworkTask, Pager pager) {
String organizeCode = !StringUtils.isEmpty(mesReworkTask.getOrganizeCode())?mesReworkTask.getOrganizeCode():AuthUtil.getOrganizeCode(); String organizeCode = !StringUtils.isEmpty(mesReworkTask.getOrganizeCode())?mesReworkTask.getOrganizeCode():AuthUtil.getOrganizeCode();
@ -558,7 +561,7 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
Map<String,MesWorkCenter> mesWorkCenterMap = new HashMap<>(); Map<String,MesWorkCenter> mesWorkCenterMap = new HashMap<>();
//匹配装配件 //匹配装配件
for (MesProductionAssembly assembly : productionAssemblies) { for (MesProductionAssembly assembly : productionAssemblies) {
Object context = getContext(requestModel, assembly,mesWorkCenterMap); Object context = getContext(requestModel, assembly, mesWorkCenterMap);
//匹配规则 //匹配规则
Map<String, Object> result = numberRuleMatchDispatchService.matchNumberRule(requestModel.getOrganizeCode(), requestModel.getSn(), context); Map<String, Object> result = numberRuleMatchDispatchService.matchNumberRule(requestModel.getOrganizeCode(), requestModel.getSn(), context);
//匹配成功 //匹配成功
@ -928,20 +931,38 @@ public class MesReworkTaskServiceImpl implements IMesReworkTaskService {
mesProductionAssemblyUniqueRepository.insert(productionAssemblyUnique); mesProductionAssemblyUniqueRepository.insert(productionAssemblyUnique);
} }
private Object getContext(MesReworkTaskRequestModel requestModel, MesProductionAssembly mesProductionAssembly,Map<String,MesWorkCenter> mesWorkCenterMap) { private Object getContext(MesReworkTaskRequestModel requestModel, MesProductionAssembly mesProductionAssembly, Map<String,MesWorkCenter> mesWorkCenterMap) {
if(StringUtils.isEmpty(mesProductionAssembly.getWorkCenterCode())) MesPcnException.throwFlowException("产线代码不存在"); if(StringUtils.isEmpty(mesProductionAssembly.getWorkCenterCode())) MesPcnException.throwFlowException("产线代码不存在");
Object context = null; MesWorkCenter workCenterDb;
MesWorkCenter workCenterDb = null;
//产线类型 //产线类型
if(!mesWorkCenterMap.containsKey(mesProductionAssembly.getWorkCenterCode())){ if(!mesWorkCenterMap.containsKey(mesProductionAssembly.getWorkCenterCode())){
workCenterDb = getMesWorkCenter(requestModel.getOrganizeCode(), mesProductionAssembly.getWorkCenterCode()); workCenterDb = getMesWorkCenter(requestModel.getOrganizeCode(), mesProductionAssembly.getWorkCenterCode());
mesWorkCenterMap.put(mesProductionAssembly.getWorkCenterCode(),workCenterDb); mesWorkCenterMap.put(mesProductionAssembly.getWorkCenterCode(),workCenterDb);
}else{ } else{
workCenterDb = mesWorkCenterMap.get(mesProductionAssembly.getWorkCenterCode()); workCenterDb = mesWorkCenterMap.get(mesProductionAssembly.getWorkCenterCode());
} }
if (MesExtEnumUtil.WORK_CENTER_TYPE.SORT.getValue() == workCenterDb.getCenterType()) context = new MesProductionAssemblySortContext().copy(mesProductionAssembly);
else context = new MesProductionAssemblyNosortContext().copy(mesProductionAssembly); //获取不可用规则
return context; String prodRuleIgnoreCfg = getProdRuleIgnoreCfg(requestModel.getOrganizeCode(), workCenterDb.getCenterType(), mesProductionAssembly.getSourceId(), mesProductionAssembly.getEquipmentCode());
return MesExtEnumUtil.WORK_CENTER_TYPE.SORT.getValue() == workCenterDb.getCenterType()
? new MesProductionAssemblySortContext().copy(mesProductionAssembly).prodRuleIgnoreCfg(prodRuleIgnoreCfg)
: new MesProductionAssemblyNosortContext().copy(mesProductionAssembly).prodRuleIgnoreCfg(prodRuleIgnoreCfg);
}
//获取不可用规则
private String getProdRuleIgnoreCfg(String organizeCode, Integer centerType, Long sourceId, String equipmentCode) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(centerType) || StringUtils.isEmpty(sourceId) || StringUtils.isEmpty(equipmentCode)) return null;
Long sourceId2IgnoreCfg = null;
if (MesExtEnumUtil.WORK_CENTER_TYPE.SORT.getValue() == centerType) {
MesWorkOrderAssembly workOrderAssembly = mesAssemblyExtService.getWorkOrderAssembly(organizeCode, sourceId);
if (null != workOrderAssembly && !StringUtils.isEmpty(workOrderAssembly.getPid())) sourceId2IgnoreCfg = workOrderAssembly.getPid();
} else sourceId2IgnoreCfg = sourceId;
Integer dataSource = MesExtEnumUtil.WORK_CENTER_TYPE.SORT.getValue() == centerType ? MesExtEnumUtil.PROD_RULE_IGNORE_DATA_SOURCE.DATA_SOURCE10.getValue() : MesExtEnumUtil.PROD_RULE_IGNORE_DATA_SOURCE.DATA_SOURCE30.getValue();
if (StringUtils.isEmpty(sourceId2IgnoreCfg)) return null;
List<MesProdRuleIgnoreCfg> prodRuleIgnoreCfgList = equipmentExtService.getProdRuleIgnoreCfgList(organizeCode, equipmentCode, dataSource, sourceId2IgnoreCfg);
if (CollectionUtils.isEmpty(prodRuleIgnoreCfgList)) return null;
return JSONObject.toJSONString(prodRuleIgnoreCfgList);
} }
private MesProduceSn getMesProduceSn(String organizeCode, String productSn) { private MesProduceSn getMesProduceSn(String organizeCode, String productSn) {

@ -359,4 +359,12 @@ public class MesAssemblyExtService implements IMesAssemblyExtService {
packBean); packBean);
} }
@Override
public MesWorkOrderAssembly getWorkOrderAssembly(String organizeCode, Long id) {
if (StringUtils.isEmpty(organizeCode) || StringUtils.isEmpty(id)) return null;
return workOrderAssemblyRepository.getByProperty(
new String[]{MesPcnExtConstWords.ORGANIZE_CODE, MesPcnExtConstWords.IS_DELETED, MesPcnExtConstWords.IS_VALID, MesPcnExtConstWords.ID},
new Object[]{organizeCode, CommonEnumUtil.TRUE_OR_FALSE.FALSE.getValue(), CommonEnumUtil.IS_VAILD.VAILD.getValue(), id});
}
} }

Loading…
Cancel
Save