Browse Source

1.每日工时修改

WoNiu 4 years ago
parent
commit
dae86afb05

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

@@ -25,7 +25,17 @@ public interface ChuanyunSelfWorkHourDao extends GalaxisRepository<ChuanyunSelfW
      * @param dayLogDate    日志日期
      * @return  日工时记录
      */
-    ChuanyunSelfWorkHourDO findByUserIdAndProjectIdAndDayLogDateAndProjectTypeAndStatus(String userId, String projectId, LocalDateTime dayLogDate,String projectType,String status);
+    List<ChuanyunSelfWorkHourDO> findByUserIdAndProjectIdAndDayLogDateAndProjectTypeAndStatus(String userId, String projectId, LocalDateTime dayLogDate,String projectType,String status);
+
+    /**
+     * 根据项目id,用户id,日期获取工时数据
+     * @param userId
+     * @param projectId
+     * @param dayLogDate
+     * @param projectType
+     * @return
+     */
+    List<ChuanyunSelfWorkHourDO> findByUserIdAndProjectIdAndDayLogDateAndProjectType(String userId, String projectId, LocalDateTime dayLogDate,String projectType);
 
     /**
      * 根据userId获取工时数据

+ 3 - 1
src/main/java/com/galaxis/manatee/service/DataArcherService.java

@@ -43,7 +43,9 @@ public class DataArcherService {
             matchers.add("F0000002_2," + chuanyunSelfWorkHourDTO.getUserId());
             matchers.add("F0000003_2," + chuanyunSelfWorkHourDTO.getDayLogDate());
             matchers.add("F0000005_2," + chuanyunSelfWorkHourDTO.getProjectType());
-            matchers.add("F0000006_2," + chuanyunSelfWorkHourDTO.getStatus());
+            if (chuanyunSelfWorkHourDTO.getStatus().equals("3")){
+                matchers.add("F0000006_2," + chuanyunSelfWorkHourDTO.getStatus());
+            }
             var filter = Filter.instance(0, 1, true, "And", matchers);
             var chuanyunFindAllResponse = chuanYunManager.findAll(ChuanyunMemberHourDO.SCHEMA_CODE, filter);
             var selfMonthString = objectMapper.writeValueAsString(chuanyunSelfWorkHourDTO);

+ 11 - 3
src/main/java/com/galaxis/manatee/service/LogStandardService.java

@@ -12,6 +12,7 @@ import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.time.Instant;
 import java.time.format.DateTimeFormatter;
+import java.util.ArrayList;
 import java.util.List;
 
 /**
@@ -160,9 +161,16 @@ public class LogStandardService {
                 ChuanyunSelfWorkHourDO chuanyunSelfWorkHourDO=this.fromChuanyunWorkHourDO(self);
                 //查询系统中是否有重复的标准化工时数据,如果有重复的人、天、项目数据,将原数据删除后更新为最新的数据
                 try{
-                    ChuanyunSelfWorkHourDO tmpChuanyunSelfWorkHourDO = chuanyunSelfWorkHourDao.findByUserIdAndProjectIdAndDayLogDateAndProjectTypeAndStatus(chuanyunSelfWorkHourDO.getUserId(), ChuanYunConstant.PRODUCTION_PROJECT.equals(self.getProjectType()) ? ChuanYunConstant.PRODUCTION_PROJECT_ID : self.getProjectId(), self.getDayLogDate(), self.getProjectType(),self.getStatus());
-                    if (tmpChuanyunSelfWorkHourDO != null) {
-                        chuanyunSelfWorkHourDao.delete(tmpChuanyunSelfWorkHourDO);
+                    List<ChuanyunSelfWorkHourDO> list = new ArrayList<>();
+                    if (self.getStatus().equals("3")){
+                        list = chuanyunSelfWorkHourDao.findByUserIdAndProjectIdAndDayLogDateAndProjectTypeAndStatus(chuanyunSelfWorkHourDO.getUserId(), ChuanYunConstant.PRODUCTION_PROJECT.equals(self.getProjectType()) ? ChuanYunConstant.PRODUCTION_PROJECT_ID : self.getProjectId(), self.getDayLogDate(), self.getProjectType(),self.getStatus());
+                    }else{
+                        list = chuanyunSelfWorkHourDao.findByUserIdAndProjectIdAndDayLogDateAndProjectType(chuanyunSelfWorkHourDO.getUserId(), ChuanYunConstant.PRODUCTION_PROJECT.equals(self.getProjectType()) ? ChuanYunConstant.PRODUCTION_PROJECT_ID : self.getProjectId(), self.getDayLogDate(), self.getProjectType());
+                    }
+                    if (list != null&&list.size()>0) {
+                        for (ChuanyunSelfWorkHourDO oldSelfWorkHour : list){
+                            chuanyunSelfWorkHourDao.delete(oldSelfWorkHour);
+                        }
                     }
                     chuanyunSelfWorkHourDao.save(chuanyunSelfWorkHourDO);
                 }catch (Exception e){

+ 4 - 4
src/main/java/com/galaxis/manatee/task/WorkHourStatistics.java

@@ -114,10 +114,10 @@ public class WorkHourStatistics {
                         BigDecimal personDays = (self.getHoursWorked().divide(chuanyunWorkHourDO.getHoursWorked(), 2, RoundingMode.HALF_UP)).multiply(standard);
                         chuanyunSelfWorkHourDO.setStandardWorkHour(personDays);
                     }
-                    ChuanyunSelfWorkHourDO chuanyunSelfWorkHourDO1 = chuanyunSelfWorkHourDao.findByUserIdAndProjectIdAndDayLogDateAndProjectTypeAndStatus(self.getUserId(), ChuanYunConstant.PRODUCTION_PROJECT.equals(self.getProjectType()) ? ChuanYunConstant.PRODUCTION_PROJECT_ID : self.getProjectId(), self.getDayLogDate(), self.getProjectType(),self.getStatus());
-                    if (chuanyunSelfWorkHourDO1 != null) {
-                        chuanyunSelfWorkHourDao.delete(chuanyunSelfWorkHourDO1);
-                    }
+//                    ChuanyunSelfWorkHourDO chuanyunSelfWorkHourDO1 = chuanyunSelfWorkHourDao.findByUserIdAndProjectIdAndDayLogDateAndProjectTypeAndStatus(self.getUserId(), ChuanYunConstant.PRODUCTION_PROJECT.equals(self.getProjectType()) ? ChuanYunConstant.PRODUCTION_PROJECT_ID : self.getProjectId(), self.getDayLogDate(), self.getProjectType(),self.getStatus());
+//                    if (chuanyunSelfWorkHourDO1 != null) {
+//                        chuanyunSelfWorkHourDao.delete(chuanyunSelfWorkHourDO1);
+//                    }
                     chuanyunSelfWorkHourDao.save(chuanyunSelfWorkHourDO);
 //                    log.info(chuanyunSelfWorkHourDO.getUserId()+"工时标准化");
                 }