Przeglądaj źródła

客户详情-关联项目

lizhenhao 2 lat temu
rodzic
commit
99e5064729

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

@@ -155,4 +155,16 @@ public class CwProjectRecordsController {
 
     }
 
+    /**
+     * 根据客户id获取关联的项目信息
+     * @param clientId
+     * @return
+     */
+    @ApiOperation(value = "根据客户id获取关联的项目信息")
+    @GetMapping(value = "/getByClientId")
+    public ResponseEntity<List<CwProjectRecordsDTO>> getByClientId(String clientId) {
+        List<CwProjectRecordsDTO> cwProjectRecordsDTOList = cwProjectRecordsService.getByClientId(clientId);
+        return ResponseEntity.ok(cwProjectRecordsDTOList);
+    }
+
 }

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

@@ -48,4 +48,8 @@ public interface CwProjectRecordsMapper extends BaseMapper<CwProjectRecords> {
      * @return
      */
     Integer insertProjectClientInfoList(@Param("cwProjectClientInfoList") List<CwProjectClientInfoDTO> cwProjectClientInfoList);
+
+    List<String> getProjectIdByClientId(@Param("id") String id);
+
+    List<CwProjectRecordsDTO> getProjectByIdList(@Param("ids") List<String> ids);
 }

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

@@ -212,4 +212,26 @@
             insert into cw_project_client_info(project_id,client_id) values(#{item.projectId},#{item.clientId})
         </foreach>
     </insert>
+
+    <select id="getProjectIdByClientId" resultType="string">
+        select
+            cw_pci.project_id
+        from cw_project_client_info cw_pci
+        where cw_pci.client_id = #{id}
+    </select>
+
+    <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
+        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
+    </select>
 </mapper>

+ 14 - 0
jeeplus-module/jeeplus-test/src/main/java/com/jeeplus/test/cw/projectRecords/service/CwProjectRecordsService.java

@@ -190,6 +190,20 @@ public class CwProjectRecordsService extends ServiceImpl<CwProjectRecordsMapper,
         return "操作成功";
     }
 
+    /**
+     * 根据客户id获取关联的项目信息
+     * @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);
+        } else {
+            return new ArrayList<>();
+        }
+    }