소스 검색

首页合同数据权限

ljy121 1 년 전
부모
커밋
ba5badffd4

+ 4 - 0
zjugis-business/src/main/java/com/zjugis/business/bean/dto/ContractApplyDto.java

@@ -3,6 +3,8 @@ package com.zjugis.business.bean.dto;
 import com.zjugis.framework.common.pojo.PageParam;
 import lombok.Data;
 
+import java.util.Set;
+
 /**
  * @author ljy
  * @version 1.0
@@ -23,4 +25,6 @@ public class ContractApplyDto extends PageParam {
 
 
     private String year;
+
+    private Set<String> deptIds;
 }

+ 4 - 0
zjugis-business/src/main/java/com/zjugis/business/bean/dto/ContractMessageDto.java

@@ -3,6 +3,8 @@ package com.zjugis.business.bean.dto;
 import com.zjugis.framework.common.pojo.PageParam;
 import lombok.Data;
 
+import java.util.Set;
+
 /**
  * @author ljy
  * @version 1.0
@@ -20,4 +22,6 @@ public class ContractMessageDto extends PageParam {
     private String userId;
 
     private Integer messageType;
+
+    private Set<String> deptIds;
 }

+ 1 - 1
zjugis-business/src/main/java/com/zjugis/business/mapper/ContractMapper.java

@@ -37,5 +37,5 @@ public interface ContractMapper extends BaseMapperX<Contract> {
 
     ContractMessageCountResp messageCountContract(@Param("params") ContractMessageDto messageDto);
 
-    BigDecimal messageCountReturn(ContractMessageDto messageDto);
+    BigDecimal messageCountReturn(@Param("params") ContractMessageDto messageDto);
 }

+ 11 - 0
zjugis-business/src/main/java/com/zjugis/business/service/impl/ContractServiceImpl.java

@@ -27,6 +27,8 @@ import com.zjugis.framework.security.core.util.SecurityFrameworkUtils;
 import com.zjugis.framework.workflow.model.ProcessDto;
 import com.zjugis.framework.workflow.rpc.remote.WorkflowClient;
 import com.zjugis.framework.workflow.utils.UrlUtils;
+import com.zjugis.module.system.api.permission.PermissionApi;
+import com.zjugis.module.system.api.permission.dto.DeptDataPermissionRespDTO;
 import com.zjugis.module.system.api.user.AdminUserApi;
 import com.zjugis.module.system.api.user.dto.AdminUserRespDTO;
 import org.springframework.beans.BeanUtils;
@@ -86,6 +88,9 @@ public class ContractServiceImpl implements ContractService{
     @Autowired
     private ContractApplyService contractApplyService;
 
+    @Autowired
+    private PermissionApi permissionApi;
+
     @Override
     public String insert(Contract contract) {
         contractMapper.insert(contract);
@@ -179,8 +184,14 @@ public class ContractServiceImpl implements ContractService{
      */
     @Override
     public ContractInfoResp info(InfoRequest infoRequest) {
+        CommonResult<DeptDataPermissionRespDTO> deptDataPermissionRes = permissionApi.getDeptDataPermission(SecurityFrameworkUtils.getLoginUserId());
+        DeptDataPermissionRespDTO deptPermissions = deptDataPermissionRes.getCheckedData();
         ContractMessageDto dto = new ContractMessageDto();
         ContractApplyDto applyDto = new ContractApplyDto();
+        if(!deptPermissions.getAll()){
+            dto.setDeptIds(deptPermissions.getDeptIds());
+            applyDto.setDeptIds(deptPermissions.getDeptIds());
+        }
         if(infoRequest.getYear() != null) {
             dto.setYear(String.valueOf(infoRequest.getYear()));
         }

+ 14 - 7
zjugis-business/src/main/resources/mapper/oracle/ContractApplyMapper.xml

@@ -63,15 +63,22 @@
     </select>
 
     <select id="selectToPayAmount" resultType="com.zjugis.business.bean.dto.ContractApplyToPayDto">
-        select COALESCE(SUM((CASE WHEN APPLY_TYPE = 1 THEN COALESCE(CONTRACT_AMOUNT,0) ELSE 0 END)),0) AS subAmount,
-        COALESCE(SUM((CASE WHEN APPLY_TYPE = 1 THEN COALESCE(PAY_AMOUNT,0) ELSE 0 END)),0) AS subPayedAmount,
-        COALESCE(SUM((CASE WHEN APPLY_TYPE = 2 THEN COALESCE(CONTRACT_AMOUNT,0) ELSE 0 END)),0) AS outAmount,
-        COALESCE(SUM((CASE WHEN APPLY_TYPE = 2 THEN COALESCE(PAY_AMOUNT,0) ELSE 0 END)),0) AS outPayedAmount
-        FROM CONTRACT_APPLY
+        select COALESCE(SUM((CASE WHEN t.APPLY_TYPE = 1 THEN COALESCE(t.CONTRACT_AMOUNT,0) ELSE 0 END)),0) AS subAmount,
+        COALESCE(SUM((CASE WHEN t.APPLY_TYPE = 1 THEN COALESCE(t.PAY_AMOUNT,0) ELSE 0 END)),0) AS subPayedAmount,
+        COALESCE(SUM((CASE WHEN t.APPLY_TYPE = 2 THEN COALESCE(t.CONTRACT_AMOUNT,0) ELSE 0 END)),0) AS outAmount,
+        COALESCE(SUM((CASE WHEN t.APPLY_TYPE = 2 THEN COALESCE(t.PAY_AMOUNT,0) ELSE 0 END)),0) AS outPayedAmount
+        FROM CONTRACT_APPLY t
+        LEFT JOIN PROJECT p on p.ID = t.PROJECT_ID
         <where>
-            ISVALID = 1 AND FLOW_STATUS = 90
+            t.ISVALID = 1 AND t.FLOW_STATUS = 90
             <if test="params != null and params.year != null and params.year != ''">
-                AND TO_CHAR(APPLY_DATE,'YYYY') = #{params.year,jdbcType=VARCHAR}
+                AND TO_CHAR(t.APPLY_DATE,'YYYY') = #{params.year,jdbcType=VARCHAR}
+            </if>
+            <if test="params != null  and params.deptIds != null  and params.deptIds.size > 0">
+                AND p.ZRBM_ID in
+                <foreach collection="params.deptIds" item="item" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
             </if>
         </where>
     </select>

+ 18 - 7
zjugis-business/src/main/resources/mapper/oracle/ContractMapper.xml

@@ -123,9 +123,7 @@
         SELECT NVL(SUM(c.CONTRACT_AMOUNT), 0) as signAmount,
             NVL(SUM(CASE WHEN c.SIGN_WAY = 3 then C.CONTRACT_AMOUNT ELSE 0 END), 0) AS newAmount
             FROM CONTRACT c
-            <if test="params != null and params.deptId != null and params.deptId != ''">
-                RIGHT JOIN PROJECT pr ON pr.ID = c.PROJECT_ID
-            </if>
+            RIGHT JOIN PROJECT pr ON pr.ID = c.PROJECT_ID
             <where>
                 c.ISVALID = 1 AND c.FLOW_STATUS = 90
                 <if test="params != null and params.year != null and params.year != ''">
@@ -134,6 +132,12 @@
                 <if test="params != null and params.deptId != null and params.deptId != ''">
                     AND pr.ZRBM_ID = #{params.deptId}
                 </if>
+                <if test="params != null  and params.deptIds != null  and params.deptIds.size > 0">
+                    AND pr.ZRBM_ID in
+                    <foreach collection="params.deptIds" item="item" open="(" close=")" separator=",">
+                        #{item}
+                    </foreach>
+                </if>
                 <if test="params != null and params.managerId != null and params.managerId != ''">
                     AND c.AREA_MANAGER_ID = #{params.managerId}
                 </if>
@@ -239,11 +243,18 @@
         select COALESCE(SUM(COALESCE(t2.RETURN_AMOUNT,0)),0) as returnAmount
         FROM CONTRACT_RETURN_MONEY t2
         RIGHT JOIN CONTRACT t1 on t2.CONTRACT_ID = t1.ID and t1.ISVALID = 1 and t1.FLOW_STATUS = 90
+        LEFT JOIN PROJECT pr ON pr.ID = t1.PROJECT_ID
         <where>
-        t2.ISVALID = 1 and t2.BZ != '冲红'
-        <if test="params != null and params.year != null and params.year != ''">
-            AND TO_CHAR(t2.RETURN_DATE,'YYYY') = #{params.year,jdbcType=VARCHAR}
-        </if>
+            t2.ISVALID = 1 and t2.BZ != '冲红'
+            <if test="params != null and params.year != null and params.year != ''">
+                AND TO_CHAR(t2.RETURN_DATE,'YYYY') = #{params.year,jdbcType=VARCHAR}
+            </if>
+            <if test="params != null  and params.deptIds != null  and params.deptIds.size > 0">
+                AND pr.ZRBM_ID in
+                <foreach collection="params.deptIds" item="item" open="(" close=")" separator=",">
+                    #{item}
+                </foreach>
+            </if>
         </where>
     </select>
 </mapper>