Эх сурвалжийг харах

Merge branch 'V0.0.4' of http://10.87.21.221:8000/jzyd_yyds/soc into V0.0.4

jiawuxian 1 жил өмнө
parent
commit
92dc9fc340

+ 3 - 3
soc-modules/soc-modules-core/src/main/resources/mapper/safetybook/CoreSafetyBookAqbwbndjhMapper.xml

@@ -79,9 +79,9 @@
             <if test="aq.year != null ">
                 and a.year = #{aq.year}
             </if>
-            <if test="aq.orgId != null ">
-                and a.org_id = #{aq.orgId}
-            </if>
+<!--            <if test="aq.orgId != null ">-->
+<!--                and a.org_id = #{aq.orgId}-->
+<!--            </if>-->
             <if test="aq.range!=null and aq.range.size >1">
                 and  a.date <![CDATA[>=]]>  #{aq.range[0]} and a.date  <![CDATA[<=]]> #{aq.range[1]}
             </if>

+ 3 - 3
soc-modules/soc-modules-core/src/main/resources/mapper/safetybook/CoreSafetyBookHsggbsdjMapper.xml

@@ -72,9 +72,9 @@
             <if test="hs.title != null  and hs.title != ''">
                 and h.title like concat(concat('%', #{hs.title}),'%')
             </if>
-            <if test="hs.orgId != null ">
-                and h.org_id = #{hs.orgId}
-            </if>
+<!--            <if test="hs.orgId != null ">-->
+<!--                and h.org_id = #{hs.orgId}-->
+<!--            </if>-->
             <if test="hs.range!=null and hs.range.size >1">
                 and  h.date <![CDATA[>=]]>  #{hs.range[0]} and h.date  <![CDATA[<=]]> #{hs.range[1]}
             </if>

+ 1 - 1
soc-modules/soc-modules-file/src/main/java/com/xunmei/file/utils/FileUploadUtils.java

@@ -12,7 +12,7 @@ import com.xunmei.common.core.utils.file.FileTypeUtils;
 import com.xunmei.common.core.utils.file.MimeTypeUtils;
 import com.xunmei.common.core.utils.uuid.Seq;
 import com.xunmei.file.vo.FileBase64Vo;
-import org.apache.commons.text.StringEscapeUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.web.multipart.MultipartFile;

+ 33 - 26
soc-modules/soc-modules-system/src/main/java/com/xunmei/system/service/impl/SysWorkTimeSetServiceImpl.java

@@ -276,8 +276,8 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
         for (Long oid :
                 orgIds) {
             List<SysWorkTimeSet> sysWorkTimeSets = baseMapper.selectList(new LambdaQueryWrapper<SysWorkTimeSet>().eq(SysWorkTimeSet::getOrgId, oid).eq(SysWorkTimeSet::getEffectiveDate, request.getEffectiveDate()));
-
-            if (sysWorkTimeSets.size()>0){
+//如果id为空表示是新增,需要判断是否存在相同机构相同时间的模板
+            if (request.getId() == null && sysWorkTimeSets.size() > 0) {
                 return error("机构'" + orgService.getById(oid).getName() + "'已存在选择时间的作息模板");
             }
         }
@@ -292,6 +292,7 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
             SysWorkTimeSet set = null;
             SysOrg org = null;
             List<SysWorkTimeSetDayofweek> dayOfWeeks = new ArrayList<>();
+            Set<Long> workTimeSetIds = new HashSet<>();
             for (Long orgId : orgIds) {
                 if (request.getId() != null) {
                     set = sysWorkTimeSetMapper.selectById(request.getId());
@@ -328,9 +329,10 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
                 dayOfWeeks.addAll(tmp);
                 set.setDayOfWeeks(dayOfWeeks);
                 sets.add(set);
+                workTimeSetIds.add(id);
             }
-
-            // workTimeSetDayOfWeekRepository.deleteByWorkTimeSetIds(oldWorkTimeSetIds);
+            //清除可能存在的旧作息数据
+            sysWorkTimeSetDayofweekMapper.delete(new LambdaQueryWrapper<SysWorkTimeSetDayofweek>().in(SysWorkTimeSetDayofweek::getWorkTimeSetId, workTimeSetIds));
             for (SysWorkTimeSetDayofweek s :
                     dayOfWeeks) {
                 sysWorkTimeSetDayofweekMapper.insert(s);
@@ -419,7 +421,7 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
                             Date effectiveDateNext = dateList.get(index + 1);
                             //取出workTimeEditDtoListAll中ymd_date在EffectiveDate和effectiveDateNext之间的数据
                             List<SysWorkTime> workTimeEditDtoList = workTimeEditDtoListAll.stream().filter(f -> f.getDate().getTime() >= effectiveDate.getTime() && f.getDate().getTime() < effectiveDateNext.getTime()).collect(Collectors.toList());
-                            List<Date> remDates=workTimeEditDtoList.stream().map(SysWorkTime::getYmdDate).collect(Collectors.toList());
+                            List<Date> remDates = workTimeEditDtoList.stream().map(SysWorkTime::getYmdDate).collect(Collectors.toList());
                             workTimeService.remove(new LambdaQueryWrapper<SysWorkTime>().eq(SysWorkTime::getOrgId, orgId).in(SysWorkTime::getYmdDate, remDates).eq(SysWorkTime::getIsManual, 0));
                             batchnew(orgId, workTimeEditDtoList, list);
                         } else {
@@ -464,8 +466,10 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
             return workTime;
         }, true);
 
-
-               List<SysWorkTime> exit = workTimeService.getBaseMapper().selectList(new LambdaQueryWrapper<SysWorkTime>().eq(SysWorkTime::getOrgId, orgId).ge(SysWorkTime::getYmdDate, workTimeList.get(0).getDate()).eq(SysWorkTime::getIsManual, 1));
+        //获取当前时间以后的手动配置的作息
+        List<SysWorkTime> exit = workTimeService.getBaseMapper().selectList(new LambdaQueryWrapper<SysWorkTime>().eq(SysWorkTime::getOrgId, orgId).ge(SysWorkTime::getYmdDate, workTimeList.get(0).getDate()).eq(SysWorkTime::getIsManual, 1));
+        //删除当前时间以后的模板生成的作息
+        sysWorkTimeMapper.delete(new LambdaQueryWrapper<SysWorkTime>().eq(SysWorkTime::getOrgId, orgId).ge(SysWorkTime::getYmdDate, workTimeList.get(0).getDate()).eq(SysWorkTime::getIsManual, 0));
         //去掉workTimeList中orgId和ymd相同的数据
         List<SysWorkTime> list1 = workTimeList.stream().filter(s -> {
             return list.stream().noneMatch(f -> f.getOrgId().equals(s.getOrgId()) && f.getYmdDate().equals(s.getYmd().getDate()));
@@ -496,7 +500,7 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
                 }
             }
         }
-        list1=list1.stream().distinct().collect(Collectors.toList());
+        list1 = list1.stream().distinct().collect(Collectors.toList());
         workTimeService.saveOrUpdateBatch(list1);
 
         return workTimeList;
@@ -558,6 +562,7 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
     public int deleteSysWorkTimeSetById(Long id) {
         return sysWorkTimeSetMapper.deleteById(id);
     }
+
     /**
      * 生成下个月的作息
      */
@@ -582,8 +587,8 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
         calendar.set(Calendar.MONTH, month);
         calendar.set(Calendar.YEAR, year);
         System.out.println("============================ work_time_job 1================== : " + calendar.getTime());
-        List<SysWorkTimeSet> workTimes = this.list(new LambdaQueryWrapper<SysWorkTimeSet>().eq(SysWorkTimeSet::getYear,year));
-        Map<Long,List<SysWorkTimeSet>> group= workTimes.stream()
+        List<SysWorkTimeSet> workTimes = this.list(new LambdaQueryWrapper<SysWorkTimeSet>().eq(SysWorkTimeSet::getYear, year));
+        Map<Long, List<SysWorkTimeSet>> group = workTimes.stream()
                 .sorted(Comparator.comparing(SysWorkTimeSet::getEffectiveDate).reversed())
                 .collect(Collectors.groupingBy(SysWorkTimeSet::getOrgId));
 
@@ -604,25 +609,26 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
         List<SysWorkTime> workTimeEditDtoList = new ArrayList<>();
         for (DateTime time : dateTimeList) {
             Date date1 = time.toJdkDate();
-            System.out.println("date1:"+date1);
+            System.out.println("date1:" + date1);
             //for(Long orgId:group.keySet()) {
-            for(Map.Entry<Long,List<SysWorkTimeSet>> setMap:group.entrySet()){
-                Optional<SysWorkTimeSet> ws=   setMap.getValue().stream().filter(w->date1.after(w.getEffectiveDate())||DateUtil.isSameDay(date1,w.getEffectiveDate())).findFirst();
-                if(!ws.isPresent()){
+            for (Map.Entry<Long, List<SysWorkTimeSet>> setMap : group.entrySet()) {
+                Optional<SysWorkTimeSet> ws = setMap.getValue().stream().filter(w -> date1.after(w.getEffectiveDate()) || DateUtil.isSameDay(date1, w.getEffectiveDate())).findFirst();
+                if (!ws.isPresent()) {
                     continue;
                 }
-                SysWorkTimeSet set=ws.get();
+                SysWorkTimeSet set = ws.get();
                 List<SysWorkTimeSetDayofweek> temp = this.sysWorkTimeSetDayofweekMapper.selectList(new LambdaQueryWrapper<SysWorkTimeSetDayofweek>().eq(SysWorkTimeSetDayofweek::getWorkTimeSetId, set.getId()));
                 set.setDayOfWeeks(temp);
                 Long i = (long) time.dayOfWeek();
-                SysWorkTimeSetDayofweek dayOfWeekSet = temp.stream().filter(e->e.getDayOfWeek().equals(i)).findFirst().orElse(null);;
-                boolean isEnable = ObjectUtil.isNotNull(dayOfWeekSet) && dayOfWeekSet.getIsWorkday()>0;
+                SysWorkTimeSetDayofweek dayOfWeekSet = temp.stream().filter(e -> e.getDayOfWeek().equals(i)).findFirst().orElse(null);
+                ;
+                boolean isEnable = ObjectUtil.isNotNull(dayOfWeekSet) && dayOfWeekSet.getIsWorkday() > 0;
                 SysWorkTime dto = new SysWorkTime();
                 dto.setDate(time);
                 dto.setOrgId(setMap.getKey());
-                dto.setIsEnable(isEnable?1L:0L);
-                if (ObjectUtil.isNull(dayOfWeekSet) || !(dayOfWeekSet.getIsWorkday()>0)) {
-                    Optional<SysWorkTimeSetDayofweek> firstWorkDay = set.getDayOfWeeks().stream().filter(f -> f.getIsWorkday()>0).findFirst();
+                dto.setIsEnable(isEnable ? 1L : 0L);
+                if (ObjectUtil.isNull(dayOfWeekSet) || !(dayOfWeekSet.getIsWorkday() > 0)) {
+                    Optional<SysWorkTimeSetDayofweek> firstWorkDay = set.getDayOfWeeks().stream().filter(f -> f.getIsWorkday() > 0).findFirst();
                     if (firstWorkDay.isPresent()) {
                         dayOfWeekSet = firstWorkDay.orElseGet(SysWorkTimeSetDayofweek::new);
                     }
@@ -639,21 +645,21 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
             }
         }
 
-        Map<Long,List<SysWorkTime>> groupDay= workTimeEditDtoList.stream().collect(Collectors.groupingBy(SysWorkTime::getOrgId));
+        Map<Long, List<SysWorkTime>> groupDay = workTimeEditDtoList.stream().collect(Collectors.groupingBy(SysWorkTime::getOrgId));
         //获取所有机构下个月的按日配置的作息
         List<SysWorkTime> list = new ArrayList<>();
-        list = this.sysWorkTimeMapper.selectList(new LambdaQueryWrapper<SysWorkTime>().eq(SysWorkTime::getIsManual,1L).likeRight(SysWorkTime::getYmdDate,DateUtil.format(start, "yyyy-MM")));
+        list = this.sysWorkTimeMapper.selectList(new LambdaQueryWrapper<SysWorkTime>().eq(SysWorkTime::getIsManual, 1L).likeRight(SysWorkTime::getYmdDate, DateUtil.format(start, "yyyy-MM")));
         /*for(Long orgId:groupDay.keySet()){*/
-        for(Map.Entry<Long,List<SysWorkTime>> dayMap:groupDay.entrySet()){
+        for (Map.Entry<Long, List<SysWorkTime>> dayMap : groupDay.entrySet()) {
             List<SysWorkTime> workTimeEditDtos = dayMap.getValue();//groupDay.get(orgId);
             List<SysWorkTime> workTimeNewVos = list.stream().filter(w -> w.getOrgId().equals(dayMap.getKey())).collect(Collectors.toList());
             //去掉workTimeEditDtos中机构与日期在workTimeNewVos中存在的数据
             List<SysWorkTime> list1 = null;
-            if(org.apache.commons.collections4.CollectionUtils.isNotEmpty(workTimeNewVos)){
+            if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(workTimeNewVos)) {
                 list1 = workTimeEditDtos.stream().filter(s -> {
                     return workTimeNewVos.stream().noneMatch(f -> f.getOrgId().equals(s.getOrgId()) && f.getYmdDate().equals(s.getDate()));
                 }).collect(Collectors.toList());
-            }else{
+            } else {
                 list1 = workTimeEditDtos;
             }
 
@@ -661,6 +667,7 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
         }
 
     }
+
     /**
      * @param orgId
      * @param month
@@ -691,7 +698,7 @@ public class SysWorkTimeSetServiceImpl extends ServiceImpl<SysWorkTimeSetMapper,
             BeanHelper.copyProperties(workTime, workTimeEditDto);
             workTime.setIsManual(0L);
             workTime.setIsEnable(workTimeEditDto.getIsEnable());
-            if(!(workTimeEditDto.getIsEnable()>0)){
+            if (!(workTimeEditDto.getIsEnable() > 0)) {
                 workTime.setWorkTime(null);
                 workTime.setWorkOffTime(null);
                 workTime.setOpenTime(null);