Parcourir la source

合同客户修改为权限可见

user5 il y a 4 ans
Parent
commit
b41634fa1e

+ 52 - 2
src/main/java/com/jeeplus/modules/workclientinfo/service/WorkClientInfoService.java

@@ -185,8 +185,58 @@ public class WorkClientInfoService extends CrudService<WorkClientInfoDao, WorkCl
      * @return
      */
     public Page<WorkClientInfo> findPage(Page<WorkClientInfo> page, WorkClientInfo workClientInfo) {
-//        workClientInfo.setOfficeId(UserUtils.getSelectOffice().getId());
-//        workClientInfo.getSqlMap().put("dsf", dataScopeFilter(workClientInfo.getCurrentUser(), "o", "u","s", MenuStatusEnum.WORK_CLIENT_INFO.getValue()));
+        workClientInfo.setOfficeId(UserUtils.getSelectOffice().getId());
+        workClientInfo.getSqlMap().put("dsf", dataScopeFilter(workClientInfo.getCurrentUser(), "o", "u","s", MenuStatusEnum.WORK_CLIENT_INFO.getValue()));
+        long t1 = System.currentTimeMillis();
+        //根据项目类型获取对应的客户id个数
+        int count = workClientInfoDao.queryCount(workClientInfo);
+        page.setCount(count);
+        long t2 = System.currentTimeMillis();
+        logger.info("查询客户总数耗时:{}",t2-t1);
+        page.setCountFlag(false);
+        workClientInfo.setPage(page);
+        List<WorkClientInfo> list = findList(workClientInfo);
+        //根据客户id查询客户的相关客户类型
+        for (WorkClientInfo clientInfo: list) {
+            clientInfo.setJobTypeStr(workClientInfoDao.getJobTypeStr(clientInfo.getId()));
+        }
+        long t3 = System.currentTimeMillis();
+        logger.info("查询客户列表耗时:{}",t3-t2);
+        if(list!=null && list.size()>0){
+            for (int i = 0; i < list.size(); i++) {
+                WorkClientInfo entity = list.get(i);
+                List<WorkClientLinkman> linkmanList = findLinkmanList(entity);
+                entity.setWorkClientLinkmanList(linkmanList);
+                if(linkmanList!=null && linkmanList.size()>0){
+                    StringBuilder builder = new StringBuilder();
+                    for (int j = 0; j < linkmanList.size(); j++) {
+                        builder.append(linkmanList.get(j).getName());
+                        if(j<linkmanList.size()-1){
+                            builder.append(",");
+                        }
+                    }
+                    entity.setLinkManNames(builder.toString());
+                }
+                List<WorkClientBank> bankList = findBankList(entity);
+                entity.setWorkClientBankList(bankList);
+            }
+        }
+        long t4 = System.currentTimeMillis();
+        logger.info("查询客户详情耗时:{}",t4-t3);
+        logger.info("查询客户总耗时:{}",t4-t1);
+        page.setList(list);
+        return page;
+    }
+
+
+
+    /**
+     * 获取一个客户信息
+     * @param page 分页对象
+     * @param workClientInfo
+     * @return
+     */
+    public Page<WorkClientInfo> findPageByContract(Page<WorkClientInfo> page, WorkClientInfo workClientInfo) {
         long t1 = System.currentTimeMillis();
         //根据项目类型获取对应的客户id个数
         int count = workClientInfoDao.queryCount(workClientInfo);

+ 2 - 2
src/main/java/com/jeeplus/modules/workcontractinfo/service/WorkContractInfoService.java

@@ -357,8 +357,8 @@ public class WorkContractInfoService extends CrudService<WorkContractInfoDao, Wo
 			workContractInfo.setTotalContractIds(","+workContractInfo.getTotalContractIds()+",");
 		}
 		String companyId = UserUtils.getUser().getComId();
-//		workContractInfo.getSqlMap().put("dsf", dataScopeFilter(workContractInfo.getCurrentUser(), "o", "u","s", MenuStatusEnum.WORK_CONTRACT_INFO.getValue()));
-		workContractInfo.getSqlMap().put("dsf","and (a.company_id='"+companyId+"')");
+		workContractInfo.getSqlMap().put("dsf", dataScopeFilter(workContractInfo.getCurrentUser(), "o", "u","s", MenuStatusEnum.WORK_CONTRACT_INFO.getValue()));
+		//workContractInfo.getSqlMap().put("dsf","and (a.company_id='"+companyId+"')");
 		int count = dao.queryCount(workContractInfo);
 		page.setCount(count);
 		page.setCountFlag(false);

+ 2 - 1
src/main/java/com/jeeplus/modules/workcontractinfo/web/WorkContractInfoController.java

@@ -917,6 +917,7 @@ public class WorkContractInfoController extends BaseController {
                 workContractInfo.setCreateName(name);
                 workContractInfo.setCreateCompany(comId);
                 workContractInfo.setCompanyId(comId);
+                workContractInfo.setOfficeId(UserUtils.getSelectOffice().getId());
                 List<WorkClientAttachment> list = workContractInfo.getWorkAttachments();
                 List<WorkClientAttachment> list1 = new ArrayList<>();
                 List<WorkClientAttachment> list2 = new ArrayList<>();
@@ -1463,7 +1464,7 @@ public class WorkContractInfoController extends BaseController {
      */
     @RequestMapping(value = "selectclientAhref")
     public String selectclientAhref(WorkClientInfo client, String url, String fieldLabels, String fieldKeys, String searchLabel, String searchKey, String searchLabel1, String searchKey1, HttpServletRequest request, HttpServletResponse response, Model model) {
-        Page<WorkClientInfo> page = workClientInfoService.findPage(new Page<WorkClientInfo>(request, response), client);
+        Page<WorkClientInfo> page = workClientInfoService.findPageByContract(new Page<WorkClientInfo>(request, response), client);
         try {
             fieldLabels = URLDecoder.decode(fieldLabels, "UTF-8");
             fieldKeys = URLDecoder.decode(fieldKeys, "UTF-8");

+ 2 - 1
src/main/resources/mappings/modules/workclientinfo/WorkClientInfoDao.xml

@@ -167,7 +167,7 @@
 				AND (a.create_by = #{createId} or su.name like concat('%',#{createNameStr},'%'))
 			</if>
             AND a.company_id = #{currentUser.company.id}
-
+			${sqlMap.dsf}
 			<choose>
 				<when test="jobTypeShow !=null and jobTypeShow !=''">
 					AND c.job_type_id = #{jobTypeShow}
@@ -241,6 +241,7 @@
 				AND (a.create_by = #{createId} or su.name = #{createNameStr})
 			</if>
             AND a.company_id = #{currentUser.company.id}
+			${sqlMap.dsf}
             <choose>
 				<when test="jobTypeShow !=null and jobTypeShow !=''">
 					AND c.job_type_id = #{jobTypeShow}

+ 3 - 3
src/main/resources/mappings/modules/workcontractinfo/WorkContractInfoDao.xml

@@ -316,7 +316,7 @@
 					</otherwise>
 				</choose>
 			</if>
-			${sqlMap.dsf}
+			AND a.company_id = #{currentUser.company.id} ${sqlMap.dsf}
 		</where>
 		<choose>
 			<when test="page !=null and page.orderBy != null and page.orderBy != ''">
@@ -933,7 +933,7 @@
 			#{contractFee},
 			#{contractSpecial},
 			#{contractState},
-			#{chargeCompany},
+			#{officeId},
 			#{contractFileId},
 			#{contractRole},
 			#{applyView},
@@ -990,7 +990,7 @@
 			contract_fee = #{contractFee},
 			contract_special = #{contractSpecial},
 			contract_state = #{contractState},
-			office_id = #{chargeCompany},
+			office_id = #{officeId},
 			contract_file_id = #{contractFileId},
 			contract_role = #{contractRole},
 			apply_view = #{applyView},