Selaa lähdekoodia

Merge remote-tracking branch 'origin/master'

jzh 1 vuosi sitten
vanhempi
commit
7f9fc6bcb8

+ 5 - 0
zjugis-business/src/main/java/com/zjugis/business/controller/ContractMessageController.java

@@ -36,6 +36,11 @@ public class ContractMessageController {
         return CommonResult.success(contractMessageService.page(contractMessageDto));
     }
 
+    @GetMapping("/contract-message/home/page")
+    public CommonResult<Page<ContractMessageResponse>> homePage(ContractMessageDto contractMessageDto) {
+        return CommonResult.success(contractMessageService.homePage(contractMessageDto));
+    }
+
     @PostMapping("/contract-message/count-amount")
     public CommonResult<ContractMessageCountResp> messageCount(@RequestBody ContractMessageDto messageDto) {
         return CommonResult.success(contractService.messageCount(messageDto));

+ 2 - 0
zjugis-business/src/main/java/com/zjugis/business/service/ContractMessageService.java

@@ -53,5 +53,7 @@ public interface ContractMessageService {
     int deleteByIdList(List<String> ids);
 
     void addByReturnMoney(ContractReturnMoney contractReturnMoney);
+
+    Page<ContractMessageResponse> homePage(ContractMessageDto contractMessageDto);
 }
 

+ 21 - 0
zjugis-business/src/main/java/com/zjugis/business/service/impl/ContractMessageServiceImpl.java

@@ -13,10 +13,13 @@ import com.zjugis.business.mapper.ProjectMapper;
 import com.zjugis.business.service.ContractMessageService;
 import com.zjugis.business.service.ContractService;
 import com.zjugis.framework.common.pojo.CommonResult;
+import com.zjugis.framework.security.core.util.SecurityFrameworkUtils;
 import com.zjugis.module.infra.api.ding.DingApi;
 import com.zjugis.module.infra.api.ding.dto.DingMessageDto;
 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;
@@ -54,6 +57,9 @@ public class ContractMessageServiceImpl implements ContractMessageService {
     @Autowired
     private DeptApi deptApi;
 
+    @Autowired
+    private PermissionApi permissionApi;
+
     @Autowired
     private AdminUserApi adminUserApi;
 
@@ -138,6 +144,21 @@ public class ContractMessageServiceImpl implements ContractMessageService {
         }
     }
 
+    /**
+     * @param contractMessageDto
+     * @return
+     */
+    @Override
+    public Page<ContractMessageResponse> homePage(ContractMessageDto contractMessageDto) {
+        CommonResult<DeptDataPermissionRespDTO> deptDataPermissionRes = permissionApi.getDeptDataPermission(SecurityFrameworkUtils.getLoginUserId());
+        DeptDataPermissionRespDTO deptPermissions = deptDataPermissionRes.getCheckedData();
+        if(!deptPermissions.getAll()){
+            contractMessageDto.setDeptIds(deptPermissions.getDeptIds());
+        }
+        Page<ContractMessage> page = new Page<>(contractMessageDto.getPageNo(),contractMessageDto.getPageSize());
+        return contractMessageMapper.page(page,contractMessageDto);
+    }
+
     private void sendMsg(Contract contract,String content) {
         Project project = projectMapper.selectById(contract.getProjectId());
         if(StringUtils.isNotBlank(project.getXmjlId())) {

+ 7 - 1
zjugis-business/src/main/resources/mapper/oracle/ContractMessageMapper.xml

@@ -7,7 +7,7 @@
         LEFT JOIN CONTRACT_RETURN_MONEY T1 on T1.ID = cm.BUSINESS_ID and cm.MESSAGE_TYPE = 2
         LEFT JOIN CONTRACT_INVOICE T2 on T2.ID = T1.CONTRACT_INVOICE_ID
         LEFT JOIN CONTRACT T3 on T3.ID = cm.CONTRACT_ID and cm.MESSAGE_TYPE = 1
-        <if test="params != null and params.deptId != null and params.deptId != ''">
+        <if test="(params != null and params.deptId != null and params.deptId != '') or (params != null  and params.deptIds != null  and params.deptIds.size > 0)">
             RIGHT JOIN CONTRACT c ON c.ID = cm.CONTRACT_ID
             RIGHT JOIN PROJECT p ON p.ID = c.PROJECT_ID
         </if>
@@ -25,6 +25,12 @@
             <if test="params != null and params.messageType != null ">
                 AND cm.MESSAGE_TYPE = #{params.messageType,jdbcType=INTEGER}
             </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>
         ORDER BY cm.CREATE_TIME DESC
     </select>