Explorar o código

详情关联页签中添加筛选条件

lizhenhao %!s(int64=2) %!d(string=hai) anos
pai
achega
b375563c10

+ 2 - 2
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/contractRegistration/controller/ContractInfoController.java

@@ -109,8 +109,8 @@ public class ContractInfoController {
 
     @ApiOperation(value = "根据客户id查询关联的项目")
     @GetMapping("/getByClientId")
-    public ResponseEntity<List<ContractInfo>> getByClientId(String clientId) {
-        List<ContractInfo> list = service.getByClientId(clientId);
+    public ResponseEntity<List<ContractInfo>> getByClientId(String contractId, ContractInfo contractInfo) {
+        List<ContractInfo> list = service.getByClientId(contractId,contractInfo);
         return ResponseEntity.ok(list);
     }
 }

+ 1 - 1
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/contractRegistration/mapper/ContractInfoMapper.java

@@ -58,7 +58,7 @@ public interface ContractInfoMapper extends BaseMapper<ContractInfo> {
 
     List<String> findChildIds(String department);
 
-    List<ContractInfo> getByClientId(@Param("ids") List<String> ids);
+    List<ContractInfo> getByClientId(@Param(Constants.WRAPPER) QueryWrapper queryWrapper);
 
     // 没有使用客户id作为参数,而是直接查询,是因为 合同与客户的关联表 中没有 客户id 的字段,只有客户编号的字段
     List<String> getClientListByClientNo(@Param("no") String no);

+ 1 - 4
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/contractRegistration/mapper/xml/ContractInfoMapper.xml

@@ -210,10 +210,7 @@
         from cw_work_contract_info cw_wci
         left join sys_user su on su.id = cw_wci.create_by and su.del_flag = '0'
         left join sys_office so on so.id = cw_wci.department and so.del_flag = '0'
-        where cw_wci.del_flag = '0' and cw_wci.id in
-        <foreach collection="ids" item="item" separator="," open="(" close=")">
-            #{item}
-        </foreach>
+        ${ew.customSqlSegment}
     </select>
     <select id="getClientListByClientNo" resultType="string">
         select

+ 23 - 7
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/contractRegistration/service/ContractInfoService.java

@@ -571,15 +571,31 @@ public class ContractInfoService {
         }
     }
 
-    public List<ContractInfo> getByClientId(String clientId){
-        CwWorkClientBase cwWorkClientBase = cwWorkClientService.getById(clientId);
-        if (ObjectUtil.isNotEmpty(cwWorkClientBase)) {
-            if (StringUtils.isNotBlank(cwWorkClientBase.getNo())) {
-                List<String> ids = mapper.getClientListByClientNo(cwWorkClientBase.getNo());
-                if (CollectionUtil.isNotEmpty(ids)){
-                    return mapper.getByClientId(ids);
+    public List<ContractInfo> getByClientId(String contractId, ContractInfo contractInfo){
+        if (StringUtils.isNotBlank(contractId)) {
+            CwWorkClientBase cwWorkClientBase = cwWorkClientService.getById(contractId);
+            if (ObjectUtil.isNotEmpty(cwWorkClientBase)) {
+                if (StringUtils.isNotBlank(cwWorkClientBase.getNo())) {
+                    List<String> ids = mapper.getClientListByClientNo(cwWorkClientBase.getNo());
+                    if (CollectionUtil.isNotEmpty(ids)){
+                        QueryWrapper<ContractInfo> queryWrapper = new QueryWrapper<>();
+                        queryWrapper.in("cw_wci.id",ids);
+                        queryWrapper.eq("cw_wci.del_flag","0");
+                        queryWrapper.eq("cw_wci.status","5");
+                        queryWrapper.orderByDesc("cw_wci.create_date");
+                        if(ObjectUtil.isNotEmpty(contractInfo)){
+                            if(StringUtils.isNotBlank(contractInfo.getContractName())){
+                                queryWrapper.like("cw_wci.contract_name",contractInfo.getContractName());
+                            }
+                            if(StringUtils.isNotBlank(contractInfo.getContractNo())){
+                                queryWrapper.like("cw_wci.contract_no",contractInfo.getContractNo());
+                            }
+                        }
+                        return mapper.getByClientId(queryWrapper);
+                    }
                 }
             }
+            return new ArrayList<>();
         }
         return new ArrayList<>();
     }

+ 4 - 4
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectRecords/controller/CwProjectRecordsController.java

@@ -162,8 +162,8 @@ public class CwProjectRecordsController {
      */
     @ApiOperation(value = "根据客户id获取关联的项目信息")
     @GetMapping(value = "/getByClientId")
-    public ResponseEntity<List<CwProjectRecordsDTO>> getByClientId(String clientId) {
-        List<CwProjectRecordsDTO> cwProjectRecordsDTOList = cwProjectRecordsService.getByClientId(clientId);
+    public ResponseEntity<List<CwProjectRecordsDTO>> getByClientId(String clientId, CwProjectRecordsDTO cwProjectRecordsDTO) throws Exception {
+        List<CwProjectRecordsDTO> cwProjectRecordsDTOList = cwProjectRecordsService.getByClientId(clientId,cwProjectRecordsDTO);
         return ResponseEntity.ok(cwProjectRecordsDTOList);
     }
 
@@ -174,8 +174,8 @@ public class CwProjectRecordsController {
      */
     @ApiOperation(value = "根据合同id获取关联的项目信息")
     @GetMapping(value = "/getByContractId")
-    public ResponseEntity<List<CwProjectRecordsDTO>> getByContractId(String contractId) {
-        List<CwProjectRecordsDTO> cwProjectRecordsDTOList = cwProjectRecordsService.getByContractId(contractId);
+    public ResponseEntity<List<CwProjectRecordsDTO>> getByContractId(String contractId,CwProjectRecordsDTO cwProjectRecordsDTO) throws Exception {
+        List<CwProjectRecordsDTO> cwProjectRecordsDTOList = cwProjectRecordsService.getByContractId(contractId,cwProjectRecordsDTO);
         return ResponseEntity.ok(cwProjectRecordsDTOList);
     }
 

+ 2 - 2
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectRecords/mapper/CwProjectRecordsMapper.java

@@ -51,7 +51,7 @@ public interface CwProjectRecordsMapper extends BaseMapper<CwProjectRecords> {
 
     List<String> getProjectIdByClientId(@Param("id") String id);
 
-    List<CwProjectRecordsDTO> getProjectByIdList(@Param("ids") List<String> ids);
+    List<CwProjectRecordsDTO> getProjectByIdList(@Param(Constants.WRAPPER) QueryWrapper<CwProjectRecords> queryWrapper);
 
-    List<CwProjectRecordsDTO> getByContractId(@Param("id") String id);
+    List<CwProjectRecordsDTO> getByContractId(@Param(Constants.WRAPPER) QueryWrapper<CwProjectRecords> queryWrapper);
 }

+ 5 - 9
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectRecords/mapper/xml/CwProjectRecordsMapper.xml

@@ -222,17 +222,13 @@
 
     <select id="getProjectByIdList" resultType="com.jeeplus.test.cw.projectRecords.service.dto.CwProjectRecordsDTO" parameterType="string">
         select
-            <include refid="Base_Column_List"></include>,
-            su.name as create_name,
-            su2.name as project_master_name
+        <include refid="Base_Column_List"></include>,
+        su.name as create_name,
+        su2.name as project_master_name
         from cw_project_records a
         left join sys_user su on su.id = a.create_by and su.del_flag = '0'
         left join sys_user su2 on su2.id = a.project_master_id and su2.del_flag = '0'
-        where a.del_flag = '0' and a.id in
-        <foreach collection="ids" separator="," item="item" open="(" close=")">
-            #{item}
-        </foreach>
-        order by a.create_date desc
+        ${ew.customSqlSegment}
     </select>
 
     <select id="getByContractId" resultType="com.jeeplus.test.cw.projectRecords.service.dto.CwProjectRecordsDTO">
@@ -243,6 +239,6 @@
         from cw_project_records a
         left join sys_user su on su.id = a.create_by and su.del_flag = '0'
         left join sys_user su2 on su2.id = a.project_master_id and su2.del_flag = '0'
-        where a.contract_id = #{id} and a.del_flag = '0'
+        ${ew.customSqlSegment}
     </select>
 </mapper>

+ 24 - 7
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectRecords/service/CwProjectRecordsService.java

@@ -195,11 +195,20 @@ public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper,
      * @param clientId
      * @return
      */
-    public List<CwProjectRecordsDTO> getByClientId(String clientId) {
-        List<String> projectIdByClientId = cwProjectRecordsMapper.getProjectIdByClientId(clientId);
-        List<String> projectList = projectIdByClientId.stream().distinct().collect(Collectors.toList());
-        if (CollectionUtil.isNotEmpty(projectList)) {
-            return cwProjectRecordsMapper.getProjectByIdList(projectList);
+    public List<CwProjectRecordsDTO> getByClientId(String clientId,CwProjectRecordsDTO cwProjectRecordsDTO) throws Exception {
+        if(StringUtils.isNotBlank(clientId)){
+            List<String> projectIdByClientId = cwProjectRecordsMapper.getProjectIdByClientId(clientId);
+            List<String> projectList = projectIdByClientId.stream().distinct().collect(Collectors.toList());
+            if (CollectionUtil.isNotEmpty(projectList)) {
+                QueryWrapper<CwProjectRecords> queryWrapper = QueryWrapperGenerator.buildQueryCondition ( CwProjectRecordsWrapper.INSTANCE.toEntity(cwProjectRecordsDTO), CwProjectRecords.class );
+                queryWrapper.in("a.id", projectList);
+                queryWrapper.eq("a.del_flag","0");
+                queryWrapper.eq("a.status","5");
+                queryWrapper.orderByDesc("a.create_date");
+                return cwProjectRecordsMapper.getProjectByIdList(queryWrapper);
+            } else {
+                return new ArrayList<>();
+            }
         } else {
             return new ArrayList<>();
         }
@@ -210,8 +219,16 @@ public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper,
      * @param contractId
      * @return
      */
-    public List<CwProjectRecordsDTO> getByContractId(String contractId) {
-        return cwProjectRecordsMapper.getByContractId(contractId);
+    public List<CwProjectRecordsDTO> getByContractId(String contractId,CwProjectRecordsDTO cwProjectRecordsDTO) throws Exception{
+        if (StringUtils.isNotBlank(contractId)) {
+            QueryWrapper<CwProjectRecords> queryWrapper = QueryWrapperGenerator.buildQueryCondition ( CwProjectRecordsWrapper.INSTANCE.toEntity(cwProjectRecordsDTO), CwProjectRecords.class );
+            queryWrapper.eq("a.contract_id", contractId);
+            queryWrapper.eq("a.del_flag","0");
+            queryWrapper.eq("a.status","5");
+            queryWrapper.orderByDesc("a.create_date");
+            return cwProjectRecordsMapper.getByContractId(queryWrapper);
+        }
+        return new ArrayList<>();
     }