Selaa lähdekoodia

换班审核通过后修改用户之前的排版信息

yejian016332 3 vuotta sitten
vanhempi
commit
8f93da2db6

+ 3 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/classSchedule/dao/ScheduleUserDateMapper.java

@@ -21,4 +21,7 @@ import java.util.Map;
 public interface ScheduleUserDateMapper extends SuperMapper<ScheduleUserDate> {
 
     List<Map<String,Object>> selectSql(String sql);
+
+    void updateUserChange(Map params);
+
 }

+ 3 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/classSchedule/service/ScheduleUserDateService.java

@@ -33,4 +33,7 @@ public interface ScheduleUserDateService extends SuperService<ScheduleUserDate>
 
 
     ScheduleUserDate clearSchedule(ScheduleUserDateSaveDTO  data);
+
+    void updateUserChange(Map params);
+
 }

+ 28 - 3
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/classSchedule/service/impl/ScheduleUserChangeServiceImpl.java

@@ -31,9 +31,7 @@ import java.sql.Wrapper;
 import java.time.LocalDate;
 import java.time.LocalDateTime;
 import java.time.format.DateTimeFormatter;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
+import java.util.*;
 import java.util.stream.Collectors;
 
 import static com.github.zuihou.utils.BizAssert.isFalse;
@@ -58,6 +56,7 @@ public class ScheduleUserChangeServiceImpl extends SuperServiceImpl<ScheduleUser
     @Autowired
     ScheduleFrequencyService scheduleFrequencyService;
 
+
     @Override
     // 启用属性自动注入
     @InjectionResult
@@ -187,6 +186,32 @@ public class ScheduleUserChangeServiceImpl extends SuperServiceImpl<ScheduleUser
         if("2".equals(auditStatus)||"3".equals(auditStatus)){
             bean.setAuditUser(sysUser.getId());
             bean.setAuditTime(LocalDateTime.now());
+
+            // 如果审核通过,将申请人和换班人的班次信息互换
+            if("2".equals(auditStatus)){
+                // 查询换班申请信息
+                List<ScheduleUserChangeDate> applyUserDatas = scheduleUserChangeDateService.list(Wraps.<ScheduleUserChangeDate>lbQ().eq(ScheduleUserChangeDate::getChangeId,oriScheduleUserChange.getId()).eq(ScheduleUserChangeDate::getType,"1"));
+                // 查询被换班人员信息
+                List<ScheduleUserChangeDate> changeUserDatas = scheduleUserChangeDateService.list(Wraps.<ScheduleUserChangeDate>lbQ().eq(ScheduleUserChangeDate::getChangeId,oriScheduleUserChange.getId()).eq(ScheduleUserChangeDate::getType,"2"));
+                // 更新申请人班次信息
+                for(ScheduleUserChangeDate applyUser : applyUserDatas){
+                    Map params = new HashMap();
+                    params.put("userId",oriScheduleUserChange.getApplyUserId());
+                    params.put("applyTime",oriScheduleUserChange.getApplyTime());
+                    params.put("frequencyId",applyUser.getFrequencyId());
+                    params.put("changeUserId",oriScheduleUserChange.getChangeUserId());
+                    scheduleUserDateService.updateUserChange(params);
+                }
+                // 更新被换班人班次信息
+                for(ScheduleUserChangeDate changeUser : changeUserDatas){
+                    Map params = new HashMap();
+                    params.put("userId",oriScheduleUserChange.getChangeUserId());
+                    params.put("applyTime",oriScheduleUserChange.getChangeTime());
+                    params.put("frequencyId",changeUser.getFrequencyId());
+                    params.put("changeUserId",oriScheduleUserChange.getApplyUserId());
+                    scheduleUserDateService.updateUserChange(params);
+                }
+            }
         }
         updateById(bean);
         return bean;

+ 6 - 0
imcs-admin-boot/imcs-business-biz/src/main/java/com/github/zuihou/business/classSchedule/service/impl/ScheduleUserDateServiceImpl.java

@@ -207,4 +207,10 @@ public class ScheduleUserDateServiceImpl extends SuperServiceImpl<ScheduleUserDa
                 in(ScheduleUserDate::getDate,data.getDateList()));
         return null;
     }
+
+    @Override
+    public void updateUserChange(Map params) {
+        baseMapper.updateUserChange(params);
+    }
+
 }

+ 4 - 0
imcs-admin-boot/imcs-business-biz/src/main/resources/mapper_business/base/classSchedule/ScheduleUserDateMapper.xml

@@ -19,9 +19,13 @@
         id,create_time,create_user,update_time,update_user,
         user_id, frequency_id, date
     </sql>
+
     <select id="selectSql" parameterType="String" resultType="map">
           ${sql}
     </select>
 
+    <update id="updateUserChange">
+        update imcs_s_schedule_user_date set user_id = #{changeUserId} where user_id = #{userId} and frequency_id =  #{frequencyId} and date = #{applyTime}
+    </update>
 
 </mapper>