From 6a0dba06d75c8b5f7dbb78730a0371e82f5be69f Mon Sep 17 00:00:00 2001 From: qiezi <15576055375@163.com> Date: Fri, 24 Jan 2025 14:53:05 +0800 Subject: [PATCH] 2025-1-17 --- .../modules/quote/entity/QuoteDetailBom.java | 6 ++ .../impl/QuoteDetailBomTreeServiceImpl.java | 37 +++++++++-- .../modules/sys/entity/SysUserEntity.java | 18 ++++++ .../modules/sys/oauth2/OAuth2Realm.java | 8 ++- .../mapper/quote/QuoteDetailBomTreeMapper.xml | 62 ++++++++++--------- 5 files changed, 96 insertions(+), 35 deletions(-) diff --git a/src/main/java/com/spring/modules/quote/entity/QuoteDetailBom.java b/src/main/java/com/spring/modules/quote/entity/QuoteDetailBom.java index ed490258..a7b75fa3 100644 --- a/src/main/java/com/spring/modules/quote/entity/QuoteDetailBom.java +++ b/src/main/java/com/spring/modules/quote/entity/QuoteDetailBom.java @@ -94,4 +94,10 @@ public class QuoteDetailBom { @TableField(exist = false) private Boolean allTree; + + /** + * 状态 物料是否转正 + */ + @TableField(exist = false) + private String status; } diff --git a/src/main/java/com/spring/modules/quote/service/impl/QuoteDetailBomTreeServiceImpl.java b/src/main/java/com/spring/modules/quote/service/impl/QuoteDetailBomTreeServiceImpl.java index ae1bc3f6..44a1cf20 100644 --- a/src/main/java/com/spring/modules/quote/service/impl/QuoteDetailBomTreeServiceImpl.java +++ b/src/main/java/com/spring/modules/quote/service/impl/QuoteDetailBomTreeServiceImpl.java @@ -1,10 +1,16 @@ package com.spring.modules.quote.service.impl; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.spring.ifs.bean.BaseSearchBean; +import com.spring.modules.part.entity.PartInformationEntity; +import com.spring.modules.part.vo.InventoryPartUnitCostSumVo; import com.spring.modules.quote.entity.*; import com.spring.modules.quote.mapper.QuoteDetailBomTreeMapper; import com.spring.modules.quote.service.*; +import com.spring.modules.sys.entity.SysUserEntity; import lombok.extern.slf4j.Slf4j; +import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -25,6 +31,8 @@ public class QuoteDetailBomTreeServiceImpl extends ServiceImpl map = baseSearchBean.getInventoryValueByPartNo(user.getServer(), part); + if (Objects.equals(map.get("resultCode"),"200")){ + // 返回成功 将成本 + InventoryPartUnitCostSumVo unitCostSumVo = JSONObject.parseObject(map.get("obj"), InventoryPartUnitCostSumVo.class); + try { + BigDecimal unitCost = new BigDecimal(unitCostSumVo.getInventoryValue()); + component.setUnitPrice(unitCost); + component.setActualPrice(unitCost); + component.setQuotePrice(unitCost); + }catch (Exception e){ + log.error("PartNo:{},Site:{},成本信息异常:{}",component.getPartNo(),component.getSite(),e.getMessage()); + } + } + } + // 物料是半成品 if (isComponentBom(quoteDetail)){ initQuoteDetailBomTree(quoteDetail ,bom.getId(),level+1); } diff --git a/src/main/java/com/spring/modules/sys/entity/SysUserEntity.java b/src/main/java/com/spring/modules/sys/entity/SysUserEntity.java index 08cd10b4..06588b48 100644 --- a/src/main/java/com/spring/modules/sys/entity/SysUserEntity.java +++ b/src/main/java/com/spring/modules/sys/entity/SysUserEntity.java @@ -6,9 +6,12 @@ import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonProperty; import com.spring.common.utils.QueryPage; import com.spring.common.validator.group.AddGroup; import com.spring.common.validator.group.UpdateGroup; +import ifs.fnd.ap.Server; import javax.validation.constraints.NotBlank; import java.io.Serializable; @@ -99,6 +102,21 @@ public class SysUserEntity extends QueryPage implements Serializable { private String ifsPassword; + /** + * IFS服务器 不转换成JSON + */ + @JsonIgnore + @TableField(exist=false) + private Server server; + + public Server getServer() { + return server; + } + + public void setServer(Server server) { + this.server = server; + } + public String getIfsUsername() { return ifsUsername; } diff --git a/src/main/java/com/spring/modules/sys/oauth2/OAuth2Realm.java b/src/main/java/com/spring/modules/sys/oauth2/OAuth2Realm.java index 77bb0c7c..bd1ce428 100644 --- a/src/main/java/com/spring/modules/sys/oauth2/OAuth2Realm.java +++ b/src/main/java/com/spring/modules/sys/oauth2/OAuth2Realm.java @@ -2,9 +2,11 @@ package com.spring.modules.sys.oauth2; +import com.spring.ifs.api.IfsServer; import com.spring.modules.sys.entity.SysUserEntity; import com.spring.modules.sys.entity.SysUserTokenEntity; import com.spring.modules.sys.service.ShiroService; +import ifs.fnd.ap.Server; import org.apache.shiro.authc.*; import org.apache.shiro.authz.AuthorizationInfo; import org.apache.shiro.authz.SimpleAuthorizationInfo; @@ -24,6 +26,8 @@ import java.util.Set; public class OAuth2Realm extends AuthorizingRealm { @Autowired private ShiroService shiroService; + @Autowired + private IfsServer ifsServer; @Override public boolean supports(AuthenticationToken token) { @@ -66,7 +70,9 @@ public class OAuth2Realm extends AuthorizingRealm { if(user.getStatus() == 0){ throw new LockedAccountException("账号已被锁定,请联系管理员"); } - + // 获取IFS服务器连接 + Server server = ifsServer.getIfsServer(user.getIfsUsername(), user.getIfsPassword()); + user.setServer(server); SimpleAuthenticationInfo info = new SimpleAuthenticationInfo(user, accessToken, getName()); return info; } diff --git a/src/main/resources/mapper/quote/QuoteDetailBomTreeMapper.xml b/src/main/resources/mapper/quote/QuoteDetailBomTreeMapper.xml index 9477d2ae..fcea2d38 100644 --- a/src/main/resources/mapper/quote/QuoteDetailBomTreeMapper.xml +++ b/src/main/resources/mapper/quote/QuoteDetailBomTreeMapper.xml @@ -62,41 +62,43 @@