SPS拉动单打印

tags/yfai-mes-ext-v2.3
jun 7 months ago
parent bc6b3dc5ad
commit 97d7e4e65d

@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesCustomerCarModelDetail; import cn.estsh.i3plus.pojo.mes.bean.MesCustomerCarModelDetail;
import cn.estsh.i3plus.pojo.mes.bean.MesCustomerPart; import cn.estsh.i3plus.pojo.mes.bean.MesCustomerPart;
import io.swagger.annotations.ApiOperation;
import java.util.List; import java.util.List;
@ -14,4 +15,7 @@ public interface IMesCustomerPartService extends IBaseMesService<MesCustomerPart
List<MesCustomerPart> findMesCustomerPart(MesCustomerCarModelDetail mesPartProdGroupDetail); List<MesCustomerPart> findMesCustomerPart(MesCustomerCarModelDetail mesPartProdGroupDetail);
@ApiOperation("根据零件号获取客户零件关系")
List<MesCustomerPart> findMesCustomerPartByPartNo(String organizeCode,List<String> partNoList);
} }

@ -15,9 +15,11 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.CollectionUtils; import org.apache.commons.collections.CollectionUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.StringUtils;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors; import java.util.stream.Collectors;
/** /**
@ -100,4 +102,12 @@ public class MesCustomerPartService extends BaseMesService<MesCustomerPart> impl
return baseRDao.findByHqlWhere(ddlPackBean); return baseRDao.findByHqlWhere(ddlPackBean);
} }
@Override
public List<MesCustomerPart> findMesCustomerPartByPartNo(String organizeCode, List<String> partNoList) {
if(StringUtils.isEmpty(organizeCode) || Objects.isNull(partNoList)) return null;
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getInPack(partNoList, "erpPartNo", packBean);
return baseRDao.findByHqlWhere(packBean);
}
} }

@ -1,5 +1,6 @@
package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base; package cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesCustomerPartService;
import cn.estsh.i3plus.ext.mes.api.base.IMesPullingOrderInfoService; import cn.estsh.i3plus.ext.mes.api.base.IMesPullingOrderInfoService;
import cn.estsh.i3plus.icloud.core.sdk.ICoreUtilCloud; import cn.estsh.i3plus.icloud.core.sdk.ICoreUtilCloud;
import cn.estsh.i3plus.platform.common.convert.ConvertBean; import cn.estsh.i3plus.platform.common.convert.ConvertBean;
@ -49,6 +50,8 @@ public class MesPullingOrderInfoService extends BaseMesService<MesPullingOrderIn
private MesPullingOrderExtendsRepository mesPullingOrderExtendsRepository; private MesPullingOrderExtendsRepository mesPullingOrderExtendsRepository;
@Autowired @Autowired
private IMesPrintedSnLogRepository snLogRao; private IMesPrintedSnLogRepository snLogRao;
@Autowired
private IMesCustomerPartService mesCustomerPartService;
protected void setPackQueryBean(MesPullingOrderInfo bean, DdlPackBean packBean) { protected void setPackQueryBean(MesPullingOrderInfo bean, DdlPackBean packBean) {
DdlPreparedPack.getStringEqualPack(bean.getPullCode(), "pullCode", packBean); DdlPreparedPack.getStringEqualPack(bean.getPullCode(), "pullCode", packBean);
DdlPreparedPack.getStringEqualPack(bean.getPullingOrderNo(), "pullingOrderNo", packBean); DdlPreparedPack.getStringEqualPack(bean.getPullingOrderNo(), "pullingOrderNo", packBean);
@ -136,6 +139,9 @@ public class MesPullingOrderInfoService extends BaseMesService<MesPullingOrderIn
LOGGER.info("根据拉动组和生产工单产生拉动单JOB-->工厂号{},产线对应的工单对应工单零件mesWorkOrderPartList-->{}", organizeCode, mesWorkOrderPartList); LOGGER.info("根据拉动组和生产工单产生拉动单JOB-->工厂号{},产线对应的工单对应工单零件mesWorkOrderPartList-->{}", organizeCode, mesWorkOrderPartList);
//5.取工单零件和拉动组交集,根据拉动主表对应的类型 生成相应的拉动单和拉动单明细 //5.取工单零件和拉动组交集,根据拉动主表对应的类型 生成相应的拉动单和拉动单明细
Map<String, List<MesWorkOrderPart>> workOrderNoListMap = mesWorkOrderPartList.stream().collect(Collectors.groupingBy(MesWorkOrderPart::getWorkOrderNo)); Map<String, List<MesWorkOrderPart>> workOrderNoListMap = mesWorkOrderPartList.stream().collect(Collectors.groupingBy(MesWorkOrderPart::getWorkOrderNo));
//6、获取客户物料信息
List<MesCustomerPart> mesCustomerPartByPartNoList = mesCustomerPartService.findMesCustomerPartByPartNo(organizeCode, partPullDetailListMap.keySet().stream().distinct().collect(Collectors.toList()));
Map<String, List<MesCustomerPart>> customerPartMap = CollectionUtils.isEmpty(mesCustomerPartByPartNoList) ? null : mesCustomerPartByPartNoList.stream().collect(Collectors.groupingBy(MesCustomerPart::getErpPartNo));
for (Map.Entry<String, List<MesWorkOrderPart>> stringListEntry : workOrderNoListMap.entrySet()) { for (Map.Entry<String, List<MesWorkOrderPart>> stringListEntry : workOrderNoListMap.entrySet()) {
@ -234,7 +240,7 @@ public class MesPullingOrderInfoService extends BaseMesService<MesPullingOrderIn
pullingOrderPartInfo.setEquipment(partInfo.getEquipment()); pullingOrderPartInfo.setEquipment(partInfo.getEquipment());
pullingOrderPartInfo.setLocation(partInfo.getPullAddr());//todo pullingOrderPartInfo.setLocation(partInfo.getPullAddr());//todo
pullingOrderPartInfo.setStatus(MesExtEnumUtil.PULL_ORDER_PART_STATUS.UN_SENTED.getValue());///明细已送料为1未送料为0 pullingOrderPartInfo.setStatus(MesExtEnumUtil.PULL_ORDER_PART_STATUS.UN_SENTED.getValue());///明细已送料为1未送料为0
pullingOrderPartInfo.setCustPartNo(pullingOrder.getCustPartNo()); pullingOrderPartInfo.setCustPartNo(!Objects.isNull(customerPartMap) && customerPartMap.containsKey(partInfo.getPartNo()) ? customerPartMap.get(partInfo.getPartNo()).iterator().next().getCustPartNo() : "");
if (partInfo.getScanValidationType() == 10) { if (partInfo.getScanValidationType() == 10) {
pullingOrderPartInfo.setColor(MesExtEnumUtil.PART_PULL_DETAIL_COLOR.WHITE.getCode()); pullingOrderPartInfo.setColor(MesExtEnumUtil.PART_PULL_DETAIL_COLOR.WHITE.getCode());
} else { } else {

Loading…
Cancel
Save