瀏覽代碼

首页数据权限

ljy121 1 年之前
父節點
當前提交
a633184ff3

+ 2 - 0
zjugis-business/src/main/java/com/zjugis/business/bean/dto/ContractInvoiceDto.java

@@ -32,6 +32,8 @@ public class ContractInvoiceDto extends PageParam {
 
     private String payCompanyId;
 
+    private String payCompany;
+
     private LocalDate invoiceOn;
 
     private LocalDate invoiceOff;

+ 2 - 0
zjugis-business/src/main/java/com/zjugis/business/bean/dto/ProjectDto.java

@@ -5,6 +5,7 @@ import lombok.Data;
 import org.springframework.format.annotation.DateTimeFormat;
 
 import java.time.LocalDate;
+import java.util.Set;
 
 /**
  * @author ljy
@@ -45,6 +46,7 @@ public class ProjectDto extends PageParam {
 
     private Integer isRelContract;
 
+    private Set<String> deptIds;
 
 
 }

+ 2 - 1
zjugis-business/src/main/java/com/zjugis/business/framework/rpc/config/RpcSystemConfiguration.java

@@ -11,6 +11,7 @@ import com.zjugis.module.system.api.dept.DeptLeaderApi;
 import com.zjugis.module.system.api.dept.PostApi;
 import com.zjugis.module.system.api.dict.DictDataApi;
 import com.zjugis.module.system.api.district.DistrictApi;
+import com.zjugis.module.system.api.permission.PermissionApi;
 import com.zjugis.module.system.api.permission.RoleApi;
 import com.zjugis.module.system.api.user.AdminUserApi;
 import org.springframework.cloud.openfeign.EnableFeignClients;
@@ -22,6 +23,6 @@ import org.springframework.context.annotation.Configuration;
  * @Version 1.0
  */
 @Configuration(proxyBeanMethods = false)
-@EnableFeignClients(clients = {AdminUserApi.class, DeptApi.class, DictDataApi.class, AttendanceSheetApi.class, CompanyApi.class, RoleApi.class, WorkdayApi.class, ConfigApi.class, PostApi.class, DeptLeaderApi.class, DistrictApi.class, StaffApi.class, DingApi.class})
+@EnableFeignClients(clients = {AdminUserApi.class, DeptApi.class, DictDataApi.class, AttendanceSheetApi.class, CompanyApi.class, RoleApi.class, WorkdayApi.class, ConfigApi.class, PostApi.class, DeptLeaderApi.class, DistrictApi.class, StaffApi.class, DingApi.class, PermissionApi.class})
 public class RpcSystemConfiguration {
 }

+ 3 - 3
zjugis-business/src/main/java/com/zjugis/business/mapper/ProjectMapper.java

@@ -50,11 +50,11 @@ public interface ProjectMapper extends BaseMapperX<Project> {
 
     int updateChildXmzt(@Param("projectId") String projectId, @Param("xmzt") Integer xmzt);
 
-    CountInfo selectCountInfo(@Param("start")LocalDate firstDay, @Param("end") LocalDate lastDay);
+    CountInfo selectCountInfo(@Param("start")LocalDate firstDay, @Param("end") LocalDate lastDay,@Param("params") ProjectDto projectDto);
 
-    AmountInfo selectAmountInfo();
+    AmountInfo selectAmountInfo(@Param("params") ProjectDto projectDto);
 
-    ProcessInfo selectProcessInfo();
+    ProcessInfo selectProcessInfo(@Param("params") ProjectDto projectDto);
 
     List<String> selectAllIds();
 

+ 14 - 3
zjugis-business/src/main/java/com/zjugis/business/service/impl/ProjectServiceImpl.java

@@ -19,6 +19,8 @@ import com.zjugis.framework.security.core.util.SecurityFrameworkUtils;
 import com.zjugis.framework.workflow.rpc.remote.WorkflowClient;
 import com.zjugis.module.system.api.dept.DeptApi;
 import com.zjugis.module.system.api.dept.dto.DeptRespDTO;
+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.apache.commons.lang3.StringUtils;
@@ -77,6 +79,9 @@ public class ProjectServiceImpl implements ProjectService {
     @Autowired
     ContractInvoiceRelationService contractInvoiceRelationService;
 
+    @Autowired
+    PermissionApi permissionApi;
+
     @Override
     public String insert(Project project) {
         projectMapper.insert(project);
@@ -288,9 +293,15 @@ public class ProjectServiceImpl implements ProjectService {
         int year = LocalDate.now().getYear();
         LocalDate firstDay = LocalDate.of(year, 1, 1);
         LocalDate lastDay = LocalDate.of(year, 12, 31);
-        CountInfo countInfo = projectMapper.selectCountInfo(firstDay, lastDay);
-        AmountInfo amountInfo = projectMapper.selectAmountInfo();
-        ProcessInfo processInfo = projectMapper.selectProcessInfo();
+        CommonResult<DeptDataPermissionRespDTO> deptDataPermissionRes = permissionApi.getDeptDataPermission(SecurityFrameworkUtils.getLoginUserId());
+        DeptDataPermissionRespDTO deptPermissions = deptDataPermissionRes.getCheckedData();
+        ProjectDto projectDto = new ProjectDto();
+        if(!deptPermissions.getAll()){
+            projectDto.setDeptIds(deptPermissions.getDeptIds());
+        }
+        CountInfo countInfo = projectMapper.selectCountInfo(firstDay, lastDay,projectDto);
+        AmountInfo amountInfo = projectMapper.selectAmountInfo(projectDto);
+        ProcessInfo processInfo = projectMapper.selectProcessInfo(projectDto);
         ProjectTotalInfoResp projectTotalInfo = new ProjectTotalInfoResp();
         projectTotalInfo.setCountInfo(countInfo);
         projectTotalInfo.setAmountInfo(amountInfo);

+ 18 - 2
zjugis-business/src/main/resources/mapper/oracle/ContractInvoiceMapper.xml

@@ -6,6 +6,7 @@
         FROM CONTRACT_INVOICE T
         LEFT JOIN CONTRACT T1 ON T1.ID=T.CONTRACT_ID
         LEFT JOIN PROJECT T2 ON T2.ID=T.PROJECT_ID
+        LEFT JOIN CUSTOMER T3 ON T3.ID = T.PAY_COMPANY_ID
         LEFT JOIN ZJUGIS_OA.SYSTEM_DEPT D ON D.ID = T2.ZRBM_ID
         LEFT JOIN ZJUGIS_OA.SYSTEM_USERS U ON U.ID = T2.XSRY_ID
         LEFT JOIN (SELECT count(1) as rc,max(RETURN_DATE) as maxd, min(RETURN_DATE) as mind,CONTRACT_INVOICE_ID,COALESCE(SUM(COALESCE(RETURN_AMOUNT,0)),0) as returnAmount FROM CONTRACT_RETURN_MONEY WHERE ISVALID = 1 GROUP BY CONTRACT_INVOICE_ID) T3 ON T3.CONTRACT_INVOICE_ID=T.ID
@@ -41,6 +42,10 @@
             <if test="params != null and params.payCompanyId != null and params.payCompanyId != ''">
                 AND T.PAY_COMPANY_ID = #{params.payCompanyId,jdbcType=VARCHAR}
             </if>
+            <if test="params != null and params.payCompany != null and params.payCompany != ''">
+                <bind name="payCompany" value="'%'+params.payCompany+'%'"/>
+                AND T3.CUSTOMER_NAME like #{payCompany}
+            </if>
             <if test="params != null and params.invoiceOn != null">
                 AND T.INVOICE_DATE &gt;= #{params.invoiceOn,jdbcType=DATE}
             </if>
@@ -54,7 +59,10 @@
                 AND T3.maxd &lt;= #{params.returnOff,jdbcType=DATE}
             </if>
             <if test="params != null and params.isReturn == 1">
-                AND T3.rc > 0
+                AND T3.rc &gt; 0
+            </if>
+            <if test="params != null and params.isReturn == 0">
+                AND T3.rc = 0
             </if>
         </where>
         ORDER BY
@@ -115,7 +123,10 @@
                 AND T3.maxd &lt;= #{params.returnOff,jdbcType=DATE}
             </if>
             <if test="params != null and params.isReturn == 1">
-                AND T3.rc > 0
+                AND T3.rc &gt; 0
+            </if>
+            <if test="params != null and params.isReturn == 0">
+                AND T3.rc = 0
             </if>
         </where>
     </select>
@@ -126,6 +137,7 @@
         LEFT JOIN CONTRACT T1 ON T1.ID=T.CONTRACT_ID
         LEFT JOIN PROJECT T2 ON T2.ID=T.PROJECT_ID
         LEFT JOIN PROJECT_TYPE T3 ON T3.ID = T2.PROJECT_TYPE_ID
+        LEFT JOIN CUSTOMER T4 ON T4.ID = T.PAY_COMPANY_ID
         LEFT JOIN ZJUGIS_OA.SYSTEM_COMPANY C ON T3.ID = T.INVOICE_COMPANY_ID
         LEFT JOIN ZJUGIS_OA.SYSTEM_DEPT D ON D.ID = T2.ZRBM_ID
         LEFT JOIN ZJUGIS_OA.SYSTEM_USERS U ON U.ID = T2.XSRY_ID
@@ -162,6 +174,10 @@
             <if test="params != null and params.payCompanyId != null and params.payCompanyId != ''">
                 AND T.PAY_COMPANY_ID = #{params.payCompanyId,jdbcType=VARCHAR}
             </if>
+            <if test="params != null and params.payCompany != null and params.payCompany != ''">
+                <bind name="payCompany" value="'%'+params.payCompany+'%'"/>
+                AND T4.CUSTOMER_NAME like #{payCompany}
+            </if>
             <if test="params != null and params.invoiceOn != null">
                 AND T.INVOICE_DATE &gt;= #{params.invoiceOn,jdbcType=DATE}
             </if>

+ 18 - 0
zjugis-business/src/main/resources/mapper/oracle/ProjectMapper.xml

@@ -232,6 +232,12 @@
         FROM PROJECT T
                  LEFT JOIN CONTRACT T1 ON T1.PROJECT_ID = T.ID
         WHERE T.ISVALID = 1
+        <if test="params != null  and params.deptIds != null  and params.deptIds.size > 0">
+            AND T.ZRBM_ID in
+            <foreach collection="params.deptIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
     </select>
 
     <select id="selectAmountInfo" resultType="com.zjugis.business.bean.dto.AmountInfo">
@@ -245,6 +251,12 @@
         FROM PROJECT T
             LEFT JOIN CONTRACT T1 ON T1.PROJECT_ID = T.ID
         WHERE T.ISVALID = 1
+        <if test="params != null  and params.deptIds != null  and params.deptIds.size > 0">
+            AND T.ZRBM_ID in
+            <foreach collection="params.deptIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
     </select>
 
     <select id="selectProcessInfo" resultType="com.zjugis.business.bean.dto.ProcessInfo">
@@ -262,6 +274,12 @@
             GROUP BY PROJECT_ID
             ) T1 ON T1.PROJECT_ID = T.ID
         WHERE T.ISVALID = 1
+        <if test="params != null  and params.deptIds != null  and params.deptIds.size > 0">
+            AND T.ZRBM_ID in
+            <foreach collection="params.deptIds" item="item" open="(" close=")" separator=",">
+                #{item}
+            </foreach>
+        </if>
     </select>
 
     <select id="selectAllIds" resultType="java.lang.String">