Sfoglia il codice sorgente

修改待课录单 后线人员权限保司无法报价的问题

785834757 1 anno fa
parent
commit
719336bafa

+ 7 - 1
src/main/java/com/ydtech/modules/order/aop/aspect/QuoteVerificationAspect.java

@@ -247,7 +247,13 @@ public class QuoteVerificationAspect {
                 //add by hxl  2024-06-12  改为从主订单表中获取数据用户id和部门id
                 SysUser user = sysUserService.getById(quoteInfo.getUserid());
                 String userId = quoteInfo.getUserid();
+                List<String> deptList = new ArrayList<>();
                 String deptId = user.getDeptId();
+                deptList.add(deptId);
+                // 判断 登录用户是否与报价用户一致  如果不一致则认为是代课录单
+                if (!userId.equals(BaseController.getUserId())) {
+                    deptList.add(BaseController.getDeptId());
+                }
                 List<KindInfoVo> kinds = Objects.isNull(quoteInfo.getKindList()) ? new ArrayList<>() : quoteInfo.getKindList();
                 List<RiskInfoVo> risks = quoteInfo.getRiskList();
 
@@ -309,7 +315,7 @@ public class QuoteVerificationAspect {
                     }
                 }
                 agreementId = ((BaseQuoteVo<?>) arg).getAgreementId();
-                ptlAgreementDeptService.agreementIsAuthorized(deptId, agreementId);
+                ptlAgreementDeptService.agreementIsAuthorized(deptList, agreementId);
 
             }
         }

+ 1 - 1
src/main/java/com/ydtech/modules/protocol/dao/PtlAgreementGroupLinkDeptMapper.java

@@ -28,7 +28,7 @@ public interface PtlAgreementGroupLinkDeptMapper extends BaseMapper<PtlAgreement
      *  @Date: 2024/10/25 18:04
      *  @Description: 通過部門id和协议id判断是否授权
      */
-    List<String> getAgreementByDeptId(@Param("agreementId") String agreementId, @Param("deptId") String deptId);
+    List<String> getAgreementByDeptId(@Param("agreementId") String agreementId, @Param("deptList") List<String> deptList);
 }
 
 

+ 1 - 1
src/main/java/com/ydtech/modules/protocol/service/PtlAgreementDeptService.java

@@ -42,7 +42,7 @@ public interface PtlAgreementDeptService extends IService<PtlAgreementDept> {
     /**
      * 判断此协议是否授权
      */
-    void agreementIsAuthorized(String deptId, String agreementId);
+    void agreementIsAuthorized(List<String> deptId, String agreementId);
 
     /**
      * 团队批量配置协议信息

+ 4 - 4
src/main/java/com/ydtech/modules/protocol/service/impl/PtlAgreementDeptServiceImpl.java

@@ -57,20 +57,20 @@ public class PtlAgreementDeptServiceImpl extends ServiceImpl<PtlAgreementDeptMap
     }
 
     @Override
-    public void agreementIsAuthorized(String deptId, String agreementId) {
+    public void agreementIsAuthorized(List<String> deptList, String agreementId) {
         //add by  hxl  2024-10-25   注释掉从 协议调度授权部门的协议逻辑  ==================begin==================
         boolean flag = sysSwitchConfigService.xysqDisplaySwitches();
         if(flag){
             //新逻辑从协议组授权获取
-            if(StringUtils.isNotBlank(deptId)){
-                List<String> ids =ptlAgreementGroupLinkDeptMapper.getAgreementByDeptId(agreementId, deptId);
+            if(!deptList.isEmpty()){
+                List<String> ids =ptlAgreementGroupLinkDeptMapper.getAgreementByDeptId(agreementId, deptList);
                 if (ids.isEmpty()) {
                     throw new SystemException("协议或调度协议未授权,请联系团队长授权");
                 }
             }
         }else{
             //原先逻辑
-            List<PtlAgreementDept> list = list(byAgreementId(agreementId).eq(PtlAgreementDept::getDeptId, deptId));
+            List<PtlAgreementDept> list = list(byAgreementId(agreementId).eq(PtlAgreementDept::getDeptId, deptList.get(0)));
             //==================================================================== end==================
             if (list.isEmpty()) {
                 throw new SystemException("请联系团队长授权");

+ 4 - 1
src/main/resources/mapper/modules/protocol/PtlAgreementGroupLinkDeptMapper.xml

@@ -92,7 +92,10 @@
                 LEFT JOIN ptl_agreement_group  pag    on  pagla.ptl_agreement_group_id = pag.id
         where
             pag.default_flag=0
-          and pagld.dept_id = #{deptId}
+          and pagld.dept_id in
+        <foreach collection="deptList" item="deptId" open="(" separator="," close=")">
+            #{deptId}
+        </foreach>
         )  a
         where  a.ptl_agreement_id =#{agreementId}
     </select>