瀏覽代碼

1.月度汇总和项目汇总

WoNiu 4 年之前
父節點
當前提交
185d58739d

+ 18 - 0
src/main/java/com/galaxis/manatee/dao/ChuanyunMemberCostDao.java

@@ -0,0 +1,18 @@
+package com.galaxis.manatee.dao;
+
+
+import com.galaxis.capsule.util.GalaxisRepository;
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunMemberCostDO;
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunSelfCostDO;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface ChuanyunMemberCostDao extends GalaxisRepository<ChuanyunMemberCostDO,String> {
+
+    @Query(value="SELECT chuanyun_self_cost.object_id,SUM(chuanyun_self_cost.total_hour) AS total_hour,SUM(chuanyun_self_cost.cost) AS cost,chuanyun_self_cost.project_id,chuanyun_self_cost.user_id"+
+            " FROM chuanyun_self_cost GROUP BY chuanyun_self_cost.project_id,chuanyun_self_cost.user_id",nativeQuery = true)
+    List<ChuanyunMemberCostDO> getMemberCost();
+}

+ 6 - 0
src/main/java/com/galaxis/manatee/dao/ChuanyunPayrollDao.java

@@ -3,8 +3,14 @@ package com.galaxis.manatee.dao;
 import com.galaxis.capsule.util.GalaxisRepository;
 import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunGroupProjectDO;
 import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunPayrollDO;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.data.repository.query.Param;
 import org.springframework.stereotype.Repository;
 
 @Repository
 public interface ChuanyunPayrollDao extends GalaxisRepository<ChuanyunPayrollDO,String> {
+
+    @Query(value="SELECT * FROM chuanyun_payroll LEFT JOIN chuanyun_user ON chuanyun_payroll.employee_id = chuanyun_user.employee_number"+
+            " WHERE chuanyun_user.object_id =?1 AND chuanyun_payroll.period=?2 ",nativeQuery = true)
+    ChuanyunPayrollDO  getPayroll(@Param("userId") String userId, @Param("period") String period);
 }

+ 1 - 1
src/main/java/com/galaxis/manatee/dao/ChuanyunPersonDaysDao.java

@@ -35,7 +35,7 @@ public interface ChuanyunPersonDaysDao extends GalaxisRepository<ChuanyunPersonD
      * @return
      */
     @Query(value="SELECT chuanyun_day_log.object_id,SUM(chuanyun_day_log.hours_worked) AS hours_worked,chuanyun_log.user_id,chuanyun_day_log.project_id FROM chuanyun_day_log"+
-            " LEFT JOIN chuanyun_log ON chuanyun_day_log.parent_object_id = chuanyun_log.object_id WHERE chuanyun_log.user_id = ? AND chuanyun_day_log.project_id=?"+
+            " LEFT JOIN chuanyun_log ON chuanyun_day_log.parent_object_id = chuanyun_log.object_id WHERE chuanyun_log.user_id = ?1 AND chuanyun_day_log.project_id=?2"+
             " GROUP BY chuanyun_day_log.project_id,chuanyun_log.user_id",nativeQuery = true)
     ChuanyunPersonDaysDO getTotalWorkHour(String userId,String projectId);
 

+ 17 - 0
src/main/java/com/galaxis/manatee/dao/ChuanyunProjectCostDao.java

@@ -0,0 +1,17 @@
+package com.galaxis.manatee.dao;
+
+import com.galaxis.capsule.util.GalaxisRepository;
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunMemberCostDO;
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunProjectCostDO;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface ChuanyunProjectCostDao extends GalaxisRepository<ChuanyunProjectCostDO,String> {
+
+    @Query(value="SELECT chuanyun_member_cost.object_id,SUM(chuanyun_member_cost.cost) AS cost,SUM(chuanyun_member_cost.total_hour) AS total_hour,chuanyun_member_cost.project_id FROM chuanyun_member_cost GROUP BY chuanyun_member_cost.project_id",nativeQuery = true)
+    List<ChuanyunProjectCostDO> getProjectCost();
+
+}

+ 19 - 0
src/main/java/com/galaxis/manatee/dao/ChuanyunSelfCostDao.java

@@ -0,0 +1,19 @@
+package com.galaxis.manatee.dao;
+
+import com.galaxis.capsule.util.GalaxisRepository;
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunSelfCostDO;
+import com.galaxis.manatee.entity.chuanyun.data.object.ChuanyunSelfWorkHourDO;
+import org.springframework.data.jpa.repository.Query;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface ChuanyunSelfCostDao extends GalaxisRepository<ChuanyunSelfCostDO,String> {
+
+    @Query(value="SELECT chuanyun_self_cost.object_id,SUM(chuanyun_self_cost.total_hour) AS total_hour,SUM(chuanyun_self_cost.cost) AS cost,chuanyun_self_cost.project_id,chuanyun_self_cost.user_id"+
+            " FROM chuanyun_self_cost GROUP BY chuanyun_self_cost.project_id,chuanyun_self_cost.user_id",nativeQuery = true)
+    List<ChuanyunSelfCostDO> getMemberCost();
+
+
+}

+ 2 - 2
src/main/java/com/galaxis/manatee/dao/ChuanyunSelfWorkHourDao.java

@@ -21,7 +21,7 @@ public interface ChuanyunSelfWorkHourDao extends GalaxisRepository<ChuanyunSelfW
     List<ChuanyunSelfWorkHourDO> getMonthProjectHour(String userId);
 
     @Query(value="SELECT SUM(chuanyun_self_work_hour.standard_work_hour) AS standard_work_hour,chuanyun_self_work_hour.day_log_date,chuanyun_self_work_hour.user_id,chuanyun_self_work_hour.project_id,chuanyun_self_work_hour.object_id"+
-            " FROM chuanyun_self_work_hour WHERE chuanyun_self_work_hour.user_id= :#{#chuanyunSelfWorkHourDO.userId} AND DATE_FORMAT(chuanyun_self_work_hour.day_log_date,'%Y-%m')=FROM_UNIXTIME( :#{#chuanyunSelfWorkHourDO.dayLogDate},'%Y-%m')"+
+            " FROM chuanyun_self_work_hour WHERE chuanyun_self_work_hour.user_id= ?1 AND DATE_FORMAT(chuanyun_self_work_hour.day_log_date,'%Y-%m')=DATE_FORMAT(?2,'%Y-%m')"+
             " GROUP BY chuanyun_self_work_hour.user_id,DATE_FORMAT(chuanyun_self_work_hour.day_log_date,'%Y-%m')",nativeQuery = true)
-    ChuanyunSelfWorkHourDO getMonthHour(@Param("chuanyunSelfWorkHourDO")ChuanyunSelfWorkHourDO chuanyunSelfWorkHourDO);
+    ChuanyunSelfWorkHourDO getMonthHour(@Param("userId") String userId,@Param("dayLogDate") String dayLogDate);
 }

+ 37 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunMemberCostDO.java

@@ -0,0 +1,37 @@
+package com.galaxis.manatee.entity.chuanyun.data.object;
+
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
+import com.fasterxml.jackson.databind.annotation.JsonSerialize;
+import com.galaxis.manatee.util.ChuanyunLocalDateTimeDeserializer;
+import com.galaxis.manatee.util.ChuanyunLocalDateTimeSerializer;
+import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
+import org.hibernate.annotations.GenericGenerator;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@Slf4j
+@Data
+@Entity(name = "CHUANYUN_MEMBER_COST")
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ChuanyunMemberCostDO {
+
+    @Id
+    @GeneratedValue(generator = "idGeneratorUser")
+    @GenericGenerator(name ="idGeneratorUser" ,strategy="com.galaxis.capsule.util.GalaxisIdGenerator")
+    private Long objectId;
+
+    private String userId;
+
+    private String projectId;
+
+    private BigDecimal totalHour;
+
+    private BigDecimal cost;
+}

+ 30 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunProjectCostDO.java

@@ -0,0 +1,30 @@
+package com.galaxis.manatee.entity.chuanyun.data.object;
+
+
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
+import lombok.Data;
+import lombok.extern.slf4j.Slf4j;
+import org.hibernate.annotations.GenericGenerator;
+
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.Id;
+import java.math.BigDecimal;
+
+@Slf4j
+@Data
+@Entity(name = "CHUANYUN_PROJECT_COST")
+@JsonIgnoreProperties(ignoreUnknown = true)
+public class ChuanyunProjectCostDO {
+
+    @Id
+    @GeneratedValue(generator = "idGeneratorUser")
+    @GenericGenerator(name ="idGeneratorUser" ,strategy="com.galaxis.capsule.util.GalaxisIdGenerator")
+    private Long objectId;
+
+    private String projectId;
+
+    private BigDecimal totalHour;
+
+    private BigDecimal cost;
+}

+ 2 - 0
src/main/java/com/galaxis/manatee/entity/chuanyun/data/object/ChuanyunSelfCostDO.java

@@ -34,5 +34,7 @@ public class ChuanyunSelfCostDO {
     @JsonDeserialize(using = ChuanyunLocalDateTimeDeserializer.class)
     private LocalDateTime dayLogDate;
 
+    private BigDecimal totalHour;
+
     private BigDecimal cost;
 }

文件差異過大導致無法顯示
+ 44 - 4
src/main/java/com/galaxis/manatee/task/ChuanyunProjectScheduledTask.java