Min 1 tahun lalu
induk
melakukan
3bad98dbf4

+ 2 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ProjectMapper.java

@@ -156,4 +156,6 @@ public interface ProjectMapper extends BaseMapper<Project> {
     List<Project> selectNearProject(String userId);
 
     List<Map<String, Object>> getFTEData(Integer companyId, String startDate, String endDate, Integer start, Integer size, String area, List<Integer> branchDepartment, List<Integer> deptIds);
+
+    List<Map<String, Object>> getTimeCostByToken(Integer companyId, String startDate, String endDate);
 }

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ProjectServiceImpl.java

@@ -10902,7 +10902,7 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
             return msg;
         }
         if(token.equals(thirdPartyInterface.getToken())){
-            List<Map<String, Object>> list = projectMapper.getTimeCost(thirdPartyInterface.getCompanyId(), startDate, endDate, null, null, null, null, null, null);
+            List<Map<String, Object>> list = projectMapper.getTimeCostByToken(thirdPartyInterface.getCompanyId(), startDate, endDate);
             list.forEach(l->{
                 l.remove("id");
             });

+ 15 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ProjectMapper.xml

@@ -1683,4 +1683,19 @@
             limit #{start},#{size}
         </if>
     </select>
+    <!--获取查询者所在公司每个项目的工时成本-->
+    <select id="getTimeCostByToken" resultType="java.util.Map">
+        SELECT a.id, a.project_code as projectCode, a.project_name AS project, SUM(b.working_time) AS cost, SUM(b.cost) AS costMoney,a.category_name as categoryName,c.name as userName,d.department_name as departmentName
+        FROM project AS a
+        LEFT JOIN report AS b ON b.project_id = a.id
+        JOIN user AS c ON b.creator_id = c.id
+        JOIN department d on d.department_id=c.department_id
+        WHERE a.company_id = #{companyId}
+        <if test="startDate != null and endDate != null">
+            AND b.create_date between #{startDate} and #{endDate}
+        </if>
+        AND b.state = 1
+        GROUP BY a.id,b.creator_id
+        ORDER BY a.id ASC
+    </select>
 </mapper>