Merge branch 'dev' into dev-wuhan-temp

# Conflicts:
#	modules/i3plus-ext-mes-pcn-apiservice/src/main/java/cn/estsh/i3plus/ext/mes/pcn/apiservice/serviceimpl/busi/MesWorkOrderService.java
tags/yfai-pcn-ext-v2.3
jun 6 months ago
commit c3d079fa83

@ -54,6 +54,8 @@ public class MesJisShippingServiceImpl implements IMesJisShippingService {
jisShipping.setCusCode(orderManagement.getCustCode());
jisShipping.setCusDock(orderManagement.getCustDockCode());
jisShipping.setCustOrderNo(orderManagement.getOrderCode());
// 20241115 没有给carNo赋值
jisShipping.setCarNo(k.getVin());
jisShipping.setSerialNumber(k.getBarcode());
jisShipping.setQuantityPerCar(1d);
jisShipping.setOffTime(TimeTool.getNowTime(true));

@ -29,6 +29,7 @@ import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.collections4.ListUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -82,6 +83,8 @@ public class MesSpotCheckOrderService implements IMesSpotCheckOrderService {
@Autowired
private IMesEquipmentExtService mesEquipmentExtService;
@Autowired
private MesEquipmentRepository mesEquipmentRepository;
@Override
public ListPager<MesSpotCheckOrder> querySpotCheckOrder(MesSpotCheckOrder spotCheckOrder, Pager pager) {
@ -91,6 +94,19 @@ public class MesSpotCheckOrderService implements IMesSpotCheckOrderService {
pager = PagerHelper.getPager(pager, spotCheckOrderRepository.findByHqlWhereCount(packBean));
List<MesSpotCheckOrder> resultList = spotCheckOrderRepository.findByHqlWherePage(packBean, pager);
if (CollectionUtils.isEmpty(resultList)) {
return new ListPager<>(resultList, pager);
}
List<String> equipmentlist = resultList.stream().map(MesSpotCheckOrder::getEquipCode).collect(Collectors.toList());
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(spotCheckOrder.getOrganizeCode());
DdlPreparedPack.getInPackList(equipmentlist, "equipmentCode", ddlPackBean);
List<MesEquipment> mesEquipments = mesEquipmentRepository.findByHqlWhere(ddlPackBean);
Map<String, List<MesEquipment>> map = mesEquipments.stream().collect(Collectors.groupingBy(MesEquipment::getEquipmentCode));
resultList.forEach(mesSpotCheckOrder -> {
mesSpotCheckOrder.setEquipId(map.get(mesSpotCheckOrder.getEquipCode()).get(0).getEquipId());
});
return new ListPager<>(resultList, pager);
@ -298,13 +314,14 @@ public class MesSpotCheckOrderService implements IMesSpotCheckOrderService {
spotCheckOrderPartRepository.saveAll(model.getOrderPartList());
Integer orderResult = MesExtEnumUtil.SPOT_CHECK_ORDER_RESULT_TYPE.OK.getValue();
// 点检单的结果
for (MesSpotCheckOrderResult result : model.getOrderResultList()) {
if (StringUtils.isEmpty(result.getSpotCheckRealValue())) {
throw new ImppBusiException(String.format("点检单明细未填写完成,请继续质检", result.getSpotCheckRealValue()));
}
if (result.getIsTolerance() == MesCommonConstant.TRUE_INTEGER && orderResult == MesExtEnumUtil.SPOT_CHECK_ORDER_RESULT_TYPE.OK.getValue()) {
if (Objects.equals(result.getSpotCheckResult(), "NOK") && Objects.equals(MesExtEnumUtil.SPOT_CHECK_ORDER_RESULT_TYPE.OK.getValue(), orderResult)) {
// 如果有NOK的则不用管全OK才是OK否则就是NOK
orderResult = MesExtEnumUtil.SPOT_CHECK_ORDER_RESULT_TYPE.NOK.getValue();
}
result.setSpotCheckTime(TimeTool.getNowTime(true));
@ -576,6 +593,8 @@ public class MesSpotCheckOrderService implements IMesSpotCheckOrderService {
//查询点检明细
DdlPackBean packBean = DdlPackBean.getDdlPackBean(spotCheckOrder.getOrganizeCode());
DdlPreparedPack.getNumEqualPack(spotCheckOrder.getId(), "pid", packBean);
DdlPreparedPack.getOrderByPack(new Object[]{CommonEnumUtil.ASC_OR_DESC.ASC.getValue()}, new String[]{"seqCode"}, packBean);
List<MesSpotCheckOrderResult> orderResultList = spotCheckOrderResultRepository.findByHqlWhere(packBean);
//查询点检零件
@ -638,10 +657,11 @@ public class MesSpotCheckOrderService implements IMesSpotCheckOrderService {
//根据条码状态判断 是不是已下线条码
//若不是已下线的条码则提示 条码状态 请选择已下线的条码
if (produceSn.getSnStatus() != MesExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getValue()) {
// 2024-11-12 激光打码和打印条码,也能够执行
/*if (produceSn.getSnStatus() != MesExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getValue()) {
throw new ImppBusiException(String.format("【%s】此条码状态为【%s】,请选择状态为【%s】状态的条码", serialNumber, MesExtEnumUtil.PRODUCE_SN_STATUS.valueOfDescription(produceSn.getSnStatus()),
MesExtEnumUtil.PRODUCE_SN_STATUS.OFFLINE.getDescription()));
}
}*/
//是否需要判断条码质量状态
if (produceSn.getQcStatus() != MesExtEnumUtil.PRODUCE_QC_STATUS.QUALIFIED.getValue()) {

Loading…
Cancel
Save