From 688d5f905fbafafdc079029a429c08c0b78a0999 Mon Sep 17 00:00:00 2001 From: liweidong-hj Date: Wed, 22 Apr 2026 15:36:41 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A1=E5=88=92=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../basic/mapper/LocallyPlatedPartMapper.java | 2 ++ .../basic/mapper/LocallyPlatedPartMapper.xml | 4 +++ .../service/ILocallyPlatedPartService.java | 7 ++++ .../impl/LocallyPlatedPartServiceImpl.java | 5 +++ .../dashboard/mapper/PartBasicsMapper.xml | 3 ++ .../service/impl/DsPartServiceImpl.java | 35 ++++++++++++++++++- .../service/impl/YieldOrderServiceImpl.java | 17 +++++++-- 7 files changed, 69 insertions(+), 4 deletions(-) diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/LocallyPlatedPartMapper.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/LocallyPlatedPartMapper.java index 2ed1bb7d..2aecae56 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/LocallyPlatedPartMapper.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/LocallyPlatedPartMapper.java @@ -37,4 +37,6 @@ public interface LocallyPlatedPartMapper extends BaseMapper { * @return List */ List exportLocallyPlatedPart(@Param("ew") Wrapper queryWrapper); + + LocallyPlatedPart selectLocallyPlatedPartByPartCode(@Param("partCode") String partCode); } diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/LocallyPlatedPartMapper.xml b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/LocallyPlatedPartMapper.xml index 94cbd242..ccc7352f 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/LocallyPlatedPartMapper.xml +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/mapper/LocallyPlatedPartMapper.xml @@ -18,4 +18,8 @@ + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/ILocallyPlatedPartService.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/ILocallyPlatedPartService.java index b0ad62b5..0116f759 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/ILocallyPlatedPartService.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/basic/service/ILocallyPlatedPartService.java @@ -41,4 +41,11 @@ public interface ILocallyPlatedPartService extends BaseService and part_code = #{dsPartBasicsVO.partCode} + + and id = #{dsPartBasicsVO.id} + diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java index 185396e1..9f5f97cf 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/dashboard/service/impl/DsPartServiceImpl.java @@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.springblade.common.constant.CommonConstant; import org.springblade.core.log.exception.ServiceException; @@ -29,7 +30,9 @@ import org.springblade.desk.order.pojo.entity.YieldOrder; import org.springblade.desk.order.pojo.enums.YieldOrderEnum; import org.springblade.erpdata.feign.IErpDataPartClient; import org.springblade.scheduling.pojo.entity.CraftAbilityEntity; +import org.springblade.system.feign.IDictClient; import org.springblade.system.feign.IUserClient; +import org.springblade.system.pojo.entity.Dict; import org.springblade.system.pojo.entity.User; import org.springblade.system.pojo.entity.UserInfo; import org.springframework.beans.BeanUtils; @@ -115,6 +118,8 @@ public class DsPartServiceImpl extends BaseServiceImpl selectDsPartPage(IPage page, DsPartVO dsPart) { @@ -697,8 +702,36 @@ public class DsPartServiceImpl extends BaseServiceImpl caIdList = processEntities.stream().map(DsProcessEntity::getCaId).filter(Objects::nonNull).distinct().collect(Collectors.toList()); List craftAbilityList = craftAbilityService.list(Wrappers.lambdaQuery().in(BaseEntity::getId,caIdList)); + // 获取工艺能力字典 + R> processCapabilityType = dictClient.getList("ProcessCapabilityType"); + // 将字典数据转成map + List processCapabilityList = processCapabilityType.getData(); + Map wtIdNameMap = processCapabilityList.stream() + .filter(Objects::nonNull) + .collect(Collectors.toMap( + Dict::getDictKey, + Dict::getDictValue, + (k1, k2) -> k1 + )); + if(!CollectionUtils.isEmpty(craftAbilityList)){ - Double levConfirmVal = craftAbilityList.stream().filter(Objects::nonNull).map(CraftAbilityEntity::getLocalArea).filter(Objects::nonNull).findFirst().orElse(BigDecimal.ZERO).doubleValue(); + // 读取工艺能力数据 并获名称包含镀金的第一条数据 + Double levConfirmVal = craftAbilityList.stream() + .filter(Objects::nonNull) + .filter(craft -> { + String wtId = craft.getWtId(); + if (wtId == null) { + return false; + } + String wtName = wtIdNameMap.get(wtId); + return wtName != null && wtName.contains("镀金"); + }) + .map(CraftAbilityEntity::getLocalArea) + .filter(Objects::nonNull) + .findFirst() + .orElse(BigDecimal.ZERO) + .doubleValue(); + if (levConfirmVal > 0) { // 计算生产订单总面积 Double totalArea = yieldOrder.getYpArea() * yieldOrder.getYpQty(); diff --git a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java index 60a6627e..100da143 100644 --- a/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java +++ b/blade-service/blade-desk/src/main/java/org/springblade/desk/order/service/impl/YieldOrderServiceImpl.java @@ -20,7 +20,9 @@ import org.springblade.core.mp.base.BaseServiceImpl; import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.tool.api.R; import org.springblade.core.tool.utils.*; +import org.springblade.desk.basic.pojo.entity.LocallyPlatedPart; import org.springblade.desk.basic.pojo.entity.WorkCenter; +import org.springblade.desk.basic.service.ILocallyPlatedPartService; import org.springblade.desk.basic.service.IQualityGradeService; import org.springblade.desk.basic.service.IWorkCenterService; import org.springblade.desk.dashboard.constant.DsCraftConstant; @@ -120,6 +122,9 @@ public class YieldOrderServiceImpl extends BaseServiceImpl dsProcessEntityList = dsProcessService.selectDsProcessByCraftId(craft.getId()); //删除之前的 yieldOrderCraftService.deleteByYoId(yieldOrder.getId()); List yieldOrderCraftList = new ArrayList<>(); if (dsProcessEntityList != null && dsProcessEntityList.size() > 0) { + //没有执行update if (DsCraftConstant.PRIORITY_THIS_USE.equals(craft.getRank())) { craft.setPrority(DsCraftConstant.PRIORITY_TEMPORARY); } @@ -1329,7 +1338,9 @@ public class YieldOrderServiceImpl extends BaseServiceImpl